嵌入式系统--使用HCS12微控制器的设计与应用2本章目录4.1HCS12开发环境4.2嵌入式系统工程文件组织4.3MT环境下的第一个汇编工程4.4MT环境下的第一个C工程4.5CW环境下的第一个汇编工程4.6CW环境下的第一个C工程4.7MT环境与CW环境的工程互移说明嵌入式系统--使用HCS12微控制器的设计与应用34.1HCS12开发环境苏州大学MT-IDEforHCS12集成开发环境简称MT环境Freescale公司CodeWarriorforHCS12集成开发环境简称CW环境嵌入式系统--使用HCS12微控制器的设计与应用4MT环境功能和特点友好的人机界面扩展性强MT环境安装MT-IDE12的安装USB驱动的安装4.1HCS12开发环境4.1.1MT-IDEforHCS12集成开发环境标题栏当前打开文件名菜单栏自定义工具栏工程窗口编辑窗口编译调试状态窗口嵌入式系统--使用HCS12微控制器的设计与应用54.1HCS12开发环境4.1.2CodeWarriorforHCS12集成开发环境CW环境功能和特点三个版本CW环境安装安装后需要上网注册嵌入式系统--使用HCS12微控制器的设计与应用64.2嵌入式系统工程文件4.2.1嵌入式系统工程文件组织DG128映像寄存器名定义头文件芯片初始化函数程序文件芯片初始化头文件中断向量表文件中断处理程序文件工程启动文件小灯驱动头文件小灯驱动文件主程序文件芯片相关的程序文件硬件对象控制文件通用程序文件总头文件通用函数文件小灯闪烁程序嵌入式系统--使用HCS12微控制器的设计与应用74.2嵌入式系统工程文件4.2.1嵌入式系统工程文件组织工程文件编译列表文件(.LST)目标代码文件(.S19)嵌入式系统--使用HCS12微控制器的设计与应用84.2嵌入式系统工程文件4.2.2列表文件(*.LIS或*.LST)4036:1801ae10movw1019403a:19403b:7f1019sts1019_.frame403e:a7nop…………列表文件的行内容格式:地址目标代码汇编指令嵌入式系统--使用HCS12微控制器的设计与应用94.2嵌入式系统工程文件4.2.3目标代码文件(*.S19)S01E00002E2F4F424A2F4330315F4447313238B3CCD0F2BFF2BCDC2E733139BCS1134000A7CF1FFF79003C1640F01801AE1D06181B…S113FFF0400A400A400A400A400A400A400A4000B7S9034000BC目标代码文件是以S记录(八种)格式表示的机器码文件类型记录长度地址编码/数据校验和2字节2字节2、3或4字节0~n字节1字节嵌入式系统--使用HCS12微控制器的设计与应用104.2嵌入式系统工程文件4.2.4与链接相关的地址信息文件表4-1段的功能描述段标号段名描述.text代码段这部分的内容需要写在MCU的FLASH中,通常默认的是$4000起始地址处。用户可以修改该文件中MEMORY和SECTIONS的相应部分来修改此值。.data标准数据段可以用来初始化全局和静态变量.bss未初始化全局和静态变量段跟在.data段之后.rodata只读数据段定位在.text段之后,用来存放一些不会修改的常量数据,如字符串或跳转表等.eepromEEPROM段需要放入68HC(S)12的EEPROM区的内容.vectors向量表该表的默认装入地址是$ffc0;通过使用“-defsymvectors_addr=addr”的链接选项,可以重新设定向量表的地址嵌入式系统--使用HCS12微控制器的设计与应用114.3MT环境下的第一个汇编工程4.3.1小灯闪烁汇编工程在MT环境下的文件组织通用函数源文件中断处理函数源文件小灯驱动函数源文件主函数芯片初始化函数源文件工程启动文件中断向量表文件MCU映像寄存器名定义头文件总头文件小灯驱动头文件芯片初始化头文件地址链接文件工程说明文件嵌入式系统--使用HCS12微控制器的设计与应用124.3MT环境下的第一个汇编工程4.3.1小灯闪烁汇编工程在MT环境下的文件组织1.与芯片相关的程序文件DG128ASM.h--定义芯片映像寄存器名Vector.s--定义中断向量表Isr.s--中断处理子程序Start12.s--系统启动文件MCUInit.h--芯片初始化头文件MCUInit.s--芯片初始化文件嵌入式系统--使用HCS12微控制器的设计与应用134.3MT环境下的第一个汇编工程4.3.1小灯闪烁汇编工程在MT环境下的文件组织2.硬件对象控制文件LED.h–小灯控制引脚宏定义包含小灯驱动所需头文件小灯控制引脚宏定义小灯驱动子程序声明LED.s–小灯驱动子程序定义子程序LEDInit:初始化定义子程序LED_L_A:驱动小灯亮,暗嵌入式系统--使用HCS12微控制器的设计与应用144.3MT环境下的第一个汇编工程4.3.1小灯闪烁汇编工程在MT环境下的文件组织3.通用程序文件Includes.h–总头文件工程中用到的头文件有关常量命名GeneralFun.s–通用子程序定义子程序DelayX:延时嵌入式系统--使用HCS12微控制器的设计与应用154.3MT环境下的第一个汇编工程4.3.1小灯闪烁汇编工程在MT环境下的文件组织4.主程序文件main.s–主程序工程描述包含总头文件主程序内部直接调用子程序嵌入式系统--使用HCS12微控制器的设计与应用164.3MT环境下的第一个汇编工程子程序编写规范(以LED.s为例)/*[LED.s]小灯驱动-------------------------------------**本文件包含:**(1)LEDInit:定义控制小灯的MCU的I/O引脚为输出**(2)LED_L_A:驱动小灯亮,暗**硬件连接:**(1)本处的小灯是一个发光二极管,由MCU的I/O引脚控制**(2)控制引脚为高电平时,小灯暗;反之,小灯亮**----------------------------------------------------*/.includeLED.h/*小灯驱动头文件*//*LEDInit:定义控制小灯的MCU引脚为输出-----------------**功能:定义控制小灯的MCU引脚为输出,并使小灯初始为暗**入口:无**出口:无**堆栈深度:2**----------------------------------------------------*/LEDInit:BSETLight_D,Light_Pin/*令小灯引脚为输出*/BSETLight_P,Light_Pin/*初始时,小灯暗*/RTS子程序文件描述头文件子程序1说明子程序1代码子程序2说明…………嵌入式系统--使用HCS12微控制器的设计与应用174.3MT环境下的第一个汇编工程4.3.2MT环境下第一个汇编工程的链接信息文件链接信息文件linker.ld链接有两种模式内存直接模式内存扩展模式嵌入式系统--使用HCS12微控制器的设计与应用184.3MT环境下的第一个汇编工程4.3.3MT环境下第一个汇编工程的执行过程vectors.s文件…………………….word_startMCU复位Start12.s文件_start:…………jsr_mainmain.s文件_main:…………嵌入式系统--使用HCS12微控制器的设计与应用194.4MT环境下的第一个C工程4.4.1小灯闪烁C工程在MT环境下的文件组织MCU映像寄存器名定义头文件通用函数头文件总头文件中断处理函数头文件小灯驱动头文件芯片初始化头文件类型别名定义通用函数源文件中断处理函数源文件小灯驱动函数源文件主函数芯片初始化函数源文件中断向量表文件工程启动文件地址链接文件工程说明文件嵌入式系统--使用HCS12微控制器的设计与应用204.4MT环境下的第一个C工程4.4.2MT环境下第一个C工程的链接信息文件链接信息文件linker.ld内容与汇编链接信息相同嵌入式系统--使用HCS12微控制器的设计与应用214.4MT环境下的第一个C工程4.4.3MT环境下第一个C工程的执行过程vectors.c文件void(*constvector[])()={…………_start};MCU复位Start12.s文件_start:…………jsrmainmain.c文件intmain(){…………}嵌入式系统--使用HCS12微控制器的设计与应用224.5CW环境下的第一个汇编工程4.5.1小灯闪烁汇编工程在CW环境下的文件组织4.5.2CW环境下第一个汇编工程中的链接信息文件4.5.3CW环境下第一个汇编工程的执行过程嵌入式系统--使用HCS12微控制器的设计与应用234.6CW环境下的第一个C工程4.6.1小灯闪烁C工程在CW环境下的文件组织4.6.2CW环境下第一个C工程中的链接信息文件4.6.3CW环境下第一个C工程的执行过程嵌入式系统--使用HCS12微控制器的设计与应用244.7MT环境与CW环境的工程互移说明映像寄存器名C工程中调用汇编语句的格式中断函数的声明嵌入式系统--使用HCS12微控制器的设计与应用25谢谢!Ver1.0