ARM开发工程师入门宝典

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

获取更多权威电子书请登录硬件工程师必读攻略----如何通过仿真有效提高数模混合设计性能(上)2/28前言嵌入式系统通常是以具体应用为中心,以处理器为核心且面向实际应用的软硬件系统,其硬件是整个嵌入式系统运行的基础和平台,提供了软件运行所需的物理平台和通信接口;而嵌入式系统的软件一般包括操作系统和应用软件,它们是整个系统的控制核心,提供人机交互的信息等。所以,嵌入式系统的开发通常包括硬件和软件两部分的开发,硬件部分主要包括选择合适的MCU或者SOC器件、存储器类型、通讯接口及I/O、电源及其他的辅助设备等;软件部分主要涉及OSporting和应用程序的开发等,与此同时,软件中断调试和实时调试、代码的优化、可移植性/可重用以及软件固化等也是嵌入式软件开发的关键。嵌入式系统开发的每一个环节都可以独立地展开进行详细的阐述,而本文的出发点主要是为嵌入式开发的初学者者提供一个流程参考。因为对于初学者在面对一个嵌入式开发项目的时候,往往面临着诸多困难,如选择什么样的开发平台?什么样的器件类型?在进行编译时怎样实现代码优化?开发工具该如何选择和使用?在进行程序调试时应该注意那些问题以及选择什么样的嵌入式OS等等。希望通过本文,能帮助初学者了解有关ARM嵌入式系统开发流程。获取更多权威电子书请登录硬件工程师必读攻略----如何通过仿真有效提高数模混合设计性能(上)3/28目录前言..........................................................................................21嵌入式开发平台......................................................................41.1ARM的开发平台:.........................................................41.2器件选型.........................................................................72工具选择...............................................................................113编译和连接............................................................................133.1RVCT的优化级别与优化方向.......................................163.2Multifilecompilation......................................................213.3调试...............................................................................224操作系统...............................................................................234.1哪里可以得到os软件包(OpenSourceandLinuxKernel)................................................................................254.2安装镜像.......................................................................264.3交叉编译.......................................................................26总结..........................................................................................27获取更多权威电子书请登录硬件工程师必读攻略----如何通过仿真有效提高数模混合设计性能(上)4/281嵌入式开发平台通常嵌入式开发的平台主要包括基于SoC或MCU开发板,板上提供常用的外设、接口和其他功能模块,开发者一般根据自己的应用需要选择适合自己板级开发平台。在这样的平台上开发者可以进行硬件的扩展,操作系统移植和应用软件的开发、调试及固化,并最终形成自己的产品推向市场。但是基于该平台的软件开发工作往往需要等到硬件平台完成后才能开展,这显然不利于缩短TTM(TimetoMarket),同时调试的过程也是需要反复迭代和修改设计的过程,因此硬件方案的变动在所难免。因此在系统方案没有最终定型前,急于搭建硬件平台不仅费时费力,而且也会造成系统开发成本的提高。因此在进行方案设计的时候,利用CPU或者其他外设的模型进行早期的评估是非常必要的。1.1ARM的开发平台:!ARMulator仿真平台这是一套最基础的ARM指令集仿真器,内嵌于ADS和RVDS中,是每一位ARM开发者的很好的起点。ARMulator可以模拟执行开发人员编写的C或汇编程序,支持源代码调试,帮助开发者确定代码编写的正确性。另一方面,ARMulator还能大致统计出,诸如:代码执行周期数,Cache命中率,存储器访问等利于我们优化代码的信息。但ARMulator是基于CPU的模拟,缺点在于比较难于模拟整个芯片系统的行为。!RealViewIntegrator-CP平台获取更多权威电子书请登录硬件工程师必读攻略----如何通过仿真有效提高数模混合设计性能(上)5/28平台(RealViewIntegratorCompactPlatform)可以整合CoreModule。CoreModuleFPGA还整合了ARMPrimeCell系列周边器件和内存控制器,包括LCD,MMC卡,音频解码,以及客户自己开发AHB接口器件。!VersatilePB/AB平台(VersatilePB)是一个可以开发软硬件的PCB平台,可以用LogicTile,AnalyzerTile进行扩展,用来连接用户开发的器件,逻辑分析仪等。而VersatileApplicationBaseboard(VersatileAB)主要区别是硬件扩展功能有限,因而主要用来进行软件应用开发。!EmulationBaseboard(EB)平台有一块相对大的FPGA(XilinxVirtex2XC2V6000)可以放下用户设计的周边器件,EB可以通过CoreTile和LogicTile进行扩展,使用户做原型验证更加方便。!ESL虚拟平台虚拟平台利用SystemC模型构建整个SoC系统,可以基于两种模型构建:时钟精确型(CA)和时钟近似型(CX),CA模型提供了和实际硬件时钟节拍一直的精确度,利用ESLSoCDesigner工具在ESLCA模型构建虚拟获取更多权威电子书请登录硬件工程师必读攻略----如何通过仿真有效提高数模混合设计性能(上)6/28仿真平台上,SoC硬件工程师利用ESL工具提供的强大的诸如Core运行状态监视、BusProfiling、Cache工作状态和MemoryMapping等可视化插件对系统性能观测和分析,定位系统性能的瓶颈,实现硬件的性能优化和功能划分。此外,对于嵌入式软件开发工程师而言,ESL虚拟平台带来的最大好处是让软件开发在更早的阶段开展,而不必等到在硬件平台上进行此工作。这样以来软硬件开发工作可以并行提高,缩短产品上市时间,软硬件的协同开发还可以尽早发现系统bug,降低开发风险和成本。同时该虚拟平台还提供了ARM软件开发调试工具接口同步进行软件调试,在ESL虚拟平台上实现软硬件的协同仿真,可以实现优化软件的目的。从图1看,传统流程中容易引起反复的环节,而对引入ESL的开发流程,可将诸如驱动开发调试等,提前放置到虚拟开发平台上进行,实现系统设计的优化、缩短开发周期等。而且仿真环境所能提供的调试手段,是FPGA平台所无法比拟的。图1传统和引入ESL工具的SoC开发流程获取更多权威电子书请登录硬件工程师必读攻略----如何通过仿真有效提高数模混合设计性能(上)7/28!RTSM(实时系统模型)是对整个芯片系统在指令集层面上的仿真,它能提供快速、准确的指令仿真,以及与RealViewDebugger的无缝连接。大型应用程序的开发可以使用RTSM模拟技术来完成。RTSM模拟包括LCD显示器、键盘和鼠标等外设的仿真。不到5s,就可以利用PC在ARM处理器上对OS的启动过程进行模拟,用户可以在ARM提供的RTSM上进行快速的软件仿真。这是OEM在开发软件系统时成本最低的方法。想象一下,芯片公司不用等到芯片生产出来,也不用把缓慢的FPGA板交给方案厂商或OEM;只需要将整个芯片的模型交付,下游厂家就可以尽早尽快地将软件方案开发完毕。最终产品几乎可以从芯片生产出来就准备上市。1.2器件选型器件的选择归根结底是为嵌入式系统选择合适的处理器芯片。ARM处理器是最常见的嵌入式处理器之一,它以低功耗、低成本和高性能而深受业界的青睐。而且ARM是目前产业中资源最为广泛的嵌入式处理器,基于广大的ARM合作伙伴计划,开发者可以在这个联盟里寻求到各种自己意想不到的帮助。从图2给出了常见的ARM处理器的架构和支持的操作系统。目前在业内广为人知的ARM处理器主要有ARM7系列和ARM9系列,同时为了关注今后嵌入式系统的发展,也有必要了解一下最新的ARM11和ARMCotex系列处理器。获取更多权威电子书请登录硬件工程师必读攻略----如何通过仿真有效提高数模混合设计性能(上)8/28图2ARM体系结构ARM7系列ARM7TDMI是ARM7系列中使用最广泛的,它是从最早实现32位地址空间编程模式的ARM6内核发展而来的,并增加了64位乘法指令,支持片上调试、16位Thumb指令集和EmbeddedICE观察点硬件。ARM7TDMI属于ARMv4体系结构,采用冯诺伊曼结构,3级流水处理,平均0.9DMIPs/Mhz性能。不过ARM7TDMI没有MMU(MemoryManagementUnit)和Cache,所以仅支持那些不需要MMU和Cahce的小型实时操作系统,如VxWorks、uC/OS-II和uLinux等RTOS。其他的ARM7系列内核还有ARM720T和ARM7E-S等。ARM9系列ARM9TDMI相比ARM7TDMI,将流水级数提高到5级从而增加了处理器的获取更多权威电子书请登录硬件工程师必读攻略----

1 / 28
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功