文档介绍:嵌入式系统之开发工具
1. 开发环境
嵌入式系统,是指嵌入于宿主设备,智能地完成宿主设备功能的计算/控制系统。
嵌入式系统开发环境,是以开发嵌入式系统为目的的工程开发环境。包括办公环境支持、软件支持、硬件设备支持。
软件支持,指集成开发环境与软件模拟器等。
硬件支持,指仿真器、目标板、示波器、烧录器等。
嵌入
式
软件
嵌入式应用软件
嵌入式操作系统
嵌入
式
硬件
嵌入式硬件模块
嵌入式处理器
嵌入式开发工具
集成开发系统提供高效明晰的图形化的嵌入式应用软件开发平台,包括一整套完备的面向嵌入式系统的开发和调试工具。
一般包括编辑器、编译器、连接器、调试器、工程管理器和底层调试接口设备(BDM/JTAG仿真器)等
嵌入式语言:
ASM/Ada/C/C++/EC/Java/OP/STAPL
EC++标准
95年初在日本成立的Embedded C++技术委员
嵌入式c/c++编译器
交叉编译能力:能够在pc/unix平台上生成其他cpu平台目标代码
连接/定址器:因为无法提供dos/windows的动态定位执行能力。嵌入式一般需要目标代码静态定位到具体地址,定址器完成这一工作。
启动代码:初始化处理器和c语言堆栈区等环境的汇编码。
EC++:针对嵌入式的一些实时要求等特点,对标准C++语言规范的修改扩充。
嵌入式C/C++开发环境
嵌入式C/C++开发环境
提供目标调试(remote/rom monitor)能力.
另外还有其他一些地方需要注意,如I/O库,大小尾段等。
主流嵌入式编译器:
GNU 、CADUL 、CodeWarrior、GreenHill、Diab/SDS、IAR、BC/VC+Toolkit….等
(1)早期的Franklin Software Inc. 的A51/C51与Keil Software CA51/CA251/CA166赫赫有名。
(2)TASKING Inc. 的C/C++/EC++ 编译器
(3)CAD-UL 。
(4)Wind River Systems, C/C++ Compiler Suite,应用于pSOS系统。
(5)IBM 的High C/C++ Compiler ,针对Power PC。
(6)
调试器
远程调试
调试器还是运行于通用桌面操作系统的应用程序,被调试的程序则运行于基于特定硬件平台的嵌入式操作系统(目标操作系统)。
问题:
调试器与被调试程序如何通信
被调试程序产生异常如何及时通知调试器
调试器如何控制、访问被调试程序
调试器如何识别有关被调试程序的多任务信息并控制某一特定任务
调试器如何处理某些与目标硬件平台相关的信息(如目标平台的寄存器信息、机器代码的反汇编等)。
两种远程调试的方案
一插桩(stub)
二片上调试(On Chip Debugging)