《源程序编译》PPT课件.ppt

上传人:小飞机 文档编号:5636234 上传时间:2023-08-04 格式:PPT 页数:24 大小:2.08MB
返回 下载 相关 举报
《源程序编译》PPT课件.ppt_第1页
第1页 / 共24页
《源程序编译》PPT课件.ppt_第2页
第2页 / 共24页
《源程序编译》PPT课件.ppt_第3页
第3页 / 共24页
《源程序编译》PPT课件.ppt_第4页
第4页 / 共24页
《源程序编译》PPT课件.ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《《源程序编译》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《源程序编译》PPT课件.ppt(24页珍藏版)》请在三一办公上搜索。

1、第6章 源程序编译及调试,嵌入式技术基础与实践,本章首先介绍上述两种开发环境及其使用方法,在此基础上,详细讲述汇编及08C源程序编译过程,编译时产生的相关文件,最后阐述在线调试方法。,6.1 MT-IDE集成开发套件,集成开发套件由硬件系统和软件系统组成。硬件系统包括写入调试器、核心板和扩展板,软件系统完成源程序编辑、工程管理、编译,通过USB接口与写入调试器通信、下载及调试等功能。,6.1.1 硬件平台,MT-IDE通用开发套件硬件及接口部分主要包括扩展板MT-Extend Board I、核心板MT-Core和HC08写入调试器MT-Programmer三个部分。,MTExtend Boa

2、rd I型扩展板实物图,MC908GP32CB核心板实物图,6.1.2 软件概述,(1)MT-IDE软件系统的功能和特点 具体功能如下:支持Freescale HC08系列的所有MCU 以工程的方式管理文件 支持C和汇编语言的源文件编辑、编译 支持HC08系列MCU的Flash操作(擦除写入和读出)支持C和汇编语言的断点调试与单步调试 支持内存与寄存器观察 支持S-Record文件,(2)MT-IDE软件系统的安装安装MT-IDE软件 当成功安装本软件后,将会在安装目录下产生如下文件夹:bin:可执行程序文件夹。Docs:说明文档文件夹。包含软件使用的说明文档。Include:08C头文件夹。

3、包含08C编译器用到的C的头文件。Lib:08C库文件夹。包含08C链接时用到的库文件。Stationary:框架程序文件夹。包含各种芯片的基本的框架程序,在新建工程时,作为空工程的模板。安装USB驱动,6.2 MT-IDE集成开发环境的使用,运行第一个汇编工程实例 在08教学资料目录下的“MT-HC(S)08ProgramV2007”文件夹中,存放了本书中出现的所有实例工程,如果需要运行这些程序,可以将这个文件夹拷贝到用户的工作目录下。注意,若要调试某个工程,不要在“MT-HC(S)08ProgramV2007”文件夹中直接运行,而应将相应的工程做一个备份,然后调试、运行这个备份工程。始终保

4、留一个最近调试成功的工程,而每次修改仅在相应的备份上进行,这样做是十分必要的,因为一旦修改错误,而又找不到症结所在时,还可以使调试工作还原到一个最近的正确点上,以便重新开始。,下面,我们将使用这个方法,运行在第四章中已分析过的第一个汇编工程PrgFrame。(1)打开工程(2)编译工程(3)下载机器码(4)连接硬件对象(5)运行芯片中的程序(6)调试程序(7)实验中常见问题与解决方法,6.2.2 编译过程中产生的文件,PrgFrame汇编工程编译成功后,会产生如下文件:PrgFrame.dbg-带有调试信息的文件PrgFrame.mp-存储映像文件PrgFrame.s19-目标代码文件main

5、.lis-列表文件main.o-目标对象文件,6.2.3 新创建一个汇编工程,现在,就介绍两种新建工程的方法:(1)拷贝新建法 拷贝新建法就是拷贝一个已有的工程,然后在此基础上进行修改,得到一个满足需求的新工程。例如,现在要新建一个汇编工程,完成用一个开关控制一盏灯(开关打开,小灯亮;开关闭合,小灯暗)的功能。给这个工程命名为SwitchCtrl。它和第一个实例工程PrgFrame十分相似,所以可以利用PrgFrame新建SwitchCtrl。步骤如下:拷贝并重命名PrgFrame工程文件夹。在工程文件夹中修改工程文件名“PrgFrame.prj”为“SwitchCtrl.prj”。对原有工程

6、在文件层上做必要的增删后,就要开始编辑新工程了。在MT-IDE软件中打开新工程中的工程文件SwitchCtrl.prj,发现并没有打开整个工程(工程列表中没有具体的程序文件),原因是在上一步中修改了工程文件名,这时要在列表中的工程文件目录上右击添加工程文件夹中已有的文件或通过文件菜单中的新建选项,新建程序文件。单击文件菜单中的新建选项,出现新建对话框,选择新建文件选项卡,填入新文件的路径,文件名,文件类型,用这种方法可在工程中新建“.s”“.h”“.txt”三种类型的文件。,(2)向导新建法 打开MT-IDE软件,点击文件菜单下的新建选项,选择新建工程选项卡,填写所建工程的路径,工程名,工程类

