微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 可重定目标的嵌入式集成开发平台设计

可重定目标的嵌入式集成开发平台设计

时间:08-03 来源:《单片机与嵌入式系统应用》 点击:

3.3 更换编译参数

若需要编译命令定义一组编译参数选项,且这组编译参数选项会被多个规则(或编译器命令)引用,那么可把这组参数选项赋值给一个变量,把这个变量放在所有引用它的地方。当需要改变参数选项时,只需要在变量赋值的地方改变一下。变量可在makefile文件的宏定义区定义,定义变量的方法与3.2小节相同。

4 编程调试器的设计方案

4.1 程序下载

SdIDE提供系列MCU的程序下载与调试,系列MCU通过串行接口、BDM或监控模式进行程序下载与调试。

程序下载部分的功能,在该集成开发平台中也是根据所选的MCU型号不同,决定调用不同的程序下载模块来实现。例如:若对AT91RM9200T和MCF5271微控制器进行程序下载,则使用JTAG头下载,因而调用其相应的下载模块程序。下面以Freescale S08/S12系列微控制器的下载为例,阐述BDM方式下载。该方式对FreescaleS08/S12系列MCU都是可行的,它们都有BKGD引脚,支持背景调试和程序下载。

下载程序的功能包括S19文件分析模块以及Flash存储器的擦除和写入模块;但采用BDM头下载时还要包括TBDML通信模块,该模块负责通过USB接口将PC方的S-record机器码写入到空白的Flash存储器的指定区域。S19文件分析模块则负责对S-record标准的S19文件进行分析,将文件的内容转换成方便传输的格式,以及判断文件中程序的起始地址、页数、是否越界等。下载程序先将Flash擦写程序数据和用户程序数据写入RAM的指定区域,当一页的用户程序数据写入到事先分配的RAM区后,则可通过调用tbdml动态链接库函数来实现擦除和写入操作。BDM头下载程序的工作流程如图1所示。

4.2 程序调试

程序调试是IDE的重要功能之一,也是开发嵌入式集成开发平台的难点之一。下面简要介绍本开发系统所实现的调试功能。

断点设置:在调试状态下,用户可以使程序的执行停留在设置了断点的代码行上,系统提供各寄存器的值、程序中定义的变量值以及Flash中相应地址的值等信息。设置了断点的代码行将以红色高亮显示。

断点调试:设置断点后,用户可进入断点调试模式。在断点调试模式下,当前即将执行的代码行将以红色高亮显示,如图2所示。同时在SdIDF集成开发平台的右侧会出现3个用于调试的信息窗口:Register窗口中显示的是各寄存器的当前值(各寄存器的值会自动显示);Watch窗口中显示的是变量的值(在变量地址中输入变量名,例如I1,按回车即可);Memory窗口中显示的是存储器中的内容(在地址中输入Flash地址,例如0x8000,按回车即可),如图3所示。在断点调试状态下,系统提供相关的命令:设置断点、清除断点、退出调试、单步步人、单步步过和执行。

结 语

一个可重定目标的嵌入式集成开发平台研制的难点在于IDE的可重定性和编程调试器的实现。针对GCC编译器所支持的系列MCU,本文介绍的开发环境实现了IDE可重定目标、编程调试器,形成了目前较通用的嵌入式集成开发平台SdIDE,且扩展性较好,价格低廉,已经被国内许多高等院校和一批中小企业所采用,并已投入批量生产。但是,完善、升级以及对新型芯片的适应还需进一步工作。在我国目前的情况下,开发具有自主知识产权的嵌入式集成开发平台是一项意义重大、艰难且漫长的工作,希望本文可以起到借鉴和抛砖引玉的作用。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top