0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详细解析32位嵌入式处理器与8位处理器应用开发的不同之处

m3eY_edn_china 来源:互联网 作者:佚名 2018-02-07 09:14 次阅读

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时,增加该工具环境。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式处理器

    关注

    0

    文章

    246

    浏览量

    30402
  • BSP
    BSP
    +关注

    关注

    1

    文章

    83

    浏览量

    25743
  • JTAG仿真器
    +关注

    关注

    0

    文章

    7

    浏览量

    13810

原文标题:32位嵌入式处理器与8位处理器应用开发有什么不同?

文章出处:【微信号:edn-china,微信公众号:EDN电子技术设计】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    详析32嵌入式处理器8位处理器应用开发的三大不同

    ,调试的硬件接口发生改变。在开发8位处理器时,通常采用在线仿真ICE(In-Circuit-Emulator),ICE通过插座或者相应的夹具替代CPU来进行仿真和
    发表于 08-08 14:52

    两种ARM 64位处理器学习平台

    、Cortex-A8的s5pv210,Cortex-A9的exynos4412,每个CPU都是主流的芯片,samsung芯片一直是资源比较多的平台。用惯了32位处理器,而当下进入了64位处理器的时代,随即想到
    发表于 10-26 15:47

    32嵌入式处理器8位处理器应用开发有什么不同?

    功能和额外的性能,使得整个嵌入式系统的升级只需通过软件的升级即可实现。而8位处理器通常受到的64K软件限制也不存在了,设计者几乎可以任意选择多任务操作系统,并将应用软件设计得复杂庞大,真正体现“硬件软件
    发表于 04-06 09:11

    32嵌入式处理器8位处理器应用开发的三大不同点

    的性能,使得整个嵌入式系统的升级只需通过软件的升级即可实现。而8位处理器通常受到的64K软件限制也不存在了,设计者几乎可以任意选择多任务操作系统,并将应用软件设计得复杂庞大,真正体现“硬件软件化
    发表于 06-02 18:52

    32嵌入式处理器8位处理器应用开发的三大不同点

    的性能,使得整个嵌入式系统的升级只需通过软件的升级即可实现。而8位处理器通常受到的64K软件限制也不存在了,设计者几乎可以任意选择多任务操作系统,并将应用软件设计得复杂庞大,真正体现“硬件软件化
    发表于 07-04 08:50

    你怎么看8、16、32及64嵌入式处理器

    嵌入式系统以各种类型的嵌入式处理器为核心,而随着技术的发展,对于嵌入式处理器的性能及功耗的要求愈加严苛。目前,
    发表于 07-05 07:52

    32位处理器S3C44B0怎么移植?

    S3C44B0是Samsung公司推出的一款为手持设备或其他通用设备开发的32位处理器,它基于ARM7TDMI核,没有内存管理单元(MMU)。在采用无MMU的微处理器嵌入式系统中广泛
    发表于 08-19 08:00

    32位处理器可以装64系统吗 32位处理器能否装64系统分析

    32位处理器可以装64系统吗?从技术角度看,32位处理器是不能装64系统的,因为不支持,不确定的用户可以使用下面的两种方法来检查32位处理器
    发表于 06-28 09:57

    32位处理器开发8位处理器开发有哪些明显的不同?

    32位处理器开发8位处理器开发有哪些明显的不同?开发一个32
    发表于 04-19 08:11

    何谓32位处理器

    32位处理器首先处理器都是8的倍数:8/16/32/64。表示一个时钟周期里,处理器处理的代码数
    发表于 07-13 08:41

    嵌入式处理器简介

    嵌入式处理器简介嵌入式处理器嵌入式系统的核心,是控制、辅助系统运行的硬件单元。范围极其广阔,从最初的4
    发表于 07-26 07:18

    为什么说8086是16位处理器

    为什么说8086是16位处理器?什么是编程结构?由哪两部分组成,功能是啥?AD为何又能发地址,又能发数据?io端口是什么?编址方法有哪两种?8086用的哪种?
    发表于 08-06 06:48

    嵌入式处理器是什么

      嵌入式处理器嵌入式系统的核心,是控制、辅助系统运行的硬件单元。范围极其广阔,从最初的4位处理器,目前仍在大规模应用的8
    发表于 10-27 07:24

    嵌入式处理器是什么

      嵌入式处理器嵌入式系统的核心,是控制、辅助系统运行的硬件单元。范围极其广阔,从最初的4位处理器,目前仍在大规模应用的8
    发表于 10-28 08:56

    RK3399处理器与AR9201处理器有哪些不同之处

    RK3399处理器与AR9201处理器有哪些不同之处呢?hi3559A处理器与RV1126处理器有哪些
    发表于 02-21 07:29