新闻中心

EEPW首页>嵌入式系统>设计应用> Freescale+HC08+MCU集成开发环境的设计

Freescale+HC08+MCU集成开发环境的设计

作者: 时间:2016-12-02 来源:网络 收藏


表1本设计中使用到的USB库的类及函数说明


4.4C语言程序调试功能的设计

调试功能实现对汇编和c语言的源码级在线调试。两者实现过程大体相似,但C语言调试的实现相对复杂。在此只针对C程序进行说明。

汇编程序和C程序在编译后都会产生调试信息文件(后缀名为.dbg)。dbg文件包含有相应的信息以供调试时使用。该文件详细记录了调试所需要的行号与存储地址等信息.包括文件首地址、函数的首末地址、每行源代码的行号和首地址、局部变量以及全局变量的名称地址类型等,如图2所示。对C语言程序的调试主要是基于对该调试信息文件的调用和判断。调试动作的设计首先是“设置断点”,接着点击“开始调试”,进入调试模式.然后选择“单步步入(Step Into)”、“单步步过(Step Over)”或“执行”至下一断点处等调试操作根据程序运行或变量的值判断调试。

下面分别阐述设计思路。

(1)设置断点

如在文件main.c中选择所需中断的一代码行.假设选择第33行,点击菜单“调试”一>“设置断点”,则在调试文件.dbg文件中找到“FILE main.c"行下的“LINE 33 8096”(如图2的双下划线), 该LINE后的33(十进制)等于当前设置断点的行号33,然后提取该“LINE”行中的8096(十六进制.本语句的首地址),作为当前的断点地址。则在界面上显示当前所选择断点的代码行呈红色高亮显示。否则所选择的不是代码行。


图2 dbg文件结构

(2)开始调试

设置断点后。点击菜单“调试" -> “开始调试”,程序运行至断点地址处.产生断点中断.则返回目标MCU运行的有关信息至PC机,在IDE界面中当前断点行呈蓝色高亮显示,在寄存器跟踪窗口和变量跟踪窗口中显示目标MCU中相应的值。接着选择不同的调试操作继续进行.如“单步步入”("单步步过"或“执行”至下一断点的设计思路与之类似)。

(3)单步步入

“单步步入”即从当前断点处按程序执行的流程一条一条语句的运行调试。设计调试的方法是.从程序“开始调试”运行至断点起,点击“单步步入”,程序先计算下一个断点地址。从断点开始.MCU的断点模块自动将当前断点地址加1.作为下一个断点地址.但C语言一条语句编译后往往不止一条汇编语句,可能几十条.甚至几百条.如此计算.则加1还不是下一条C语句的首地址。这时须将返回的PC寄存器值继续加1。直至下一条C语句首地址.即PC寄存器里的值等于下一条C语句对应的首地址,这样一次“单步步人”完成。若需继续执行,则再点击“单步步入”命令。

5 实验硬件系统

为了配合本IDE,根据HC08系列MCU电气特征、功能,设计了一个通用的实验硬件系统,方便了实验教学,方便了嵌入式系统的开发和测试。

实验硬件系统的实物结构如图3所示。


图3 HC08嵌入式实验硬件系统

硬件系统主要由以下几部分构成:①MC908GP32和支撑电路构成核心板(更换MCU只要更换该板即可)。本系统为其提供的支撑电路主要由5v电源、晶振电路和PLL电路构成。其中晶振电路采用了一个32.768KHz的晶振为MCU提供振荡信号,PLL电路是主要由电容和滤波网络构成的负反馈环路,使频率稳定地提高至2.4576MHz。②串行通信(SCI)电路。早期的电平转换集成电路由MC1488、MC1489构成.但需另配12V供电,使接线繁琐。本系统采用目前较多用的MAX232将MCU的TTL电平转换为标准的RS-232电平,它仅需共用5V供电实现电平转换。③外围接口和元件。为了给用户提供足够的接口,充分考虑不同用户和开发者的需要.本系统提供2个标准9芯串口、LCD接口、键盘接口、8组指示灯和开关、电位器、蜂鸣器、模拟量接口、继电器以及各种通信口等,不仅满足MCU的教学,也满足MCU开发评估及测试的需要。④IC插线和扩展槽。本系统还具有一定的可扩展性,通过提供的Ic插线和扩展槽,用户可自行扩展其它的IC和设备。

6 结束语

以上所阐述的Freescale HC08 MCU集成开发环境设计思路.以及技术要点.对于开发者,具有一定的启发和借鉴作用。本系统的推出.有力地解决了国内开发Freescale HC08嵌入式应用系统主要依赖国外开发平台的现状。经过几年的研制和推广应用.配合Freescale公司的大学计划已经获得较好的应用效果。

上一页 1 2 下一页

评论


技术专区

关闭