




已阅读5页,还剩66页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
AT89S52 到 ARM 的移植 报告项目名称: 音乐流水灯 院 校: 漳州职业技术学院 系 别: 计算机工程系 班 级: 10 嵌入式 2 班 小组成员: 吴为超、林情、薛萌 日 期: 2012 年 12 月 1目录第一章 绪论 .2第二章 ARM 和单片机的区别 .22.1、软件方面 .22.2、硬件方面 .2第三章 8 位 MCU 如何升级至 32 位 MCU .5第四章 基本数据类型有关问题及回答 .84.1 数据类型的定义 .84.2 留心 double 和 long.8第五章 单片机与 ARM 的移植 .9第六章 总结 .102第一章 绪论本论文是探究从单片机到 ARM 移植中会发生的问题,也就是 8 位机到 32 位机的移植中,会出现的问题,其中包括字节的变换,数据类型的不同,需要考虑的问题分析等等。第二章 ARM 和单片机的区别目前大量的中、低端嵌入式应用,主要使用 8/16 位单片机。在国内,由于历史的原因,主要是以 MCS51 核为主的许多不同型号单片机,主要厂商有Atmel、Philips、Winbond、宏晶等。还有一些近几年发展较快的新型单片机,如 PIC、AVR、MSP430 系列等。这些单片机各有特点,但从目前的发展角度来看,单片机针对特定应用领域的个性化发展愈发明显。 2.1、软件方面 这应该是最大的区别了。引入了操作系统。为什么引入操作系统?有什么好处? 1)方便。主要体现在后期的开发,即在操作系统上直接开发应用程序。不像单片机一样一切都要重新写。前期的操作系统移植工作,还是要专业人士来做。 2)安全。这是 LINUX 的一个特点。LINUX 的内核与用户空间的内存管理分开,不会因为用户的单个程序错误而引起系统死掉。这在单片机的软件开发中没见到过。 3)高效。引入进程的管理调度系统,使系统运行更加高效。在传统的单片机开发中大多是基于中断的前后台技术,对多任务的管理有局限性。 2.2、硬件方面 现在的 8 位单片机技术硬件发展的也非常得快,也出现了许多功能非常强3大的单片机。但是与 32ARM 相比还是有些差距吧。 ARM 芯片大多把 SDRAM,LCD 等控制器集成到片子当中。在 8 位机,大多要进行外扩。 总的来说,单片机是个微控制器,ARM 显然已经是个微处理器了。 引入嵌入式操作系统之后,可以实现许多单片机系统不能完成的功能。比如:嵌入式 web 服务器,java 虚拟机等。也就是说,有很多免费的资源可以利用,上述两种服务就是例子。如果在单片机上开发这些功能可以想象其中的难度。 ARM 处理器的优势详解 对于如今大量出现的 32 位嵌入式应用,以笔者之见,ARM 处理器的优势主要有以下几个方面:高性能、低功耗、低价格。把 ARM 处理器的性能拿来和一些著名的通用处理器(如 Pentium)相比是不合适的,因为他们各自针对的应用需求是不同的。Pentium 处理器采用多条指令流水线的超标量结构,追求通用应用目标下的超强性能,功耗大,可以用散热器加风扇散热。ARM 针对嵌入式应用,在满足性能要求的前提下,力求最低的功率消耗。ARM 结构的优点是能兼顾到性能、功耗、代码密度、价格等几个方面,而且做得比较均衡。在性能/功耗比(MIPS/W)方面,ARM 处理器具有业界领先的性能。基于 ARM 核的芯片价格也很低,目前 ARM CortexM 的芯片价格可低至 10 元人民币左右。 丰富的可选择芯片 ARM 只是一个核,ARM 公司自己不生产芯片,采用授权方式给半导体生产商。目前,全球几乎所有的半导体厂家都向 ARM 公司购买了各种 ARM 核,配上多种不同的控制器(如 LCD 控制器、SDRAM 控制器、DMA 控制器等)和外设、接口,生产各种基于 ARM 核的芯片。目前,基于 ARM 核的各种处理器型号有好几百种,在国内市场上,常见的有ST、TI、NXP、Atmel、Samsung、OKI、Sharp、Hynix、Crystal 等厂家的芯片。用户可以根据各自的应用需求,从性能、功能等方面考察,在许多具体型号中选择最合适的芯片来设计自己的应用系统。由于 ARM 核采用向上兼容的指令系统,用户开发的软件可以非常方便地移植到更高的 ARM 平台。 4广泛的第三方支持 以如今的技术,设计一个处理器并非难事,但要使这个处理器得到大家认可,并取得市场成功却是非常困难的,其中涉及许多技术与非技术的因素和环节,还包括时机、运气。因为现在许多产品的开发,不是一个简单的处理器加几百条指令、语句就可以解决的。要用到 32 位处理器,一般都要有编译器、高效的开发工具(仿真器及调试环境) 、操作系统、协议栈等,这些东西都不是一个芯片生产商可以解决的,而需要许多第三方的支持。这就像一粒种子,需要土壤、空气、水等环境才能发芽、成长。这也是我们的一些“中国芯”该反思之处。 ARM 通过近 20 年的培育、发展,得到了广泛的第三方合作伙伴支持。目前,除通用编译器 GCC,ARM 有自己的高效编译、调试环境(MDK、Keil),全球约有50 家以上的实时操作系统(RTOS)软件厂商和 30 家以上的 EDA 工具制造商,还有很多高效率的实时跟踪调试工具的厂商,对 ARM 提供了很好的支持。用户采用 ARM 处理器开发产品,既可以获得广泛的支持,也便于和同行交流,加快开发进度,缩短产品的上市时间。 完整的产品线和发展规划 ARM 核根据不同应用需求对处理器的性能要求,有一个从 ARM7、ARM9 到ARM10、ARM11,以及新定义的 CortexM/R/A 系列完整的产品线。前几年应用较多的主要是基于 V4 架构的 ARM7TDMI、ARM720T、ARM920T 核的一些处理器芯片,如 NXP 的 LPC2000 系列、ST 的 STR7/9 系列、Atmel 的 AT91 系列和 Samsung 的S3C 系列。近两年,ARM Cortex 系列以更好的性能、更低的价格得到快速推广,典型的就是基于 CortexM3 的 STM32 系列。 ARM CortexM/R/A 系列分别针对不同的应用领域。M 系列主要面向传统微控制器(MCU/单片机)应用,这类应用面很广,要求处理器有丰富的外设,并且各方面比较均衡;R 系列强调实时性,主要用于实时控制,如汽车引擎;A 系列面向高性能、低功耗应用系统,如智能手机。选用 ARM 处理器进行开发,技术积累性较强,生命周期长,设计重用度高,不易被淘汰。用户在选择 ARM 处理器时,可以针对应用需求,从大量的 ARM 芯片中选用满足性能、功能要求的产品,以获得较好的性价比。 5ARM 处理器在便携、手持式设备以及工业控制等应用领域,在今后相当长的时间内是一个很好的选择。当然,没有一种型号的处理器是可以覆盖所有应用的,也不是搬上一个嵌入式 OS,就可以很好地解决软件问题的。 第三章 8 位 MCU 如何升级至 32 位 MCU首先,我们从 MCU 之间的转变开始,循序渐进。目前的 MCU 市场分为三个部分, 8 位、 16 位和 32 位内核(4 位内核 MCU 现在已相当少用,故在本次比较中将其忽略) 。对于这三个部分中的每一个,其规模大体相同。传统上 8 位内核占最大的市场份额。根据一些分析人士报告,可能 32 位内核市场占有率已经超过了 8 位内核。即使目前尚未超过,时间也不会太长。32 位内核市场份额是迄今为止增长最快的。8 位内核和 16 位内核仍在增长,但在速度方面远不如 32位内核(8 位内核的增长速度仍快于 16 位内核) 在很长的一段时间内, 很多人相信 16 位 MCU 可能会被 8 位 MCU 和 32 位MCU 取代。目前的 32 位 MCU 器件采用最新技术制造(与 8 位内核和 16 为内核相比) 。MCU 制造商能够使用这些最新的技术,使得 32 位 MCU 体积变得越来越小,因而变得越来越廉价。由于 32 位 MCU 所具有的价格和性能,很多分析人士相信,设计工程师将跳出 16 位领域, 直接转向具有高性能的产品,保证其设计的未来。8 位 MCU 无论是在性能还是存储处理能力方面均达到了其极限。这也是目前存在 16 位和 32 位 MCU 的原因之所在。随着行业按照摩尔法则的轨迹发展, 32 位 MCU 变得越来越小和越来越廉价,以至于在传统的 8 位和 16 位领域方面也具有了竞争力。与 8 位和 16 位 MCU 相比,这些新的 32 位 MCU 具有更高的处理能力。典型的 8 位 MCU 的速度在 1030MIPS 之间。16 位 MCU 介于 20 和 40 MIPS 之间。而新的 32 位 MCU 通常具有 80 100 MIPS 的处理能力!这是处理能力和速度方面的重大改进。与 8 位和 16 位 MCU 相比,很多 32 位 MCU 具有更小的体积,通常具有更低6的 功耗。较小的体积通常意味着更好的功耗、更低的电流消耗和更低的有效输入电压。一些新产品的休眠电流几乎无法测量,提供的输入电压低至 0.5V。这就为 32 位 MCU 提供了巨大优势。在当今市场上,功率为王。即使某一应用不是以电池为供电, 目前的设计人仍不得不考虑功耗。对于插入栅板的应用,出于多种原因,仍必须是“绿色”的。某些顶级产品必须针对市场目的,或是因为政府命令和标准。例如,最新的消费电子器件目前均是兼容能源之星(Energy Star)的。如果你目前正在使用 8 位 MCU,你可能会在下一设计中考虑 32 位 MCU。即使下一代设计仍继续使用 8 位 MCU,目前也有很多步骤方法可帮助你做好最终的移植备。今天做一些研究,并进行正确决策,就能为明天的设计提供保证。当你开始考虑转移至 32 位 MCU 时,或许会认为将遇到一些问题。例如,你认为自己需要学习新的架构;你可能需要重写自己的所有代码,以便与新的内核协调工作;或许你感觉 32 位 MCU 过于艰难和复杂,它们不是为了便于使用而设计的,而是为了性能设计的,这意味着,你将不得不考虑它们所拥有的数以千计的寄存器;或许你关心可能将不得不学习一整套新的软件工具,你将需要熟悉全新的硬件工具;或许你还认为,32 位 MCU 并不针对你的应用,你无法为自己的设计找出正确的成套外围器件。你可能会关心上述一种或多种问题, 但它们全都是必要的考虑事项吗?让我们分别分析它们.大多数设计者认为,当他们从 8 位 MCU 转移到 32 位 MCU 时,将不得不学习新的体系架构。问题是大多数公司有自己的老式 8 位 MCU 产品系列和新的 32位 MCU 产品系列。 每年,他们可能仍会为 8 位产品系列推出少量新的产品,他们希望把握机会,从失误中学习,并在 32 位系列中更正错误。你或许无法在器件上发现相同的外围部件。不同系列的代码不兼容,或不具有管脚兼容性,因而你将不得不重新完成整个电路板。尽管真实的情形是这样的,你无法在不改变设计核心的情况下实现移植,但你也希望无需再次学习所有的内容。一些公司开始发布新的产品,在 8 位版本和 32 位版本之间具有完全相同的成套外围组件。组件中唯一改变的是其内核。其他部分,包括管脚布局位置,均保持不变。如果你目前使用的是 8 位 MCU,明天就能移植到该公司的 32 位 MCU 上,同时仍能使用相同的印刷电路板。这方7面的一个例子是 Cypress 半导体公司最近发布的 PSoC? 3 和 PSoC 5 架构。这两种架构具有相同的外围组件、封装和管脚。PSoC 3 架构,采用了新的单周期/指令 8051,运行频率高达 67 MHz,能够方便地与 PSoC 5 版本兼容。PSoC 5 版本采用了 ARM Cortex-M0 处理器,运行频率高达 80 MHz。这类产品使得从一种架构到另一架构的移植变得简单易行。使用这些新工具,能够按照你所希望的方式进行设计。人们还认为,你将不得不为新的 32 位产品重写所有的代码。情形并非总是如此。对于在 8 位和 32 位内核之间具有匹配外围组件的很多这类新产品,它们的固件也是兼容的。这些芯片采用高级语言(如 C 语言) ,能够编写一套代码,可以选择针对 8 位产品进行编译,或选择 32 位产品并重新编译。你可以采取略微复杂的方法,使用高级语言编写代码,仍调用针对特定内核的寄存器如果你遵守高级编程的精神,移植仍相当容易。你可能考虑工具会怎样呢?与你正在使用的特定内核相比,你可能更关注集成开发环境(IDE) 。一旦你掌握了它,你不会愿意学习新的。但是,如果你拥有一种可在两种架构上工作的 IDE,情况会怎样呢?Cypress 公司新的 PSoC Creator?软件就是这方面的一个例子。它是一种能与 8 位器件和 32 位器件一起工作的集成开发环境(IDE) 。保证设计未来前景的一种良好方式是,在今天就选择相应的产品(即使你仍与 8 位内核打交道) ,通过该产品,能够为 8 位设计和 32 位设计使用相同的工具。与软件工具类似,硬件工具也出现在跨平台应用方面。一些公司已开发出了带有硬件开发工具箱的模块系统。这样,你就能够拔出 8 位模块,并用 32 位模块取而代之。板上的所有其他部分保持不变。它们通常采用相同的编程和调试工具。你真正能够做到,学习一次,普遍适用。真正应考虑的是,很多公司为销售 8 位产品的不同市场开发了 32 位产品。这意味着你无法找到支持设计的正确的 32 位产品。因而,你不仅要为 32 位产品支付更多的成本,还需花费更多的成本购买外部分离器件。但是,如果你能设计自己的芯片会怎样呢?类似于 FPGA 或 CPLD,但以更简单的方式使用图形环境会怎样呢?如果你能在工具中实现自己的设计方案,创建它并将程序纳入器件中,是否会很好呢?太好以至于似乎不真实,是吗?当然不。使用 PSoC 38和 PSoC 5,这是可能的。你现在可以围绕 32 为内核设计外围器件,确保它们是适合于设计的正确器件。与以往相比,对于设计人员来说目前更重要的是灵活性。市场比以前变化得更快,竞争每天都在加剧,每个人都致力于更低的成本。今天选择正确的 8位器件系列能够保障你的明天。使用这些新的工具,能够对 8 位 MCU 进行设计,或许它是贵公司产品组合的基本版本,随后,你可以承担你的任务,使用相同的项目文件,并将其移植到 32 位内核上。现在你能够增加更多性能。很快,它将成为贵公司的高端特色产品,从而获得更高的利润。 32 位 MCU 是嵌入式设计的下一代方向。何时采取行动取决于你。或许是现在,或许是数年内,但在某一点上,你的 8 位 MCU 将耗尽其能力,无法满足当前市场始终变化的需求。大多数设计人员对该步骤感到恐惧。但它并不一定是痛苦的。我们考察了一些目前可以采取、使该转变尽可能平稳的行动。如果你目前仍在进行 8 位内核设计,请确保你所使用的产品系列具有 32 位的对应产品。对于工具来说情况同样。目前很多公司均提供能在不同架构上使用的相同软件和硬件工具。今天选择正确的器件(8 位或 32 位)将能够帮助你以及你的设计在明天获得更大的成功。第四章 基本数据类型有关问题及回答4.1 数据类型的定义uint8_t, uint16_t, 和 uint32_t 不一定是 8 位,16 位和 32 位的,这些都是通过 typedef 定义的,在不同的位机上面是不一样的,例如:typedef uint8_t unsigned char; typedef uint16_6 unsigned short int;typefef uint32_t unsigned int; 而在这个定义之下,及时换了平台,也能保证位机,只需要修改 typedef 或 #define,如果跨平台 onfig 的话,系统会根据你选的 BSP 编译,你可以自己编写一个 c 程序,用 sizeof 函数取得你想知道
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 职业女性心理健康课件
- 2025年湖南省中考数学模拟试卷(二)
- 政治必修一第四课:生产与经济制度
- 初级审计考试题库及答案
- 2024年纺织品设计师职业发展与成长路径试题及答案
- 共享学院面试题及答案
- 保险后勤面试题目及答案
- 广告设计师在不同文化背景下的设计试题及答案
- 小学数学AI教学应用手册
- 华为光芯片笔试题及答案
- 新北师大版八年级下册数学教案+教学计划大全
- 量子通信平台下的宇宙观测-全面剖析
- SL631水利水电工程单元工程施工质量验收标准第1部分:土石方工程
- (正式版)HGT 22820-2024 化工安全仪表系统工程设计规范
- 突发公共卫生事件流行病学-课件
- 外科护理学练习题库判断题及答案
- 八年级地理下册俄罗斯件中图版
- 环网柜基础知识培训课程
- 幼儿园儿童幼儿成长档案可爱模板
- 公积金提取单身声明
- 产业园区物业管理服务交接方案
评论
0/150
提交评论