欢迎来到天天文库
浏览记录
ID:15750898
大小:1.54 MB
页数:74页
时间:2018-08-05
《基于arm的嵌入式系统软件设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于ARM的嵌入式系统软件设计北京微芯力科技有限公司主要内容∑嵌入式软件开发关键技术∑“ARM”软件设计基础∑“ARM”软件调试与运行嵌入式软件开发关键技术∑嵌入式软件的启动代码∑嵌入式实时操作系统∑程序的链接定位∑软件调试技术启动代码说明∑启动代码是用来初始化电路以及用来为高级语言写的软件做好运行前准备的一小段汇编语言是任何处理器上电复位时的程序运行入口点¾功能初始化电路为高级语言编写的软件运行做准备¾特征汇编语言处理器上电复位的程序运行入口点启动代码常见形式∑实时操作系统的板基支持包——BSP∑计算机主板的BIOS启动代码最小流程全局寄存
2、器初始化存储区配置初始化堆栈高级语言入口函数调用Main()Rtos_Init()MyRoot()……启动代码典型流程中断向量设置全局寄存器初始化看门狗设置外围电路初始化中断禁止存储区设置自检初始化堆栈数据区清零允许中断高级语言入口函数调用程序的链接定位∑链接定位是系统级软件开发过程中必不可少的一部分嵌入式软件开发均属于系统级开发∑链接定位过程一般由链接器根据链接定位文件完成比较简单的系统可以通过设置链接器开关选项取代链接定位文件∑链接定位的关键是链接定位文件的编写常见链接程序段以下程序段存在于各个目标文件中*.obj*.o链接定位后按段的类
3、别收集在一起同时指定在存储区中的位置∑text:代码段所有代码块部分∑rodata:已初始化的全局只读数据∑data:已初始化的全局数据∑bss:未初始化的全局变量简单链接定位文件SECTIONS{.=0x10000.text:{*(.text)}.=0x8000000.data:{*(.data)}.bss:{*(.bss)}}典型链接定位文件SECTIONS{.=0x02000000;.text:{*(.text)}Image_RO_Limit=.;Image_RW_Base=.;.data:{*(.data)}.rodata:{*(.r
4、odata)}.bss:{*(.bss)}PROVIDE(__stack=.);end=.;_end=.;.debug_info0:{*(.debug_info)}.debug_line0:{*(.debug_line)}.debug_abbrev0:{*(.debug_abbrev)}.debug_frame0:{*(.debug_frame)}}调试技术在应用程序的编辑编译工作完成后开发人员需要借助一些调试设备或调试模块对应用程序进行调试发现程序设计中的缺陷常用的调试设备或调试模块有以下几种∑指令集模拟器∑驻留监控软件∑JTAG仿真器∑在
5、线仿真器指令集模拟器PC而且运行速度调试驻留监控软件驻留监控软件ResidentMonitors是一段运行在目标板上的程序集成开发环境中的调试模块通过以太网口并行端口或者串行端口等通讯端口与驻留监控软件进行交互由调试模块发送命令通知驻留监控软件控制程序的执行读写存储器读写寄存器设置断点等驻留监控
6、软件是一种比较低廉有效的调试方式不需要任何其他的硬件调试和仿真设备ARM公司的Angel就是该类软件大部分嵌入式实时操作系统也是采用该类软件进行调试不同的是在嵌入式实时操作系统中驻留监控软件是作为操作系统的一个任务存在的驻留监控软件的不便之处在于它对硬件设备的要求比较高一般在硬件稳定之后才能进行应用软件的开发同时它占用目标板上的一部分资源而且不能对程序的全速运行进行完全仿真所以对一些要求严格的情况不是很适合JTAG仿真器JTAG仿真器也称为JTAG调试器是通过ARM芯片的JTAG边界扫描口进行调试的设备JTAG仿真器比较便宜连接比较方便通过现
7、有的JTAG边界扫描口与ARMCPU核通信属于完全非插入式(即不使用片上资源)调试它无需目标存储器不占用目标系统的任何端口而这些是驻留监控软件所必需的另外由于JTAG调试的目标程序是在目标板上执行仿真更接近于目标硬件因此许多接口问题如高频操作限制AC和DC参数不匹配电线长度的限制等被最小化了使用集成开发环境配合JTAG仿真器进行开发是目前采用最多的一种调试方式在线仿真器在线仿真器使用仿真头完全取代目标板上的CPU可以完全仿真ARM芯片的行为提供更加深入的调试功能但这类仿真器为了能够全速仿真时钟速度高于100MHz的处理器通常必须采用极其复杂的
8、设计和工艺因而其价格比较昂贵在线仿真器通常用在ARM的硬件开发中在软件的开发中较少使用其价格高昂也是在线仿真器难以普及的因素实时操作系统(RTOS)∑RTOS选择的
此文档下载收益归作者所有