下载

5下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 ARM嵌入式系统开发综述

ARM嵌入式系统开发综述.

ARM嵌入式系统开发综述

陈严贵
2019-05-20 0人阅读 举报 0 0 0 暂无简介

简介:本文档为《ARM嵌入式系统开发综述doc》,可适用于职业教育领域

视听研究所主页:论坛:所有资料均收集于各网站。若您认为有关资料不适合公开请联系newvideogmailcom我们会第一时间删除。感谢各位网友的无私奉献和支持!加密时间:获取更多权威电子书请登录ARM嵌入式系统开发综述ARM开发工程师入门宝典获取更多权威电子书请登录前言嵌入式系统通常是以具体应用为中心以处理器为核心且面向实际应用的软硬件系统其硬件是整个嵌入式系统运行的基础和平台提供了软件运行所需的物理平台和通信接口而嵌入式系统的软件一般包括操作系统和应用软件它们是整个系统的控制核心提供人机交互的信息等。所以嵌入式系统的开发通常包括硬件和软件两部分的开发硬件部分主要包括选择合适的MCU或者SOC器件、存储器类型、通讯接口及IO、电源及其他的辅助设备等软件部分主要涉及OSporting和应用程序的开发等与此同时软件中断调试和实时调试、代码的优化、可移植性可重用以及软件固化等也是嵌入式软件开发的关键。嵌入式系统开发的每一个环节都可以独立地展开进行详细的阐述而本文的出发点主要是为嵌入式开发的初学者者提供一个流程参考。因为对于初学者在面对一个嵌入式开发项目的时候往往面临着诸多困难如选择什么样的开发平台?什么样的器件类型?在进行编译时怎样实现代码优化?开发工具该如何选择和使用?在进行程序调试时应该注意那些问题以及选择什么样的嵌入式OS等等。希望通过本文能帮助初学者了解有关ARM嵌入式系统开发流程。获取更多权威电子书请登录目录前言嵌入式开发平台ARM的开发平台:器件选型工具选择编译和连接RVCT的优化级别与优化方向Multifilecompilation调试操作系统哪里可以得到os软件包(OpenSourceandLinuxKernel安装镜像交叉编译总结获取更多权威电子书请登录嵌入式开发平台通常嵌入式开发的平台主要包括基于SoC或MCU开发板板上提供常用的外设、接口和其他功能模块开发者一般根据自己的应用需要选择适合自己板级开发平台。在这样的平台上开发者可以进行硬件的扩展操作系统移植和应用软件的开发、调试及固化并最终形成自己的产品推向市场。但是基于该平台的软件开发工作往往需要等到硬件平台完成后才能开展这显然不利于缩短TTM(TimetoMarket)同时调试的过程也是需要反复迭代和修改设计的过程因此硬件方案的变动在所难免。因此在系统方案没有最终定型前急于搭建硬件平台不仅费时费力而且也会造成系统开发成本的提高。因此在进行方案设计的时候利用CPU或者其他外设的模型进行早期的评估是非常必要的。ARM的开发平台:!ARMulator仿真平台这是一套最基础的ARM指令集仿真器内嵌于ADS和RVDS中是每一位ARM开发者的很好的起点。ARMulator可以模拟执行开发人员编写的C或汇编程序支持源代码调试帮助开发者确定代码编写的正确性。另一方面ARMulator还能大致统计出诸如:代码执行周期数Cache命中率存储器访问等利于我们优化代码的信息。但ARMulator是基于CPU的模拟缺点在于比较难于模拟整个芯片系统的行为。!RealViewIntegratorCP平台获取更多权威电子书请登录RealViewIntegratorCP平台(RealViewIntegratorCompactPlatform)可以整合CoreModule。CoreModuleFPGA还整合了ARMPrimeCell系列周边器件和内存控制器包括LCDMMC卡音频解码以及客户自己开发AHB接口器件。!VersatilePBAB平台VersatilePlatformBaseboard(VersatilePB)是一个可以开发软硬件的PCB平台可以用LogicTileAnalyzerTile进行扩展用来连接用户开发的器件逻辑分析仪等。而VersatileApplicationBaseboard(VersatileAB)主要区别是硬件扩展功能有限因而主要用来进行软件应用开发。!EmulationBaseboard(EB)EB平台有一块相对大的FPGA(XilinxVirtexXCV)可以放下用户设计的周边器件EB可以通过CoreTile和LogicTile进行扩展使用户做原型验证更加方便。!ESL虚拟平台ARMESL虚拟平台利用SystemC模型构建整个SoC系统可以基于两种模型构建:时钟精确型(CA)和时钟近似型(CX)CA模型提供了和实际硬件时钟节拍一直的精确度利用ESLSoCDesigner工具在ESLCA模型构建虚拟获取更多权威电子书请登录仿真平台上SoC硬件工程师利用ESL工具提供的强大的诸如Core运行状态监视、BusProfiling、Cache工作状态和MemoryMapping等可视化插件对系统性能观测和分析定位系统性能的瓶颈实现硬件的性能优化和功能划分。此外对于嵌入式软件开发工程师而言ESL虚拟平台带来的最大好处是让软件开发在更早的阶段开展而不必等到在硬件平台上进行此工作。这样以来软硬件开发工作可以并行提高缩短产品上市时间软硬件的协同开发还可以尽早发现系统bug降低开发风险和成本。同时该虚拟平台还提供了ARM软件开发调试工具接口同步进行软件调试在ESL虚拟平台上实现软硬件的协同仿真可以实现优化软件的目的。从图看传统流程中容易引起反复的环节而对引入ESL的开发流程可将诸如驱动开发调试等提前放置到虚拟开发平台上进行实现系统设计的优化、缩短开发周期等。而且仿真环境所能提供的调试手段是FPGA平台所无法比拟的。图传统和引入ESL工具的SoC开发流程获取更多权威电子书请登录!RTSMRTSM(实时系统模型)是对整个芯片系统在指令集层面上的仿真它能提供快速、准确的指令仿真以及与RealViewDebugger的无缝连接。大型应用程序的开发可以使用RTSM模拟技术来完成。RTSM模拟包括LCD显示器、键盘和鼠标等外设的仿真。不到s就可以利用PC在ARM处理器上对OS的启动过程进行模拟用户可以在ARM提供的RTSM上进行快速的软件仿真。这是OEM在开发软件系统时成本最低的方法。想象一下芯片公司不用等到芯片生产出来也不用把缓慢的FPGA板交给方案厂商或OEM只需要将整个芯片的模型交付下游厂家就可以尽早尽快地将软件方案开发完毕。最终产品几乎可以从芯片生产出来就准备上市。器件选型器件的选择归根结底是为嵌入式系统选择合适的处理器芯片。ARM处理器是最常见的嵌入式处理器之一它以低功耗、低成本和高性能而深受业界的青睐。而且ARM是目前产业中资源最为广泛的嵌入式处理器基于广大的ARM合作伙伴计划开发者可以在这个联盟里寻求到各种自己意想不到的帮助。从图给出了常见的ARM处理器的架构和支持的操作系统。目前在业内广为人知的ARM处理器主要有ARM系列和ARM系列同时为了关注今后嵌入式系统的发展也有必要了解一下最新的ARM和ARMCotex系列处理器。获取更多权威电子书请登录图ARM体系结构ARM系列ARMTDMI是ARM系列中使用最广泛的它是从最早实现位地址空间编程模式的ARM内核发展而来的并增加了位乘法指令支持片上调试、位Thumb指令集和EmbeddedICE观察点硬件。ARMTDMI属于ARMv体系结构采用冯诺伊曼结构级流水处理平均DMIPsMhz性能。不过ARMTDMI没有MMU(MemoryManagementUnit)和Cache所以仅支持那些不需要MMU和Cahce的小型实时操作系统如VxWorks、uCOSII和uLinux等RTOS。其他的ARM系列内核还有ARMT和ARMES等。ARM系列ARMTDMI相比ARMTDMI将流水级数提高到级从而增加了处理器的获取更多权威电子书请登录时钟频率并使用指令和数据存储器分开的哈佛结构以改善CPI和提高处理器性能平均可达DMIPsMhz但是ARMTDMI仍属于ARMvT体系结构。在ARMTDMI基础上又有ARMT、ARMT和ARMT其中ARMT增加了MPU(MemoryProtectUnit)和CacheARMT和ARMT加入了MMU、Cache和ETM(方便进行CPU实时trace)从而更好的支持象Linux和WinCE这样的多线程、多任务操作系统。ARME系列ARME系列属于ARMvTE在ARMTDMI的基础上增加了DSP扩展指令是可综合内核主要有ARMES、ARMES、ARMES和ARMEJS(vTEJ指令体系增加了Java指令扩展)其中ARMEJS是最具代表性的。通过DSP和Java的指令扩展可获得%的DSP处理能力和x的Java处理性能提升。另外分开的指令和数据Cache结构进一步提升了软件性能指令和数据TCM(TightlyCoupleMemory:紧耦合存储器)接口支持零等待访问存储器双AMBAAHB总线接口等。ARMEJS可达Mhz以上的处理速度很好地支持SymbianOS、Linux、WindowsCE和PalmOS等主流操作系统。ARM系列ARM系列主要有ARM、ARM、ARM和ARMMPCore等它们都是v体系结构相比v系列增加了SIMD多媒体指令获得x多媒体处理能力的提升。另外除了ARM外其他的处理器都支持AMBAAXI总线。ARM系列内核最高的处理速度可达Mhz以上(其中nm获取更多权威电子书请登录工艺下ARM可达到Mhz)以及DMIPS的性能请参考和图相关描述。图ARM系列内核基于ARMv架构的ARM系列处理器是根据下一代的消费类电子、无线设备、网络应用和汽车电子产品等需求而制定的。其的媒体处理能力和低功耗特点使它特别适合于无线和消费类电子产品其高数据吞吐量和高性能的结合非常适合网络处理应用另外在实时性能和浮点处理等方面ARM可以满足汽车电子应用的需求。ARMCotex系列Cortex系列是ARM公司目前最新内核系列属于v架构主要有CortexA、CortexR、CortexM和CortexM等处理器其中A是面向高性能的应用处理器最高可达Ghz的处理速度更好的支持多媒体及其他高性能要求最高可达DMIPSR主要面向嵌入式实时应用领域(RealTime)级流水结构相对于上代ARM内核R在性能、功耗和面积(PPA:PerformancePowerandArea)取得更好的平衡>DMIPSMhz和高于Mhz的处理速度。而M主要是面向低成本和高性能的MCU应用领域相比ARMTDMIM面积更小功耗更低性能更高。CortexM处理器的核心获取更多权威电子书请登录是基于哈佛架构的级流水线内核该内核集成了分支预测单周期乘法硬件除法等众多功能强大的特性使其在Dhrystonebenchmark上具有出色的表现(DMIPSMHz)。根据Dhrystonebenchmark的测评结果采用新的Thumb指令集架构的CortexM处理器与执行Thumb指令的ARMTDMIS处理器相比每兆赫的效率提高了与执行ARM指令的ARMTDMIS处理器相比效率提高了。目前已经有Cortex系列内嵌的产品问世如TI公司推出的基于CortexA内核的OMAPTI、ST和Luminary也推出了基于CortexM内核的低成本高性能位MCU更多详情请登陆这些公司的主页查询。工具选择根据开发目标平台的不同ARM提供不同的工具解决方案。MDKARMRealViewMicrocontrollerDevelopmentKit(MDK支持基于ARMARMCortexM微控制处理器例如AtmelFreescaleLuminaryNXPOKISamsungSharpSTTI等厂家的产品。MDK提供工业标准的编译工具和强大的调试支持。MDK是专为MCU的用户开发嵌入式软件而设计的一套开发工具。包括根据器件定制的调试仿真支持丰富的项目模版固件示例以及为内存优化的RTOS库。MDK上手容易功能强大适合微控制器应用程序开发。RVDS获取更多权威电子书请登录正如前面所介绍RVDS是专为SOCFPGA以及ASIC用户开发复杂嵌入式应用程序或者和操作系统平台组件接口而设计的开发工具。RVDS支持器件设计支持多核调试支持基于所有ARM和Cortex系列CPU的程序开发。RVDS还可以和第三方软件进行很好的连接。图RVDS和RVMDK如上图表示:MDK主要是为终端客户提供价格低廉功能强大的开发工具。集成了RealView编译工具KeiluVision开发环境支持基于ARM,ARM,CortexM,CortexM产品的仿真提供非常高效的RTOSKernel除此提供的RealTime库还有TCPIP网络套件Flash文件系统USB器件接口CAN总线接口等方便终端用户进行应用开发。因此对于MDK用户来说他们得到的就是可以对MCU进行仿真和调试容易使用又没有冗余的功能关键是价格实惠而且用户可以先试用再购买。对于芯片设计公司以及相关解决方案提供商来说需要的是更加强大的工具可以进行多核调试需要更加先进的调试和分析功能可以支持多种操作系获取更多权威电子书请登录统可以进行IP整合开发可以结合ESL工具进行架构评估系统软硬件划分等那么选择RVDS可以提供完整解决方案。编译和连接ARMRealView编译工具已经发展了年一直致力于为客户提供最好的编译器。RVDS是ARM公司继SDT与ADS之后主推的新一代开发工具目前最高版本是。它由RealView编译器(RVCT)、RealView汇编器(armasm)、RealView连接器(armlinker)以及RealView调试器(RVDebugger)三部分组成。RVDS对代码密度的提升、代码执行速度的提高都可以由ARM开发工具自动实现而不需要软件开发人员花费过多的时间手动优化高级语言代码。这是RVDS的优势所在。先前版本中的编译器armcctccarmcpptcpp已经整合成一个编译器armcc可以将标准的C或C语言源程序编译成位ARM指令代码或者位Thumb指令代码或者Thumb指令代码。编译器输出的ELF格式的目标文件包含调试信息。除此之外编译器可以输出所生成的汇编语言列表文件。RVDS的编译器根据最新的ARM架构进行特别的优化针对每个ARM架构都提供最好的代码执行性能最优的代码密度。可以根据需要选择调试信息级别以及不同的代码优化方向和优化级别。RVCT中C和RogueWaveC库包括获取更多权威电子书请登录!完整ISO标准C语言库标准C语言函数集C语言库需要的支持函数以及在Semihosted执行环境中需要的目标相关的函数。ARMC语言库结构使用户很容易定义目标相关函数以适应特定的目标环境。!浮点函数库使用ARM在IEEE标准(二进制浮点算法)上实现的浮点环境。!RogueWaveC库RogueWaveC库包含标准C函数编译器需要的支持函数。各种源文件经过ARM编译器编译后生成ELF格式的目标文件。这些目标文件和相应的CC运行时库经过ARM连接器处理后生成ELF格式映像文件。ARM连接器可以去除使用不到的代码段和函数这样可以减少内存的使用。ARM连接器可以将不同的指令代码和数据代码放置到不同的内存地址范围。()通常在嵌入式系统中指令和数据代码会固化在非易失性存储器中(ROM或Flash)可以从这些地方上电启动。从运行速度方面考虑部分指令和数据代码会在启动后搬运到易失性存储器(RAM中因此连接器可以使用一些方法机制来配置调度。这种分散装载(scatterloading)的机制可以让把不同的指令和数据分散的放到不同的地址而且这些地址在系统启动和系统运行可以是不同的映射。获取更多权威电子书请登录详细的地址分配可以是用参数来指定或者用一个描述文件来作为连接器的参数。使用描述文件会使维护起来非常简单而且如果要改变地址分配不需要把整个项目完全重新来做只要把项目中需要的目标重新连接即可。一个scatterloading文件的示例:LOADFLASHxx启动地址和长度{EXEFLASHxx{inito(Init,First*(RO}bitRAMxx{vectorso(Vect,Firstinthandlero(RO}bitRAMxx{*(RW,ZI}}获取更多权威电子书请登录!本文件定义了启动区域和三个执行区域。在大括号外面定义了启动区域(LOADFLASH)里面三个定义了执行区域(EXECFLASH,bitRAM,bitRAM。!为了提高运行速度异常向量(在vectorss)和异常句柄(在inthandlerc)被重新放置到bitRAM的零地址开始的地方。!可以读写的变量被复制到bitRAM的x地址开始的地方。!零初始化的数据和可读写数据放在bitRAM内。!其他不需要搬运的代码只需要还放在Flash里就好。RVCT的优化级别与优化方向提到RVCT就不能不提armcc的四个优化级别和两个编译选项O、O、O、O以及Otime、Ospace。Ospace与Otime负责给编译器提供代码优化的大方向告知编译器编译任务的主要目标是代码密度(Ospace)还是代码性能(Otime)。而O、O、O、O则分别代表种逐次递进的不同优化级别。OSpace还是OTime?显然代码密度与代码执行速度在很多情况下是一对矛盾。以下面的代码为例。例中左右两段代码可以完成相同的任务但是左边的有较高的代码密度右边的则有较高的执行速度。因为当expr=时标志循环结束时右边的代码可以顺序执行下去而左边代码必须先跳转至循环体首部判断expr的值随获取更多权威电子书请登录后再跳转道循环体尾继续执行下一条指令。例代码速度与尺寸的对比while(exprif(exprdo{{dobody{body}}那么我们什么时候使用Otime什么时候使用Ospace呢?Otime与Ospace需要开发人员根据系统实际需求来决定最好的情况是在两者之间找到一个合适的平衡点而不是单纯的追求速度或者代码尺寸的缩小。即将不同的代码模块根据其特性分别使用不同的编译选项。此外RVCT编译器支持很多非常有用的编译选项如noinline(取消所有代码的内联函数)、splitldm(限制LDMSTM指令的最大操作寄存器数目)、splitsections(将每个函数而不是源文件作为一个编译单元进行操作)等等。编译器的所有这一切都可以严格根据开发者的要求帮助开发人员得到系统真正需要的优化过了的代码。O还是O?}while(expr获取更多权威电子书请登录老的开发工具如ADS中只有种递进的代码优化级别对应种编译选项即O(Minimumoptimization)、O(Restrictedoptimization)、O(Highoptimization)。使用O编译选项时RVCT编译器只对代码作最基本的优化操作编译结束后用户得到的代码与用户手写源代码之间的差距很小这种特性的主要作用是为了方便用户在程序开发阶段的调试工作避免由于优化而产生的调试屏障。此外很多资深软件工程师偏向于手写优化代码在这种情况下由于代码已经被优化过可以使用O编译选项减少RVCT的工作量节省编译链接的时间。O与O则分别是相对于O更加高级别的编译优化选项前者提供有限的优化后者则会对代码进行较大程度的优化改进操作。RVDS中新增加了O(Maximumoptimization)编译选项它可以最大程度的发挥RVCT编译器的优势将代码编译成最优。O与O都是较高级别的编译优化选项但O相比较于O主要优势有以下几点。当用户使用O选项时:――编译器会自动对代码进行髙阶标量优化。所谓的高阶标量优化就是编译器对根据代码特点针对循环、指针等进行髙阶优化。――编译器会把尽可能多函数的编译为内联(inline)函数――Multifilecompilation功能被自动使能。对于循环与指针的髙阶优化(Highlevelscalaroptimizations)当编译选项为O–Otime时RVCT会根据代码的具体情况针对循环、获取更多权威电子书请登录指针等部分作髙阶优化工作:循环解开(Loopunrolling)、融合(fusion)、位置调整(interchange)、指针优化等等。以例的函数为例。例是一段简单的C循环函数在循环中含有数组指针调用。例CodeAvoidincrement(int*restrictb,int*restrictc{intifor(i=i<i{ci=bi}}CodeBvoidincrement(int*b,int*c{intiint*pb,*pcintb,bpb=bpc=cb=pb获取更多权威电子书请登录for(i=(i!=i{b=*(pb=pc=bb=pb*(pc==b}}仔细观察可以发现CodeA与CodeB可以完成同样的功能即将数组b的每个成员加赋值给数组c对应成员。但是CodeB与CodeA相比有较高的执行速度。主要体现在以下几点:――循环次变成了循环次(loopunrolling)减少了跳转次数――数组变成了指针减少每次计算数组偏移量的指令――微调了不同代码操作的执行顺序减少了流水线stall的情况――循环从++循环变成了――循环。这样可以使用ARM指令的条件位为每次循环减少了一条判断指令。很多程序员就是这样通过这种手写不同的C代码再实现相同任务的情况下提高了代码执行效率。在RVDS中使用O–Otime编译选项RVCT会自动帮助程序员进行这些髙阶标量优化即RVCT会直接将CodeA优化成以前由CodeB才能得到的汇编代码。虽然优化之后函数的代码尺寸大于原先的函数但是执行速度却有大获取更多权威电子书请登录大的提高经过统计使用EEMBCbenchmarkingO编译选项编译得到的最终代码平均性能相对于O可以有%的提升而总体代码尺寸只增加了%。Multifilecompilation按照传统的编译方式我们先把各个C或C文件单独编译成obj文件再将这些目标文件链接在一起。考虑到虽然在编译单独的C或C文件时编译器会充分发挥它的优化特性但此时编译器无法关注到大量的C或C文件接口之间可以优化的部分。所以在传统的编译结果里还有许多优化的余地。如何才能让编译器同时关注和编译所有的源代码呢?Multifilecompilation是RVDS一个较新的特性它可以帮助开发人员将所有的源文件作为一个compilationunit进行编译并最终生成一个大的目标文件(如图中的fileo)。Mutifilecompilation给软件开发人员带来的直接优势有以下几点:――增加inline的可能性。由于inline只能发生在一个compilationunit中所以在没有使用mutifilecompilation时inline只能发生在一个源文件范围内。MultifileCompilation将一个compilationunit扩大到了所有源文件的范围上所以直接增加了inline发生的几率。――增加了基地址与函数间优化的可能性。同inline一样所有的基地址与函数间的优化也必须在一个compilationunit中随着conpilationunit的扩大这种优化的可能性也增加了。获取更多权威电子书请登录――减少了scatterfile的复杂性。图Mutifilecompilation工作原理调试由前面的介绍已经知道RealViewDebugger(RVD)是RVDS的重要组件之一。RealViewDebugger可以更好的帮助客户在复杂SoC设计中方便直观的调试软硬件。!方便协调的开发软硬件RVD可以和RealViewSoCDesigner一起调试这样软硬件开发人员可以更早的进行合作开发而且双方都是使用各自熟悉的工具这样可以有效地缩短开发周期。!单核或多核调试RVD使用同步机制进行多核调试使用RVD在一个处理器上设置的断点可以停止整个系统这样可以观测复杂的多核系统的各种关键状态信息。获取更多权威电子书请登录!调试操作系统和中间件RVD支持调试业内各种流行的操作系统正如操作系统一章所述RVD可以直观的观测操作系统的执行文本和各种资源。!调试跟踪性能评估RVD可以对基于ARM处理器的设计进行非插入式的实时地捕捉数据指令和显示从而实现调试跟踪以及性能评估。目前业内其他的调试工具还不能达到有如RVD这样出色的性能。RVD可以对RealViewESL对系统模型进行调试也可以使用RealViewICE以及RealViewTrace对真实的硬件系统进行调试跟踪和性能评估。!调试目标设备无论是开发一个新的软硬件架构一个操作系统还是一个应用程序RVD可以连接到SoC模型指令集仿真模型实时系统模型或者真实的硬件处理器来帮助完成开发。如此广泛的支持使得RVD在整个开发周期中成为一个不可或缺的得力的开发工具。操作系统随着高端电子消费类产品的广泛普及实时嵌入式操作系统使用越来越广泛。而基于ARM的嵌入式操作系统在各个领域都得到了广泛的应用利用ARM系列产品的强大功能可以完成各种应用程序的开发。ARM对操作系统以及系统开发执行环境提供最广泛的选择客户可以根据需要来选择最适应市场要求的基于ARM的嵌入式操作系统。可供选择的嵌入式获取更多权威电子书请登录操作系统有几十种使用较多的有Linux,WinCE,Palm,Symbian等等。采用WinCE更多的是OEM以及按需进行特定的嵌入式器件开发的例如GPS导航设备。采用Palm操作系统的厂家有联想三星索尼他们的出货量都非常巨大。Symbian操作系统是先进的全球公开工业标准操作系统基于Symbian操作系统的手机有:BenQDoCoMoMotorolaNokiaPanasonic三星索尼爱立信等。Linux是源代码开放的操作系统可以运行在包括ARM等多种主流处理器架构上。由于有一大批的工程师在开发开放源代码以及相关开发工具Linux可以更方便快捷的进行移植。以Linux为例选择基于ARM的Linux可以得到更多的开发源代码的应用可以利用ARM处理器的高性能开发出更广阔的网络和无线应用ARM的Jazelle技术带来Linux平台下Java程序更好的性能表现。ARM公司的系列开发工具和开发板以及各种开发论坛的可利用信息带来更快的产品上市时间。获取更多权威电子书请登录wwweetchinacom哪里可以得到os软件包(OpenSourceandLinuxKernelDevelopmentArchitecturePlatformsSiliconPartnerswwwkernelorgLinuxVendorsetc图ARM网站上可以下载到基于RealViewItegrator和RealViewVersatile平台的LinuxKernel镜像文件补丁以及实用工具。我们都知道Linux是需要进行虚拟地址管理的因此需要处理器整合有MMU。并不是所有的处理器都整合有MMU因此可以在不具备MMU的处理器上运行的修改过的Linux又叫做uClinuxuClinux同样可以从ARM网站上下载。可以以基于ARM的Linux开发为例浏览一下整个开发流程:需要的相关软件:!BootLoader:UBoot。!预编译的Linuxkenel包括源文件和镜像文件。硬件工程师必读攻略如何通过仿真有效提高数模混合设计性能(上获取更多权威电子书请登录wwweetchinacom!配置文件。!文件系统以及预编译的实用工具和应用软件。首先可以从下载UBoot和Linux的镜像文件相关开发平台有RealViewIntegratorCP平台VersatilePBAB平台EB平台。安装镜像可以使用与主板相连的调试器通过JTAG运行控制设备(如ARMRealViewICE单元)将映像安装到闪存中。以PBEJS为例使用从调试器运行主板随附的BootMonitoraxf程序来编写映像。Flash菜单提供一些编写ELF或二进制映像的选项。RealViewVersatile系列还提供一个闪存编程实用工具即“网络闪存实用工具”(NFU)。该程序可以通过以太网连接将映像编写到闪存中。使用UBoot完成对闪存中的镜像引导。可以通过UBoot完成对Linux的一些设置以及将一些环境保存到闪存中。LinuxKernel可以从wwwkernelorg上得到。交叉编译主机系统上必需安装ARM交叉编译工具链来生成Linux内核或应用程序。(系统中需安装Glibclibrary或更高版本)。可从wwwcodesourcerycom或GCCCVS主存储库下载用于构建硬件工程师必读攻略如何通过仿真有效提高数模混合设计性能(上获取更多权威电子书请登录wwweetchinacomGCC工具的源文件。该网站还提供讨论组供用户讨论ARMGNU工具的相关技术问题开发人员可以从wwwcodesourcerycom下载用于构建GCC工具的源文件。该网站还提供讨论组供用户讨论ARMGNU工具的相关技术问题。armelf生成与任何操作系统无关的平坦或独立二进制文件。armelf会选择ELF支持其大部分代码与armlinux共享。armnonelinuxgnueabi是Linux所需的目标它生成LinuxARM的ELF支持。ARMRealView开发工具总结本文概略的介绍了ARM公司的开发工具如何选择您需要的器件从一个SoC设计者或者软件开发者的角度如何选择开发工具RealView开发工具中的编译工具、连接工具以及调试工具。简单描述了开发操作系统以及相关应用程序的步骤。无论是硬件系统开发还是软件开发调试都是最重要也是需要时间最多的环节软硬件开发人员的沟通也是缩短产品上市时间的关键。强大的RealViewDebugger成为不同的开发团队之间沟通最好媒介。RealView开发工具使得调试环境保持一致软硬件开发人员更加协调。而后续开发人员或者第三方开发者可以更好继承这一调试环境包括操作系统以及应用程序库配以RealView系列工具的支持可以更迅速的完成新的设计。硬件工程师必读攻略如何通过仿真有效提高数模混合设计性能(上获取更多权威电子书请登录wwweetchinacom电子工程专辑优秀电子书#电子工程师必备手册(上)GPS设计全攻略(HOT#电子工程师必备手册(下)运算放大器设计与应用(HOT#TDSCDMA射频系统发射部分性能监测方法(HOT#LTC四输出负载点DCDCμModule系统设计要点#D类音频放大器设计:概念、原理和方法#车用电容传感器的新契机#LCDTV(欧洲机型AV输入设计#PolySwitchLVRLVRL器件有助于家用和专业电器的电机保护#OFDM原理#视觉人体工程学设计要点硬件工程师必读攻略如何通过仿真有效提高数模混合设计性能(上

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

评分:

/26

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利