7、型(汇编/C),工程的控制芯片等信息,确定后,将会自动生成所需的汇编工程框架。框架中已包含所有面向芯片的程序文件和主程序文件框架,对这些文件,只须根据需要稍加修改即可。另外,还要在工程中新建硬件对象的控制程序文件,和必要通用程序文件。新建文件的方法已经讨论过,这里不再详述。用以上任何一种方法新建工程,组织好文件后,就可以开始编辑,编译,调试程序了。,6.2.4 运行第一个C工程实例,运行C工程的步骤也可以分成打开工程、编译工程、下载工程、连接硬件对象、运行芯片中程序和调试等。前面介绍了运行第一个汇编工程的具体步骤,参照这些步骤,可以运行第一个C工程实例,这里不再具体阐述,只是列出运行C工程与运

8、行汇编工程的不同之处。,(1)编译过程产生的List文件不同 C工程编译产生的List文件,与汇编工程不同之处在于C工程编译产生的List文件中包含了C语句以及其对应的汇编语句,并对其中的C语句加上了行号,方便阅读,C工程编译产生的List文件的阅读方法同汇编工程,这里不再阐述。(2)调试方法不同 C工程的调试方法也分为跟踪法和程序法两种,程序法同汇编工程,只将串行口的子程序换成相应的C函数即可。在跟踪法中,寄存器跟踪窗口和存储器跟踪窗口的调试方法同汇编,这里不再阐述。在变量跟踪窗口中可以输入C工程中定义的变量,在调试中,窗口中变量的值将随程序的执行而发生改变。,图6-9 C工程调试界面,6.

9、3 CodeWarrior软件简介,CodeWarrior开发工具是一个比较复杂的软件,其功能很强,以下简单介绍CodeWarrior的使用方法,使读者快速入门,更多的功能和用法请阅读该软件包中包含的大量文档,在实践中不断熟悉和掌握。本节将以CodeWarrior for HC08 V3.0说明该软件的使用方法。,6.3.1 CodeWarrior的安装 运行安装文件夹下的“setup.exe”文件,按照安装向导就可以完成软件的安装,默认安装在“C:Program FilesMetrowerksCodeWarrior CW08_V3.0”文件夹下。“Bin”文件夹主要包含了CodeWarrio

10、r IDE环境的可执行文件“IDE.exe”,“lib”文件夹主要包含了HC08的头文件及库文件,“prog”文件夹主要包含了汇编、编译、反汇编、连接、调试及下载等可执行文件。安装完毕后要通过网络注册以申请使用许可,申请后会通过E-Mail得到一个License.dat文件,将该文件复制到安装文件夹下。对于免费的特别版本,用安装包中的License.dat覆盖安装目录下的License.dat文件,就可以使用了。,6.3.2 新建工程安装CodeWarrior后,在开始菜单下有IDE环境的快捷方式“CodeWarrior IDE”,执行该命令得到集成开发环境。单击“File”菜单下的“New”

11、命令将出现新建文件或工程的对话框,其中有三个选项:Empty Project、HC(S)08 Board Support Stationary、HC(S)08 New Project Vizard。在新建工程时,通常选择后两项中的一项。选择“HC(S)08 New Project Vizard”项,输入工程的名字“Example1”,设定工程保存的路径,单击确定按钮。在接下来的新建工程向导过程中,需要选择芯片的名称、编程语言、浮点数格式、存储器模式、相连的编程调试器等选项,假如这些选项使用默认选项,最后单击“完成”,得到的工程文件管理窗口,工程文件扩展名为“.mcp”。工程窗口顶端有三个标签页

12、:“Files”、“Link Order”链接顺序和“Targets”。,6.3.3 编译、链接与仿真调试 单击“Project”菜单下的“Make”或工程工具栏的“Make”命令编译该工程,这将更新所有需要编译的文件并产生相应的输出文件。在编译、链接没有错误时,可以进行仿真调试程序。单击工程窗口工具栏的Debug按钮,会弹出仿真调试界面。仿真调试界面包含了Source、Procedure、Data1、Data2、Command、Assembly、Register和Memory8个子窗口,工具栏中包含的调试按钮有:运行、单步步入、单步步过、单步步出、汇编语言的单步运行、停止、目标板复位。,进一

13、步讨论,MCU中Flash程序的保密机制 Freescale的MCU具有非常好的程序保密性能,一旦启用保密机制,开发者以外的人几乎不可以读出其中的程序代码。HC08系列MCU将Flash空间$FFF6$FFFD的8字节复用为保密字节(它本来是中断矢量区),只要在这8个字节上写入了内容,它就成为了密码字节,所以读者在做实际项目时,即使没有这个区的中断矢量,也不要把这几个字节空闲,写入一些没有规律的字节内容,有助于提高保密性。如果用户想读出某款芯片中的程序,必须知道这8个字节的内容,否则读出的数据就是无意义的。在上述读Flash操作中,“文件提取”密码的选项的实质就是从当前工程的S19文件中制取$

14、FFF6$FFFD的8字节作为密码,如果MCU中的程序不是当前工程中的程序代码,在执行读Flash操作时,就会出现“密码不匹配”的提示。,6.4.2 验证MCU中程序的正确性,在将程序下载到MCU中以后,如何知道程序已经正确无误地下载到MCU中呢?可以通过下面的方法来验证MCU中的程序是否正确。首先打开编译产生的S19文件,然后点击菜单Flash操作,下拉选择读取,弹出如图6-16所示的对话框,通过查看List文件知道程序的开始地址和结束地址,在对话框中输入开始地址和结束地址,点击按钮开始读,即可读出Flash中程序的机器码,最后将S19文件中程序的机器码同读出的Flash中的程序的机器码对比,如果一致则表明MCU中下载的程序是正确的。,Flash读取窗口,S19文件窗口,图6-16 Flash读取界面,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号