更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

恩智浦去年年末发布了全球首创多核Cortex®-M33微控制器后,备受关注。

今年上半年又上市了搭载这款芯片的恩智浦官方开发板LPCXpresso55S69,板载调试器,配合恩智浦MCUXpresso IDE开发工具,开箱即用,可以快速评估使用这颗Armv8-M 架构 Cortex M33 双核100Mhz 微控制器 。

恩智浦LPCXpresso55S69开发板简介:

恩智浦LPCXpresso55S69开发板的包装还是恩智浦一贯的风格,彩色硬纸盒外包装箱,盒子内部上下减震海绵,开发板使用静电袋封装,不管运输还是存放,都可以对开发板起到很好的保护左右。

更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测 更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

和开发板配套的还有一条usb数据线和说明彩页:

更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

按照彩页说明运行板子内预装的 demo程序,下载 SDK  IDE等相关开发工具和软件搭建开发环境,即使第一次使用恩智浦开发板,简单的开箱上手引导还是很有必要也比较友好的。

恩智浦LPCXpresso55S69开发板搭载LPC55S69 双Cortex-M33 核心MCU芯片,板载Debug调试器,板载音频模块和三轴加速度芯片,还有丰富的接口,如下:

更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

  • 1,LPC55S69 双核 Cortex-M33 微控制器,位于板子中心,最大的那颗芯片。
  • 2,音频模块。包含一颗WM8904音频芯片和音频输入/输出接口。
  • 3,三轴加速芯片,型号为NXP MMA8652FCR1
  • 4,板载debug 调试器
  • 5,高速USB接口,全速USB接口,插口类型为 micro-USB。
  • 6,单独USB电源接口
  • 7,TF 卡槽
  • 8,RGB led 灯
  • 9,Arduino 扩展接口,Mikreo扩展接口,PMOD 扩展接口

板载 Debug 调试器使用自家芯片 LPC4322 实现,同时支持 CMSIS-DAP 和 SEGGER J-Link 协议,使用配套的烧录工具,可以很方便升级调试器固件,切换两种协议。

更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

板载 Debug 调试器不仅用于LPC55S69 下载调试,还能用于第三方开发板下载调试;也可用第三方调试器下载调试 LPC55S69 芯片;只需要调整跳线开关即可,详细可以参考官方提供的开发板的原理图。

恩智浦LPCXpresso55S69开发板可以使用 usb 电源接口供电外,还可以使用两个 usb 接口供电,或者 debug 接口供电,也就是板上 4 个 USB 接口都是可以供电的,比如:下载调试的时候,只需要一条usb线,连接电脑和板子的debug 接口即可实现供电和下载调试的功能。

更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

LPC55S69芯片:

更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

LPC55S6x MCU家族是全球首款基于通用Cortex-M33的微控制器,该高效率MCU家族采用Armv8-M架构,性能和高级安全功能达到新水平,包括TrustZone-M和协处理器扩展。LPC55S6x家族利用协处理器扩展型号,大幅提高信号处理效率,采用专有DSP加速器,使计算的时钟周期减少了10倍。还可选择使用第二个Cortex-M33内核,支持灵活地平衡高性能与功率效率。

恩智浦LPCXpresso55S69开发板的芯片型号为LPC55S69,属于LPC55S6x MCU家族中的一款双核心MCU处理器,重点特性如下:

  • Arm Cortex-M33内核:
    • Arm Cortex-M33处理器,运行频率高达100 MHz
    • TrustZone,浮点运算单元(FPU)和存储器保护单元(MPU)
    • ARM Cortex-M33内置可嵌套向量中断控制器(NVIC)
    • 非屏蔽中断(NMI)输入,多种中断源可供选择
  • 协处理器:
    • Arm Cortex-M33协处理器
    • 运行频率高达100 MHz
    • 这个处理器的配置不包括MPU、FPU、DSP、ETM和TrustZone
    • 系统节拍定时器
    • CASPER加解密协处理器,提供对非对称加密算法的硬件加速
    • PowerQuad提供对DSP计算(定点和浮点) 的加速
  • 片上存储器:
    • 多达640 KB片上闪存程序存储器,带闪存加速器和256字节页擦写功能
    • SRAM高达320 KB,其中系统总线上有288 KB,内核总线有32 KB
  • 安全特性:
    • 启用Arm TrustZone
    • PRINCE模块对写入到片上闪存的数据进行实时加密,在读取加密闪存数据时进行解密,以保护代码
    • AES-256加密/解密引擎
    • 安全散列算法 (SHA1/SHA2) 模块支持通过专用DMA控制器的安全引导。
    • 通过专用SRAM上的芯片指纹,提供物理不可克隆功能(PUF); PUF可以生成、存储和重建从64到4096位长度不等的密钥。包括用于密钥提取的硬件
    • 随机数生成器(RNG)
    • 唯一的128位设备识别序列号(UUID)。
    • 安全通用IO

