(文章来源:电子工程网)
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时,增加该工具环境。
双音多频解调电路
三星研发墨印刷OLED制程 应用于IT面板
魅族Flyme6公测版开始推送 都有哪些新功能?
DS1825 带有4位ID、分辨率可编程设置的1-Wire数
高通5g的波段_5g标准到底华为还是高通
开发一个嵌入式系统所需要的工具和环境要求
小米6什么时候上市:双曲面即将量产,2000万像素双摄加持!
该选择电暖气还是空调来取暖?
焊接易出现的质量问题有哪些?
字体(GB/T 14691-1993)
SENSYS UAV / 无人机测量系统
华为荣耀新机登场,x系震撼曝光,太阳能充电,全息投影
超声波焊接机和热熔焊接机有什么区别?
鼎阳科技成为通用电子测量仪器行业A股上市公司_安捷伦推出Seahorse XF Pro分析仪
网络与CDN联合打造双重加速智能网络
关于继电器逻辑控制系统输出线圈的使用问题
移印工艺流程以及工艺异常分析
基于DSP的机载视频图像实时压缩与处理系统
介绍温度冲击试验箱的高温区和低温区
微星科技携手NVIDIA为用户打造极致体验