ARM的软件设计.pdf
文本预览下载声明
基于ARM的嵌入式系统
软件设计
北京微芯力科技有限公司
主要内容
嵌入式软件开发关键技术
ARM 软件设计基础
“ ”
ARM 软件调试与运行
“ ”
嵌入式软件开发关键技术
嵌入式软件的启动代码
嵌入式实时操作系统
程序的链接定位
软件调试技术
启动代码说明
启动代码是用来初始化电路以及用来为高级语言
写的软件做好运行前准备的一小段汇编语言 是
任何处理器上电复位时的程序运行入口点
功能
初始化电路
为高级语言编写的软件运行做准备
特征
汇编语言
处理器上电复位的程序运行入口点
启动代码常见形式
实时操作系统的板基支持包——BSP
计算机主板的BIOS
启动代码最小流程
全局寄存器初始化
存储区配置
初始化堆栈
高级语言入口函数调用
Main( )
Rtos_Init( )
MyRoot( )
……
启动代码典型流程
中断向量设置
全局寄存器初始化
看门狗设置 外围电路初始化
中断禁止
存储区设置 自检
初始化堆栈 数据区清零
允许中断
高级语言入口函数调用
程序的链接定位
链接定位是系统级软件开发过程中必不可少的
一部分 嵌入式软件开发均属于系统级开发
链接定位过程一般由链接器根据链接定位文件
完成 比较简单的系统可以通过设置链接器开关
选项取代链接定位文件
链接定位的关键是链接定位文件的编写
常见链接程序段
以下程序段存在于各个目标文件中 *.obj *.o
链接定位后按段的类别收集在一起 同时指定在
存储区中的位置
text : 代码段 所有代码块部分
rodata : 已初始化的全局只读数据
data : 已初始化的全局数据
bss : 未初始化的全局变量
简单链接定位文件
SECTIONS
显示全部