LPC55S69芯片TrustZone 安全特性

是Armv8-M 核心的特性,地址空间被分为安全空间和非安全空间,地址是不同的,创建程序的时候需要特别设置

更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

LPC55S69 双核

主核心协核心的结构,MCUXpresso IDE 创建的工程,需要先创建协核心core1的程序,然后再创建主核心core0程序,包含协核心程序,程序链接时候地址空间自己分配。两个核心之间通信和资源共享是通过核心间mailbox 实现的,稍后通过demo小程序看这个特性

软件支持:

恩智浦官方提供LPCXpresso55S69开发板的全方位支持:链接地址

提供LPCXpresso55S69开发板的软件开发工具包6.2_LPCXpresso55S69,可以直接下载使用,能够运行于 windows macOS  linux 三大平台,同时支持多种开发集成环境工具,如:恩智浦提供的MCUXpresso IDE,GCC ARM Embeded,IAR,Keil MDK。

更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

下载 SDK 的时候可以根据自己需要定制,有一些中间件可选,同时支持 FreeRTOS 系统。

更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

恩智浦提供的MCUXpresso IDE 开发环境集成了配置工具,可以通过图形界面配置时钟,引脚等,点点鼠标更新代码搞定,所见即所得

更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

恩智浦提供1.0_842软件,用于升级更新板载 Debug 调试器的固件,

更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

使用 program LPC-Link2 with CMSIS-DAP更新板载调试器截图:

更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

Demo 小程序

1,  点灯小程序

这个demo 的意义在于使用MCUXpresso IDE v11.0.0集成开发环境创建一个项目,跑通整个开发流程。

MCUXpresso IDE v11.0.0是基于 eclipse cdt 二次开发的,容易上手,打开软件加入 SDK,创建程序点灯:

更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

填写代码,烧录下载,搞定

2, 多核心程序:

需要在 SDK 组件中选择 multicore 中间件

更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

MCUXpresso IDE v11.0.0集成开发环境创建的多核心程序是主核心协核心的模式,启动时候主核心core0先启动,然后复制协核心代码到ram中,协核心core1再启动。所以烧录到 flash 中的代码其实是链接了 core0 和 core1 所有的代码,ram 中按照地址划分为 core0 和 core1 两个区域分别给两个核心使用, 如下:

Core0 程序中:Core0分配了 640KB flash 空间,Ram0 是给core0 使用的,Ram1是给core1 使用的,rpmsg_sh_mem是共享内存,两个核心之间交换数据用的

更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

Core1程序:只有 Ram1 和 rpmsg_sh_mem

更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

程序运行结构通过串口输出:

更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

程序运行流程:首先core0先启动,随机数填充两组5x5 矩阵,然后发起 eRPC请求,core1 收到请求完成矩阵乘积回应core0,core0 把矩阵乘积打印出来。

Core0程序代码片段:调用core1矩阵乘法运算

更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

Core1 程序代码片段:core1代码中的矩阵乘法运算erpcMatrixMultiply

更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

eRPC是 NXP 的项目用于多核心单片机通信,同时也是开源项目,详细的情况可以参考 github: https://github.com/EmbeddedRPC/erpc

3,安全非安全空间:

安全模式地址空间,都是1,3 开头,地址的第28位为1

更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

非安全模式地址空间,是0,2 开头,地址第28位为0

更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

安全非安全空间分开,物理空间也是相互分开的

程序运行结果:

更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

安全空间先打印 Hello from secure world!

准备好了非安全空间之后,跳转进入非安全空间,打印Welcome in normal world! 等

安全空间代码:

更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

非安全空间代码:

更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测

总结:

恩智浦发布基于双核Cortex®-M33微控制器后,又推出LPCXpresso55S69 开发板,通过开发板把Armv8-M系列的高效微控器切切实实带来到开发者面前,用户可直接上手了解Armv8-M 核心特性;

LPCXpresso55S69 开发板还是一款双核心Cortex®-M33开发板,双核协同工作,高效运作;配套的软件开发包和开发工具,配置工具,等软件简化开发过程,降低了学习成本,作为嵌入式从业人员,Armv8,双核心,等一些新的东西,还是很有必要早早接触了解为好。

 

电路城原创内容,未经允许,不得转载!

板卡评测合作邮箱:yanfen.mo@supplyframe.cn

  • 更安全更高效,恩智浦Cortex-M33双核开发板LPCXpresso55S69评测已关闭评论
    A+
发布日期:2019年08月21日  所属分类:参考设计