ARM处理器在全球规模的盛行,32位的RISC嵌入式处理器已经成为嵌入式运用和规划的干流。与国内很多运用的8位单片机比较,32位的嵌入式CPU有着十分大的优势,它为嵌入式规划带来丰厚的硬件功用和额定的功用,使得整个嵌入式体系的晋级只需经过软件的晋级即可完结。而8位处理器一般遭到的64K软件约束也不存在了,规划者简直能够恣意挑选多使命操作体系,并将运用软件规划得杂乱巨大,真实表现“硬件软件化”的规划思维。
什么发生了改动
现在,国内了解8位处理器开发的工程师十分多,开发东西和手法也很丰厚,并且价格较低。而32位处理器的开发与8位处理器的开发则有着许多显着的不同。
榜首,实时多使命操作体系(RTOS)引进32位嵌入式体系。
因为32位CPU的资源丰厚,指令集相对巨大,并且,体系软件比较杂乱,所以,一般在开发时要选用相应的RTOS来对运用软件中的各个使命进行调度。软件规划工程师需求学习全新的RTOS技能,把握底层软件、体系软件和运用软件的规划和调试方法。这关于开发者来说是一个新的应战。
当然,RTOS的引进,也将给嵌入式开发商带来软件的模块化和可移植化等优点,为软件的工程化办理做好预备。
第二,调试的硬件接口发生改动。
在开发8位处理器时,一般选用在线仿真器ICE(In-Circuit-Emulator),ICE经过插座或许相应的夹具代替CPU来进行仿真和开发 作业。而关于32位嵌入式处理器来说,因其过高的时钟频率(50MHZ 至400MHZ以上)和杂乱的封装方法(如BGA)导致ICE很难担任开发东西的 作业。CPU厂商凭借于鸿沟扫描接口(JTAG口)来供给调试信息,供开发者进行开发。
JTAG口一般是一个14Pin或20Pin的插座,JTAG调试器(或称JTAG仿真器)因为可直接从CPU获取调试信息而使得该产品的规划简化,然后使得价格要低于ICE。
第三,体系的开发方法发生改变。
关于一个8位的体系开发来说,规划者只需依照硬件规划及调试、软件(汇编或C言语)编程、定位引导、软件调试、体系联调等进程来进行即可,运用软件的开发一般在硬件之后,且运用软件包是不能通用的。
关于一个32位的嵌入式体系则不同。在硬件规划开发的一起,需求有实时多使命操作体系环境,软件工程师能够一起进行运用软件包的开发和调试。在硬件调试 结束时,应进行BSP(板级支撑包)的规划和调试。在BSP调试经往后,方可进行体系软件和运用软件的联调。一般运用软件的开发能够独自进行。替换 CPU 或硬件渠道后,运用软件包是通用的(要依据相同的RTOS)。
那么,开发一个32位的嵌入式体系需求哪些东西和环境呢?
首要需求挑选一个适宜的多使命操作体系。
现在,商用的RTOS比较多,如Linux、Nucleus、WinCE、VxWorkx等。用户可依据体系的技能要求和商业要求,挑选适宜的一种。
别的,要挑选相应的编译东西和调试环境。
依据所选用的RTOS和编程言语(C或C++)来确认要运用的编译器。关于ARM系列CPU来说,比较常见的有arm公司的SDT和ADS,以及免费的GNU等。
许多厂商将编译器(Compiler)、衔接器(Linker)、定位器(Locater)、模拟器(Simulator)和监控调试器 (Monitor Debugger)作为一个全体供给给用户。这一般称为集成开发环境 IDE(Integrated Development Environment)。选用IDE将给调试带来许多便利。
再者,要挑选适宜的JTAG仿真器。JTAG仿真器的一端经过JTAG衔接电缆与方针板相连,另一端则与主机的调试环境相连。与主机的衔接方法一般有三种。一是并口方 式,一是USB口方法,另一种是网口方法。这三种方法在代码下载速度、衔接便利性、调试资源共享性等方面均有所不同,用户能够依据经费、技能计划要求、主 机环境等实践情况来挑选。别的,JTAG的主频也是影响 JTAG仿真器速度的重要技能指标,越快速的JTAG仿真器,其JTAG主频也越高。
与ICE开发方法类似,JTAG仿真器也供给逻辑追寻功用,以保证硬件调试和软硬件联调的顺利进行。该功用需求添加额定的费用,因而主张只在进行杂乱的体系级开发项目中选购。
好的JTAG仿真器还应该支撑使命级调试。其调试环境除具有丰厚的调试功用,杰出的调试界面外,还应该能够“知道”各种不同类型的RTOS。这样,用户 在进行依据RTOS的软件调试时,能够直接对各种使命进行操作。假如JTAG仿真器不能支撑使命的调试,那么,将给软件开发工程师带来诸多不便,影响开发 进展。
32位嵌入式体系的开发进程中存在其特有的技能难点,因而开发者对其要有充沛的心理预备并做出相应的对策。
BSP的开发和调试 在硬件调试完结后,就需求进行实时操作体系(RTOS)的移植。其间最主要的便是BSP的开发和调试。在整个嵌入式体系中,运用软 件经过对体系软件的调用来完结各种运用功用。而体系软件则是经过BSP来完结与硬件设备的握手衔接。所以,BSP的功用将影响整个体系的可靠性。
因为操作体系(RTOS)厂商供给的开发环境的树立,是依据BSP的正常作业,只要在BSP作业正常后,用户才干“看到”整个体系硬件资源。因而,在此之前,用户对BSP的调试简直是在“盲目”中进行的。BSP的开发调试有时要花费一至两个月乃至更长的时刻。
处理的方法好像不多。一是进步工程师的水平,在CPU的把握、方针板硬件及周边驱动设备的了解、深化了解操作体系(RTOS)的作业机制、体系的资源配置等方面加强学习;别的,要选用好的JTAG仿真器或其它东西。
运用软件的并行开发 因为越来越激烈的快速上市要求,嵌入式体系的开发周期越来越短。这就必定要求在硬件开发的一起,能够进行软件的开发。一方面,用户 能够在一块规范的评价板上来开发一部分软件,待实践方针板硬件和BSP完结后,再进行体系级的调试和开发。另一方面,用户能够凭借实时操作体系 (RTOS)厂商供给的虚拟环境来进行软件开发调试,要开发和调试的软件简直不受任何约束。待实践硬件渠道完结后,只须从头编译衔接,即可下载到方针上运 行。注意在选用RTOS时,添加该东西环境。