工程组织及第一个样例程序.ppt
1嵌入式系统-使用HCS12微控制器的设计与应用本章目录4.1 HCS12开发环境4.2 嵌入式系统工程文件组织4.3 MT环境下的第一个汇编工程4.4 MT环境下的第一个C工程4.5 CW环境下的第一个汇编工程4.6 CW环境下的第一个C工程4.7 MT环境与CW环境的工程互移说明 2嵌入式系统嵌入式系统-使用使用HCS12微控制器的设计与应用微控制器的设计与应用4.1 HCS124.1 HCS12开发环境开发环境 苏州大学uu MT-IDE for HCS12 MT-IDE for HCS12集成开发环境集成开发环境 uu 简称简称MTMT环境环境 Freescale公司uu Code Warrior for HCS12 Code Warrior for HCS12集成开发环境集成开发环境 uu 简称简称CWCW环境环境3嵌入式系统嵌入式系统-使用使用HCS12微控制器的设计与应用微控制器的设计与应用 MT环境功能和特点uu 友好的人机界面友好的人机界面 uu 扩展性强扩展性强 MT环境安装uu MT-IDE12 MT-IDE12的安装的安装 uu USBUSB驱动的安装驱动的安装4.1 HCS124.1 HCS12开发环境开发环境4.1.1 MT-IDE for HCS124.1.1 MT-IDE for HCS12集成开发环境集成开发环境 4嵌入式系统嵌入式系统-使用使用HCS12微控制器的设计与应用微控制器的设计与应用4.1 HCS124.1 HCS12开发环境开发环境4.1.2 Code Warrior for HCS124.1.2 Code Warrior for HCS12集成开发环境集成开发环境 CW环境功能和特点uu 三个版本三个版本 CW环境安装uu 安装后需要上网注册安装后需要上网注册5嵌入式系统嵌入式系统-使用使用HCS12微控制器的设计与应用微控制器的设计与应用4.2 4.2 嵌入式系统工程文件嵌入式系统工程文件4.2.1 4.2.1 嵌入式系统工程文件组织嵌入式系统工程文件组织 DG128映像寄存器名定义头文件映像寄存器名定义头文件芯片初始化函数程序文件芯片初始化函数程序文件芯片初始化头文件芯片初始化头文件中断向量表文件中断向量表文件中断处理程序文件中断处理程序文件工程启动文件工程启动文件 小灯驱动头文件小灯驱动头文件小灯小灯驱动文件驱动文件主程序文件主程序文件芯片相关的程序文件芯片相关的程序文件硬件对象控制文件硬件对象控制文件通用程序文件通用程序文件 总头文件总头文件通用函数文件通用函数文件小灯闪烁程序小灯闪烁程序6嵌入式系统嵌入式系统-使用使用HCS12微控制器的设计与应用微控制器的设计与应用4.2 4.2 嵌入式系统工程文件嵌入式系统工程文件4.2.1 4.2.1 嵌入式系统工程文件组织嵌入式系统工程文件组织 工程工程文件文件编译编译7嵌入式系统嵌入式系统-使用使用HCS12微控制器的设计与应用微控制器的设计与应用4.2 4.2 嵌入式系统工程文件嵌入式系统工程文件4.2.2 4.2.2 列表文件列表文件(*.LIS(*.LIS或或*.LST).LST)4036:18 01 ae 10movw1019403a:19403b:7f 10 19sts1019 403e:a7nop列表文件的行内容格式:列表文件的行内容格式:地址地址 目标代码目标代码 汇编指令汇编指令8嵌入式系统嵌入式系统-使用使用HCS12微控制器的设计与应用微控制器的设计与应用4.2 4.2 嵌入式系统工程文件嵌入式系统工程文件4.2.3 4.2.3 4.2.3 4.2.3 目标代码文件目标代码文件目标代码文件目标代码文件(*.S19)(*.S19)(*.S19)(*.S19)S01E00002E2F4F424A2F4330315F4447313238B3CCD0F2BFF2BCDC2E733139BCS1134000A7CF1FFF79003C1640F01801AE1D06181BS113FFF0400A400A400A400A400A400A400A4000B7S9034000BC目标代码文件是以目标代码文件是以S S记录记录记录记录(八种)格式表示的机器码文件(八种)格式表示的机器码文件类型类型类型类型记录长度记录长度记录长度记录长度地地地地 址址址址编码编码编码编码/数据数据数据数据校验和校验和校验和校验和2 2 2 2字节字节字节字节2 2 2 2字节字节字节字节2 2 2 2、3 3 3 3或或或或4 4 4 4字节字节字节字节0 0 0 0 n n n n字节字节字节字节1 1 1 1字节字节字节字节9嵌入式系统嵌入式系统-使用使用HCS12微控制器的设计与应用微控制器的设计与应用4.2 4.2 嵌入式系统工程文件嵌入式系统工程文件4.2.4 4.2.4 4.2.4 4.2.4 与链接相关的地址信息文件与链接相关的地址信息文件与链接相关的地址信息文件与链接相关的地址信息文件 表表表表4-1 4-1 段的功能描述段的功能描述段的功能描述段的功能描述段标号段标号段标号段标号段名段名段名段名描述描述描述描述.text.text代码段代码段代码段代码段这部分的内容需要写在这部分的内容需要写在这部分的内容需要写在这部分的内容需要写在MCUMCU的的的的FLASHFLASH中,通常默认的中,通常默认的中,通常默认的中,通常默认的是是是是$4000$4000起始地址处。用户可以修改该文件中起始地址处。用户可以修改该文件中起始地址处。用户可以修改该文件中起始地址处。用户可以修改该文件中MEMORYMEMORY和和和和SECTIONSSECTIONS的相应部分来修改此值。的相应部分来修改此值。的相应部分来修改此值。的相应部分来修改此值。.data.data标准数据段标准数据段标准数据段标准数据段可以用来初始化全局和静态变量可以用来初始化全局和静态变量可以用来初始化全局和静态变量可以用来初始化全局和静态变量.bss.bss未初始化全局和未初始化全局和未初始化全局和未初始化全局和静态变量段静态变量段静态变量段静态变量段跟在跟在跟在跟在.data.data段之后段之后段之后段之后.rodata.rodata只读数据段只读数据段只读数据段只读数据段定位在定位在定位在定位在.text.text段之后,用来存放一些不会修改的常量数据,段之后,用来存放一些不会修改的常量数据,段之后,用来存放一些不会修改的常量数据,段之后,用来存放一些不会修改的常量数据,如字符串或跳转表等如字符串或跳转表等如字符串或跳转表等如字符串或跳转表等.eeprom.eepromEEPROMEEPROM段段段段需要放入需要放入需要放入需要放入68HC(S)1268HC(S)12的的的的EEPROMEEPROM区的内容区的内容区的内容区的内容.vectors.vectors向量表向量表向量表向量表该表的默认装入地址是该表的默认装入地址是该表的默认装入地址是该表的默认装入地址是$ffc0$ffc0;通过使用;通过使用;通过使用;通过使用“-defsym-defsym vectors_addr=addr”vectors_addr=addr”的链接选项,可以重新设定向量表的链接选项,可以重新设定向量表的链接选项,可以重新设定向量表的链接选项,可以重新设定向量表的地址的地址的地址的地址10嵌入式系统嵌入式系统-使用使用HCS12微控制器的设计与应用微控制器的设计与应用4.3 MT4.3 MT环境下的第一个汇编工程环境下的第一个汇编工程4.3.1 4.3.1 4.3.1 4.3.1 小灯闪烁汇编工程在小灯闪烁汇编工程在小灯闪烁汇编工程在小灯闪烁汇编工程在MTMTMTMT环境下的文件组织环境下的文件组织环境下的文件组织环境下的文件组织 通用函数源文件通用函数源文件中断处理函数源文件中断处理函数源文件小灯驱动函数源文件小灯驱动函数源文件主函数主函数芯片初始化函数源文件芯片初始化函数源文件工程启动文件工程启动文件中断向量表文件中断向量表文件MCU映像寄存器名定义头文件映像寄存器名定义头文件总头文件总头文件小灯驱动头文件小灯驱动头文件芯片初始化头文件芯片初始化头文件地址链接文件地址链接文件工程说明文件工程说明文件11嵌入式系统嵌入式系统-使用使用HCS12微控制器的设计与应用微控制器的设计与应用4.3 MT4.3 MT环境下的第一个汇编工程环境下的第一个汇编工程4.3.1 4.3.1 4.3.1 4.3.1 小灯闪烁汇编工程在小灯闪烁汇编工程在小灯闪烁汇编工程在小灯闪烁汇编工程在MTMTMTMT环境下的文件组织环境下的文件组织环境下的文件组织环境下的文件组织 1.1.与芯片相关的程序文件与芯片相关的程序文件uu DG128ASM.h-DG128ASM.h-DG128ASM.h-DG128ASM.h-定义芯片映像寄存器名定义芯片映像寄存器名定义芯片映像寄存器名定义芯片映像寄存器名uu Vector.sVector.sVector.sVector.s-定义中断向量表定义中断向量表定义中断向量表定义中断向量表uu Isr.sIsr.sIsr.sIsr.s-中断处理子程序中断处理子程序中断处理子程序中断处理子程序uu Start12.s-Start12.s-Start12.s-Start12.s-系统启动文件系统启动文件系统启动文件系统启动文件uu MCUInit.hMCUInit.hMCUInit.hMCUInit.h-芯片初始化头文件芯片初始化头文件芯片初始化头文件芯片初始化头文件uu MCUInit.sMCUInit.sMCUInit.sMCUInit.s-芯片初始化文件芯片初始化文件芯片初始化文件芯片初始化文件12嵌入式系统嵌入式系统-使用使用HCS12微控制器的设计与应用微控制器的设计与应用4.3 MT4.3 MT环境下的第一个汇编工程环境下的第一个汇编工程4.3.1 4.3.1 4.3.1 4.3.1 小灯闪烁汇编工程在小灯闪烁汇编工程在小灯闪烁汇编工程在小灯闪烁汇编工程在MTMTMTMT环境下的文件组织环境下的文件组织环境下的文件组织环境下的文件组织 2.2.硬件对象控制文件硬件对象控制文件uu LED.hLED.h 小灯控制引脚宏定义小灯控制引脚宏定义 包含小灯驱动所需头文件包含小灯驱动所需头文件包含小灯驱动所需头文件包含小灯驱动所需头文件 小灯控制引脚宏定义小灯控制引脚宏定义小灯控制引脚宏定义小灯控制引脚宏定义 小灯驱动子程序声明小灯驱动子程序声明小灯驱动子程序声明小灯驱动子程序声明uu LED.sLED.s 小灯驱动子程序小灯驱动子程序 定义子程序定义子程序定义子程序定义子程序LEDInitLEDInitLEDInitLEDInit:初始化:初始化:初始化:初始化 定义子程序定义子程序定义子程序定义子程序LED_L_ALED_L_ALED_L_ALED_L_A:驱动小灯:驱动小灯:驱动小灯:驱动小灯 亮亮亮亮,暗暗暗暗 13嵌入式系统嵌入式系统-使用使用HCS12微控制器的设计与应用微控制器的设计与应用4.3 MT4.3 MT环境下的第一个汇编工程环境下的第一个汇编工程4.3.1 4.3.1 4.3.1 4.3.1 小灯闪烁汇编工程在小灯闪烁汇编工程在小灯闪烁汇编工程在小灯闪烁汇编工程在MTMTMTMT环境下的文件组织环境下的文件组织环境下的文件组织环境下的文件组织 3.3.通用程序文件通用程序文件uu Includes.hIncludes.h 总头文件总头文件 工程中用到的头文件工程中用到的头文件工程中用到的头文件工程中用到的头文件 有关常量命名有关常量命名有关常量命名有关常量命名uu GeneralFun.sGeneralFun.s 通用子程序通用子程序 定义子程序定义子程序定义子程序定义子程序DelayXDelayXDelayXDelayX:延时:延时:延时:延时14嵌入式系统嵌入式系统-使用使用HCS12微控制器的设计与应用微控制器的设计与应用4.3 MT4.3 MT环境下的第一个汇编工程环境下的第一个汇编工程4.3.1 4.3.1 4.3.1 4.3.1 小灯闪烁汇编工程在小灯闪烁汇编工程在小灯闪烁汇编工程在小灯闪烁汇编工程在MTMTMTMT环境下的文件组织环境下的文件组织环境下的文件组织环境下的文件组织 4.4.主程序文件主程序文件uu main.smain.s 主程序主程序 工程描述工程描述工程描述工程描述 包含总头文件包含总头文件包含总头文件包含总头文件 主程序主程序主程序主程序 内部直接调用子程序内部直接调用子程序内部直接调用子程序内部直接调用子程序15嵌入式系统嵌入式系统-使用使用HCS12微控制器的设计与应用微控制器的设计与应用4.3 MT4.3 MT环境下的第一个汇编工程环境下的第一个汇编工程子程序编写规范子程序编写规范(以(以 LED.s LED.s 为例)为例)/*LED.s/*LED.s/*LED.s/*LED.s小灯驱动小灯驱动小灯驱动小灯驱动-*-*-*-*本文件包含本文件包含本文件包含本文件包含:*:*:*:*(1)LEDInit:*(1)LEDInit:*(1)LEDInit:*(1)LEDInit:定义控制小灯的定义控制小灯的定义控制小灯的定义控制小灯的MCUMCUMCUMCU的的的的I/OI/OI/OI/O引脚为输出引脚为输出引脚为输出引脚为输出 *(2)LED_L_A:(2)LED_L_A:(2)LED_L_A:(2)LED_L_A:驱动小灯驱动小灯驱动小灯驱动小灯 亮亮亮亮,暗暗暗暗 *硬件连接硬件连接硬件连接硬件连接:*:*:*:*(1)*(1)*(1)*(1)本处的小灯是一个发光二极管本处的小灯是一个发光二极管本处的小灯是一个发光二极管本处的小灯是一个发光二极管,由由由由MCUMCUMCUMCU的的的的I/OI/OI/OI/O引脚控制引脚控制引脚控制引脚控制 *(2)(2)(2)(2)控制引脚为高电平时控制引脚为高电平时控制引脚为高电平时控制引脚为高电平时,小灯小灯小灯小灯 暗暗暗暗;反之反之反之反之,小灯小灯小灯小灯 亮亮亮亮 *-*/*-*/*-*/*-*/.include LED.h /*.include LED.h /*.include LED.h /*.include LED.h /*小灯驱动头文件小灯驱动头文件小灯驱动头文件小灯驱动头文件*/*LEDInit:/*LEDInit:/*LEDInit:/*LEDInit:定义控制小灯的定义控制小灯的定义控制小灯的定义控制小灯的MCUMCUMCUMCU引脚为输出引脚为输出引脚为输出引脚为输出-*-*-*-*功功功功 能能能能:定义控制小灯的定义控制小灯的定义控制小灯的定义控制小灯的MCUMCUMCUMCU引脚为输出引脚为输出引脚为输出引脚为输出,并使小灯初始为暗并使小灯初始为暗并使小灯初始为暗并使小灯初始为暗 *入入入入 口口口口:无无无无 *出出出出 口口口口:无无无无 *堆栈深度堆栈深度堆栈深度堆栈深度:2 *:2 *:2 *:2 *-*/*-*/*-*/*-*/LEDInit:LEDInit:LEDInit:LEDInit:BSET Light_D,Light_Pin /*BSET Light_D,Light_Pin /*BSET Light_D,Light_Pin /*BSET Light_D,Light_Pin /*令小灯引脚为输出令小灯引脚为输出令小灯引脚为输出令小灯引脚为输出*/BSET Light_P,Light_Pin /*BSET Light_P,Light_Pin /*BSET Light_P,Light_Pin /*BSET Light_P,Light_Pin /*初始时,小灯初始时,小灯初始时,小灯初始时,小灯 暗暗暗暗*/*/*/*/RTS RTS RTS RTS子程序文件子程序文件描述描述头文件头文件子程序子程序1说明说明子程序子程序1代码代码子程序子程序2说明说明16嵌入式系统嵌入式系统-使用使用HCS12微控制器的设计与应用微控制器的设计与应用4.3 MT4.3 MT环境下的第一个汇编工程环境下的第一个汇编工程4.3.2 MT4.3.2 MT环境下第一个汇编工程的链接信息文件环境下第一个汇编工程的链接信息文件 链接信息文件linker.ld 链接有两种模式uu 内存直接模式内存直接模式 uu 内存扩展模式内存扩展模式17嵌入式系统嵌入式系统-使用使用HCS12微控制器的设计与应用微控制器的设计与应用4.3 MT4.3 MT环境下的第一个汇编工程环境下的第一个汇编工程4.3.3 MT4.3.3 MT环境下第一个汇编工程的执行过程环境下第一个汇编工程的执行过程vectors.s文件.word _start MCUMCU复位复位Start12.s文件_start:jsr _mainmain.s文件_main:18嵌入式系统嵌入式系统-使用使用HCS12微控制器的设计与应用微控制器的设计与应用4.4 MT4.4 MT环境下的第一个环境下的第一个C C工程工程4.4.1 4.4.1 小灯闪烁小灯闪烁C C工程在工程在MTMT环境下的文件组织环境下的文件组织MCU映像寄存器名定义头文件映像寄存器名定义头文件通用函数头文件通用函数头文件总头文件总头文件中断处理函数头文件中断处理函数头文件小灯驱动头文件小灯驱动头文件芯片初始化头文件芯片初始化头文件类型别名定义类型别名定义通用函数源文件通用函数源文件中断处理函数源文件中断处理函数源文件小灯驱动函数源文件小灯驱动函数源文件主函数主函数芯片初始化函数源文件芯片初始化函数源文件中断向量表文件中断向量表文件工程启动文件工程启动文件地址链接文件地址链接文件工程说明文件工程说明文件19嵌入式系统嵌入式系统-使用使用HCS12微控制器的设计与应用微控制器的设计与应用4.4 MT4.4 MT环境下的第一个环境下的第一个C C工程工程4.4.2 MT4.4.2 MT环境下第一个环境下第一个C C工程的链接信息文件工程的链接信息文件 链接信息文件linker.ld 内容与汇编链接信息相同20嵌入式系统嵌入式系统-使用使用HCS12微控制器的设计与应用微控制器的设计与应用4.4 MT4.4 MT环境下的第一个环境下的第一个C C工程工程4.4.3 MT4.4.3 MT环境下第一个环境下第一个C C工程的执行过程工程的执行过程vectors.c文件void(*const vector)()=void(*const vector)()=void(*const vector)()=void(*const vector)()=_start_start_start_start;MCUMCU复位复位Start12.sStart12.s文件文件_start:_start:jsr mainjsr mainmain.c文件int main()int main()21嵌入式系统嵌入式系统-使用使用HCS12微控制器的设计与应用微控制器的设计与应用4.5 CW4.5 CW环境下的第一个汇编工程环境下的第一个汇编工程4.5.1 4.5.1 4.5.1 4.5.1 小灯闪烁汇编工程在小灯闪烁汇编工程在小灯闪烁汇编工程在小灯闪烁汇编工程在CWCWCWCW环境下的文件组织环境下的文件组织环境下的文件组织环境下的文件组织4.5.2 CW4.5.2 CW4.5.2 CW4.5.2 CW环境下第一个汇编工程中的链接信息文件环境下第一个汇编工程中的链接信息文件环境下第一个汇编工程中的链接信息文件环境下第一个汇编工程中的链接信息文件4.5.3 CW4.5.3 CW4.5.3 CW4.5.3 CW环境下第一个汇编工程的执行过程环境下第一个汇编工程的执行过程环境下第一个汇编工程的执行过程环境下第一个汇编工程的执行过程22嵌入式系统嵌入式系统-使用使用HCS12微控制器的设计与应用微控制器的设计与应用4.6 CW4.6 CW环境下的第一个环境下的第一个C C工程工程4.6.1 4.6.1 4.6.1 4.6.1 小灯闪烁小灯闪烁小灯闪烁小灯闪烁C C C C工程在工程在工程在工程在CWCWCWCW环境下的文件组织环境下的文件组织环境下的文件组织环境下的文件组织4.6.2 CW4.6.2 CW4.6.2 CW4.6.2 CW环境下第一个环境下第一个环境下第一个环境下第一个C C C C工程中的链接信息文件工程中的链接信息文件工程中的链接信息文件工程中的链接信息文件4.6.3 CW4.6.3 CW4.6.3 CW4.6.3 CW环境下第一个环境下第一个环境下第一个环境下第一个C C C C工程的执行过程工程的执行过程工程的执行过程工程的执行过程23嵌入式系统嵌入式系统-使用使用HCS12微控制器的设计与应用微控制器的设计与应用4.7 MT4.7 MT环境与环境与CWCW环境的工程互移说明环境的工程互移说明 映像寄存器名 C工程中调用汇编语句的格式 中断函数的声明24嵌入式系统嵌入式系统-使用使用HCS12微控制器的设计与应用微控制器的设计与应用谢谢 谢!谢!Ver 1.025嵌入式系统嵌入式系统-使用使用HCS12微控制器的设计与应用微控制器的设计与应用