- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式系统设计与实例开发
—基于ARM微处理器与实时操作系统
第二讲 基本概念及设计方法
主讲教师:罗子波 副教授
;本节提要;嵌入式微处理器简介
嵌入式微处理器体系结构
嵌入式微处理器的分类;嵌入式微处理器简介;嵌入式处理器的基本结构(1);嵌入式处理器的基本结构(2);冯·诺依曼体系结构和哈佛体系结构
CISC与RISC
信息存储的字节顺序
IP 核
流水线
存储器系统
;冯·诺依曼体系结构模型;哈佛体系结构;CISC和RISC;CISC与RISC的数据通道;CISC的背景和特点 ;CISC的主要缺点;RISC基本设计思想;典型的高性能RISC处理器;CISC与RISC的对比;for (i = 0; i 10000; ++i) /* 各种算术运算操作 */
实验平台:桌面Intel Pentium4,带硬件浮点支持
Operator Time Operator Time+ (int) 1 + (double) 5* (int) 5 * (double) 5/ (int) 12 / (double) 10(int) 2 sin 48 ;信息存储的字节顺序;示例;The ARM 可以用 little/big endian 格式存取数据.
;2.1.3 嵌入式微处理器的分类;本节提要;2.2.1 嵌入式软件概述;2.2.1 嵌入式软件体系结构;无操作系统的情形;事件驱动系统:(Event-Driven system)
事件驱动系统是能对外部事件直接响应的系统。它包括前后台、实时多任务、多处理器等,是嵌入式实时系统的主要形式。
应用程序是一个无限循环,循环中调用相应的函数完成相应操作,这部分可以看成后台行为(background)。中断服务程序处理异步事件,这部分可看成前台行为(foreground)。
后台也可以叫做任务级,前台也叫中断级。;例如,很多基于微处理器的产品采用前后台系统设计,如微波炉、电话机、玩具等。从省电的角度出发,平时微处理器处在停机状态,所有的事都靠中断服务来完成。;前后台系统(后台循环、前台中断);提高了系统可靠性
提高了系统的开发效率,降低了开发成本,缩短了开发周期
有利于系统的扩展和移植;2.2.3 嵌入式操作系统的分类;按软件结构分类…;单体结构;分层结构;微内核
;有操作系统的情形;为什么要有设备驱动程序?
嵌入式硬件设备本身无法工作,需要软件来驱动,如初始化、控制、数据读写等。
什么是设备驱动程序?
直接与硬件打交道、对硬件进行控制和管理的软件。
在一个嵌入式系统中,设备驱动程序是必不可少的。;设备驱动程序的主要功能;嵌入式中间件;2.2.4 嵌入式操作系统的几个概念;2.2.5 常见的嵌入式操作系统;VxWorks;Windows Embedded;Palm OS;QNX;嵌入式Linux; ;?C/OS及?C/OS-II ;嵌入式C程序设计;嵌入式软件的目标;数据类型与运算符;宏定义的基本思想是:一次定义,多次使用。其
优点是:
可以用简短的标识符来代替长的数据,减少需要输入的字符数;
用易于理解的标识符来代替那些不太好记的具体的数据,便于程序的理解和维护;
有利于程序的修改和升级,当这个数据需要修改时,只需改动宏定义之处即可。;if ( myMoney 80.0 )
{
myShoes ++;
myMoney = myMoney – 80.0;
};(2)const常量;(3)算术运算;结论:
尽量使用整数(char、short、int和long)的加法和减法;
如果没有硬件支持,尽量避免使用乘法;
尽量避免使用除法;
如果没有硬件支持,尽量避免使用浮点数;
数学库函数使用得越少越好。;(4)位运算;a |= 0x4
b = ~0x4
c = ~(1 3)
d ^= (1 5)
e = 2 ;int x, num = 99, count = 0;
x = num;
while(x)
{
count ++;
x = x (x ? 1);
}
printf(result: %d, count);;分支语句;if-then-else语句的汇编代码;switch语句的汇编代码-1;switch语句的汇编代码-2;结论:
假设a的取值个数为n,对于if-then-else语句,时间复杂度为O(n),而对于switch语句,时间复杂度为O(1);
如果n的值较小,两种语句均可;
如果n的值较大,则switch语句更佳。;函数;操作系统;主函数的执行过程;控制流与数据流;当一个函数被调用时:
在内存的栈空间当中为其分配一个栈帧,用来存放该函数的形参和局部变量;
文档评论(0)