基于ARM 的嵌入式系统程序开发要点--目录

来源:互联网 发布:大华监控软件客户端 编辑:程序博客网 时间:2024/04/29 17:21

【序】 毕业在即,以前做的ARM和uC/OS的项目也忘的差不多了,近日将以前的项目温习了下,对ARM程序开发的启动部分代码及中断程序的编写进行了详细研究。在网上获此佳作 《基于ARM 的嵌入式系统程序开发要点》,对ARM上的裸机程序开发进行了详细陈述,包括启动的中断向量的设置、存储器配置、堆栈初始化、应用程序环境的拷贝准备、主程序的调用等以及ARM和Thumb代码的交互、重映射的处理,分析精妙,本人觉得把此文研读透了应付嵌入式ARM的面试基本没问题,在此与大家共享。

蓝色部分是本人还有点疑问的,欢迎朋友们指正,谢谢。

                                                                                                              sailor_forever

                                                                                                                                                       

 

基于ARM 的嵌入式系统程序开发要点
整理: sailing  sailing_9806@163.com
原作者:ARM-CHINA-040415A http://www.arm.com
 
(一)嵌入式程序开发过程... 1
1.嵌入式程序开发过程... 1
2.开发工具环境里面的库函数... 2
21 裁剪访问静态数据的函数... 3
22 裁减访问目标存储器的函数... 3
23 裁剪使用semihosting(半主机)机制实现的函数... 4
3Semihosting (半主机) 机制... 5
(二)系统的初始化过程... 6
1.中断向量表... 6
2.初始化存储器系统... 7
21.存储器类型和时序配置... 7
22.存储器地址分布(memory map... 7
3.初始化堆栈... 8
4.初始化有特殊要求的端口、设备... 9
5.初始化应用程序执行环境... 9
6.改变处理器模式... 10
7.呼叫主应用程序... 11
三)如何满足嵌入式系统的灵活需求?... 12
1ARM 还是Thumb... 12
2.堆栈的分配... 14
3ROM 还是RAM 0 地址处?... 14
4.存储器地址重映射(memory remap... 15
5. 根据目标存储器系统分散加载映像(scatterloading... 17
(四)异常处理机制的设计... 18
1.异常响应流程... 19
1.1 跳转范围... 19
1.2 异常分支... 20
2.异常处理函数的设计... 22
2.1 异常发生时处理器的动作... 22
2.2 进入异常处理循环后软件的任务... 23
2.3 异常的返回... 23
24 ARM 编译器对异常处理函数编写的扩展... 24
2.5 软件中断处理... 24
3.可重入中断设计... 25
(五)ARM/Thumb 的交互工作... 27
1需要交互的原因... 27
2状态切换的实现... 27
3ARM/Thumb 之间的函数调用... 28
4交互程序之间的兼容性... 30
5V5 架构的扩展... 30
6Thumb-2. 30
(六)开发高效程序的技巧... 31
1变量定义... 31
2参数传递... 33
3循环条件... 33
4条件执行... 34
5混合编程... 35
6性能分析... 36
7小结... 36
原创粉丝点击