您的位置 首页 制造

不添加本钱的32位移植规划

一个8位的或者16位的CPU或许能够满足你当前的应用需求。但是为了保持竞争力,你必须对你的产品做出持续不断地改进,包括你要不断的增加它的新特性、不断地提升它的速度,并在提升它规格的同时降低成本。如果你

  一个8位的或许16位的CPU或许能够满意你当时的运用需求。可是为了坚持竞赛力,你有必要对你的产品做出继续不断地改善,包含你要不断的添加它的新特性、不断地提高它的速度,并在提高它标准的一起下降本钱。假如你不做这些,而你的竞赛对手在做,你将被甩开。

  坚持竞赛优势的一个办法是经过逐渐改善你现有的规划。但跟着时刻的推移,架构的约束或许会是这个进程变得越来越缓慢,本钱也越来越高。因而你能够将你的规划移植到32为渠道,这会提高你产品在以下几个方面的功用。

  

  表1:移植到32位渠道的优势

  你真的需求将你的产品移植到32位渠道吗?

  当你把产品重一个8位的CPU移植到一个32位的CPU上面的时分,有几点时一定要考虑的。首先是你现有的CPU是否依然时可用,你将产品搬到32为渠道是否能够有一个优势的提高或许功用的改善。8位的运用程序一般是经过简略的核算施行根本的感知和操控。8位的CPU在核算值低于256的时分,它的位操作和运用程序的表现是很好的,例如一个广为人知的架构8051。

  即便最小的32位CPU也能做到8位CPU所能做到的悉数,如图1所示。

  1、能够处理更杂乱的核算。例如包含本机自带的DSP、图画处理以及姿态辨认功用。

  2、数据发掘和剖析、数据库查找。

  3、实时的多使命处理体系。

  

  图1-运用Dhrystone做基准的单片机功用比较

  即便你不需求运用上述的这些强壮功用,32位CPU也能从如下几个方面提高你的规划:

  能耗:例如这样一个常见的低功耗规划:CPU先处于睡觉的低功耗形式,定时醒来并在主动形式下履行代码(图2)。在两种形式下32位CPU或许需求比8位CPU更多的用电,但32位CPU花更少的时刻履行代码。因而,32位CPU更多的时刻是在低功耗形式下的。在许多情况下,这或许会导致它的均匀功率比8位CPU更小。

  

  图2:核算密集型使命的均匀能耗比较

  可晋级:现在,大多数CPU的出售是跟着一个能够从低功用晋级到高功用的产品系列出售的。假如你的的产品想要晋级,那么你的CPU也是有必要能够晋级的。CPU晋级是就从以下方面而言的:

  1、指令集、系列里的高端成员应该有更多的指令或许更多现有指令的操作形式,一起坚持对低端成员的的向后兼容性。

  2、更多的寄存器、或许现有的寄存器有更多的界说位。

  3、更多的功用,例如中止操控和调试。

  ARM Cortex-M处理器宗族是CPU可晋级的最好的比方。如图3所示:

  

  图3-ARM Cortex-M处理器宗族概述

  本钱:或许会有一个感知的过错,会以为32位CPU会花费跟多的本钱。可是跟着技能的开展,32位的CPU不一定会比8位的CPU贵,现在现已有许多的低本钱的32位CPU了。例如:由于它简略的规划和占有小硅区域的ARM Cortex-M0内核,使它愈加合算。举一个Cypress半导体入门级PSOC 4000CPU为例,它只要0.29美元的价格。

  此外,表1显现支撑高代码密度和更快履行速度的32位CPU能够协助下降本钱。

  这不仅仅关系到CPU

  一般只重视您的固件代码移植到新的CPU。可是,请记住CPU仅仅MCU的一部分,MCU能够尽或许的为它的CPU供给改善机会去满意客户的改善要求。例如:

  1、MCU的外围设备能够提高产品的功用吗?

  2、外围设备操作能运用更少的代码吗?能够下降CPU的负载吗?这或许导致该体系运用更少的内存,或许下降本钱。

  3、该器材能够帮你节约板级和体系级的本钱吗?例如,你能够将PCB板上的某些功用移动到MCU里。

  4、MCU满意灵敏,能够让你习惯不断改动的需求,而不用拟定新电路板吗?

  最终,请注意,单片机设备一般只要集成开发环境(IDE)支撑它。承认新的IDE不仅仅是一个编辑器,编译器和调试器。IDE使您能够快速构建整个运用程序、运用单片机的硬件特性以及固件能够明显加快规划。开发东西包和运用笔记也很有协助。

  代码移植技巧

  假如你决议移植一个规划到32位CPU上去,记住这些注意事项:

  挑选一个入门级的32位CPU /单片机和IDE。作为你的第一个移植进入32位器材代码,请坚持它简略,这将削减引进缺点的危险,你也会了解32位规划的不同之处。挑选一个根本的入门级设备,以及一个IDE,能够简化移植进程。Cypass半导体的一个比方是PSoC 4000MCU,由PSoC发明IDE支撑。

  挑选一个新的编译器。当你代码移植到一个新的CPU,你也有必要挑选一个新编译器。很多的编译器,其间一些是免费的,可用于32位CPU。例如:GCC,ARM/Keil MD,IAR。

  让你的构建和调试东西作业。创立一个小测验程序,例如闪耀LED灯。你会取得运用新东西的经历,这将协助您完结下面的进程。

  汇编代码重写。抱负情况下,你的现有代码应该用C(或许其他一些更高档的言语)。任何8位处理器的汇编言语代码是不行移植的。假如你在当时规划中有任何的汇编代码,考虑在C下面重写它,在开端移植进程开端之前。

  封装特别的代码。假如你的代码现已模块化了(编码最佳实践)。代码的移植直接与单片机寄存器对应,比方读I /O端口,应该和文件中和其余部分的代码分隔。在这些文件中封装代码并按功用命名,例如UART_Receive()。然后你能够重写这些功用为新的单片机无需更改代码的其余部分。

  其他体系结构更改一个新的单片机或许答应您卸载功用从CPU到外围设备。此外,一个新的IDE能够主动生成代码。运用这些特性,考虑从头建构代码的部分或悉数。

  由于32位CPU更简略完成使命切换,考虑从头建构代码作为一组独自的使命被一个实时操作体系(RTOS)运用。例如:32位体系RTOS供货商Segger和Micrium。

  添加的构建和调试,在规划新代码时,最佳的做法是小部分小部分的添加、测验和调试代码

  。这使得它更简略找到并修正缺点。这相同适用于移植——在新的MCU上移植、测验和调试代码也是一部分一部分的进行。

  CPU和MCU举例,为了对移植进程有更好地了解,让我们来具体了解一下上下文中ARM Cortex-M0和PSoC 4000。ARM Cortex-M0处理器是最小的ARM中心。其寄存器架构(图4)和指令集使它支撑C东西。

  图4:Cortex-M0登记册架构

  一切寄存器都是32位,运用32位寻址,具有4Gbyte地址空间。大多数8 位CPU仅限于64Kbyte的地址空间。

  有12的通用寄存器。(低寄存器R0-R7有更多的支撑指令集)。特别寄存器包含:

  双仓库指针(R13)来协助完成一个实时操作体系(RTOS)

  链接寄存器(R14)快速从函数调用回来

  程序计数器(R15)

  程序状况寄存器(PSR)包含指令的结果如零和坚持标志以及当时异常数

  中止屏蔽寄存器

  操控寄存器操控仓库指针哪个有用

  Cortex-M0中心指令集设置简略但功用强壮并且有很多的处理形式。它具有优异的代码密度。从一个8位的CPU将C代码移植到Cortex-M上,CPU常常运用更少的内存。

  ARM Cortex-M系列CPU指令流水线,如图5所示。这就添加全体代码履行速度,由于CPU能够履行一条指令的一起抓取和解码后续指令。

  

  图5:Cortex-M处理器中的流水线区分

  ARM Cortex-M CPU系列集成支撑中止直接进入CPU内核,运用一个嵌套矢量中止操控器(NVIC)。NV%&&&&&%功用包含:

  主动动态优先级和优先等候中止嵌套

  低推迟——CPU主动存储和康复其状况没有指令的开支

  迟到——一个高优先级的中止在一个低优先级中止服务仓库推操作期间到来时被优先履行。

  这些特功用够更快并决议中止处理。体系定时器”SysTick”促进RTOS的运用和能够操作在CPU睡觉,也包含在内。有高水平中止支撑可用,您能够考虑改动你的架构更依靠中止处理。

  ARM的Cortex-M处理器系列集成调试功用在CPU内核,支撑多个IDE便于调试。

  Cortex-M0内核是Cortex-M处理器大家庭的一部分,它们有相同的寄存器架构和履行部分或悉数Thumb-2指令集,这使得它更简略晋级到一个更强壮的CPU。例如Cypress的PSoC 5 LP Cortex-M3处理器。

  PSoC 4000是入门级PSoC 4系列的一员。除了Cortex-M0处理器,它有一组可灵敏动态装备外围设备,如图6所示。

  

  图6:PSoC 4000框图

  这种CPU也有电容式接触感应特性。电容式感应在本钱、功用和防静电维护方面比机械按钮有明显的优势。

  电容式感应功用包含:

  简略完成按钮、滚动条和挨近报警解决方案,每个I/O引脚具有16个输入路经

  高信噪比(信噪比)保证在喧闹的环境中的接触精度

  SmartSense主动调理速度和不需求校准

  %&&&&&%式感应块包含两个DAC和一个比较器,您能够把它用作其他意图假如CapSense不需求运用。

  Cypress也供给PSoC开发东西,一个适用于PSoC3、4和和5 LP设备的集成规划环境(IDE)。PSoC开发东西是一个免费的根据windows的IDE支撑PSoC-based体系的硬件和固件规划。

  你能够运用经典的,了解原理图来规划。组件包含主动生成API代码,能够大大削减您编写的代码量。运用PSoC开发东西是很简略完成在PSoC系列之间的规划移植在。如图7所示。

  您还能够导出PSoC的规划到其他IDE,例如:µVision 和IAR。

  

  图7:PSoC开发东西进行组件装备

  现在晋级留传8位和16位规划到32位渠道是很简略的,一起依然满意本钱方针。几个要素有必要紧记当方案移植到一个新的CPU;要挑选的一个初级32位单片机并且有好的IDE支撑。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/zhizao/246964.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部