双核MCU开发其实也不难!.doc
《双核MCU开发其实也不难!.doc》由会员分享,可在线阅读,更多相关《双核MCU开发其实也不难!.doc(4页珍藏版)》请在三一文库上搜索。
1、双核MCU开发其实也不难!多核的微控制器(MCU)向来是设计上的一大挑战,尤其是多核异构的设计。恩智浦半导体早在2011年年底,就率先推出了基于Cortex-M4F和Cortex-M0的双核MCULPC43xx/43Sxx系列, 主频高达204MHz。凭借其超强的处理性能,很快受到业界的好评。四年之后,MCU双核精简版本LPC5411x系列,在广大LPC发烧友的期待中,终于露出了一代天骄的本色。双核MCU:LPC5411x这款LPC5411x系列MCU集成了Cortex-M4F和Cortex-M0+双内核,主频高达100MHz 。因为Cortex-M4F内核采用Harvard架构,3级流水线,
2、支持SIMD,支持单精度浮点运算,单个时钟周期就能完成一条乘累加(MAC)指令,所以其处理性能强悍,一般用于处理复杂的计算或算法。而Cortex-M0+内核结构简单,只有2级流水线,能效高,一般用于实时控制、外设管理、数据通信等任务。在LPC5411x产品中Cortex-M4F是主核,而Cortex-M0+是从核。从核的主要任务是协助主核处理非计算性的杂务,充分解放主核的运算能力,这样可以达到整个系统的最优性能。为了实现整体性能最优,LPC5411x采用了多层AHB矩阵式总线架构,以及多个RAM分块。下图是LPC5411x的内部功能框图,可以看到内部的AHB矩阵式总线架构,Cortex-M4F
3、和M0+都是总线上的master,可以访问所有的片上资源。总线访问的优先级可以通过寄存器设定。Cortex-M4F核在AHB总线上有3个接口:I-code, D-code和System总线。而Cortex-M0+只有一个System总线接口。不同的RAM块可以被不同的AHB master同时访问。双核MCU的存储区分配I-code总线用于从CODE内存分区取指令, 地址范围是:0x0000-00000x1FFF-FFFF。D-code总线用于从CODE内存分区取操作数,地址范围是:0x0000-00000x1FFF-FFFF。当以上两条总线同时访问同一内存单元时,D-code总线访问优先级比I
4、-code高,所以D-code先访问。对地址范围从0x2000-00000xDFFF-FFFF的访问是通过System总线进行的,可用于访问操作数、指令等,数据访问的优先级高于取指令及中断向量。各个存储区所在的地址区域如下表:存储区地址区域大小Flash0x0000-0000 0x0003-FFFF256KBBoot ROM0x0300-0000 0x0300-7FFF32KBSRAMX0x0400-0000 0x0400-7FFF32KBSRAM00x2000-0000 0x2000-FFFF64KBSRAM10x2001-0000 0x2001-FFFF64KBSRAM20x2002-00
5、00 0x2002-7FFF32KB为优化系统整体处理能力,需要让这两个CPU内核同时以最快速度执行各自指令, 比如Cortex-M4F上能执行单周期的的MAC指令,同时Cortex-M0+上能执行单周期的32位乘法。因此,存储区的合理分配策略是,Flash和RAMX以及SRAM0需要分配给Cortex-M4F内核,分别用于存放指令代码和操作数(见上图红/黄框部分)。而SRAM1/SRAM2这两块需要分给Cortex-M0+(见上图绿色框部分)。 需要注意的是,只要其中一个RAM块分配给某个CPU核,这个RAM块就不能分配给另一个CPU核, 否则这两个CPU核同时访问同一块区域时,就会出现总线
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 双核 MCU 开发 其实 不难
链接地址:https://www.31doc.com/p-3399266.html