首页 > 评测 > 评测列表 > MCU

野火i.MX RT1052开发板评测:移植RTT、与STM32H743性能对比

  • 作者:杰杰
  • 来源:21ic
  • [导读]
  • i.MX RT系列一经推出就受到了市场广泛关注,不少第三方也马不停蹄地进行开发板等配套开发资源的开发。本文对野火 i.MX RT1052开发板进行了评测,主要评测项目为:板载资源分析、RTT移植以及与STM32H743的性能对比测试。
  • MY-iMX6UL开发套件
  • PocketBeagle
  • CY3280-CapSense-MBR3
  • CC3220SF LaunchPad (CC3220SF-LAUNCHXL)
  • Esquilo Air
  • CY8CKIT-042 PSoC 4 Pioneer Kit
  • Arduino 树莓派扩展板
  • MicroPython pyboard

 i.MX RT1052是i.MX RT系列芯片,是由 NXP 半导体公司推出的跨界处理器芯片,该系列下又包括i.MX RT1020、i.MX RT1050及 i.MX RT1060等子系列芯片。所谓“跨界”,是指它自身的定位既非传统的应用处理器也非传统的微控制器。

传统的应用处理器如手机主控芯片,它们通常采用 ARM 的 Cortex-A系列内核,配合其芯片架构使得芯片能实现更高频率的运行。传统的微控制器也称为 MCU,它们通常采用ARM 的 Cortex-M 系列内核,相对来说该内核对中断响应更快,所以具有良好的实时性,但其芯片架构特别是集成片内闪存带来了生产技术限制和成本负担,从而限制了其性能。而i.MX RT 系列芯片集成了两者的优点,它基于应用处理器的芯片架构,采用了微控制器的内核 Cortex-M7,从而具有应用处理器的高性能及丰富的功能,又具备传统微控制器的易用、实时及低功耗的特性。

野火的 i.MX RT1052核心板搭载了i.MX RT1025DVL6A芯片,Cortex-M7内核,主频高达600M。130个IO全部引出。集成32MB SDRAM、128MB NAND FLASH、32MB QSPI FLASH、2Kb EEPROM、LCD-RGB565 FPC接口、1个SWD调试接口、 1个uart 调试接口、1个电源LED、1个用户LED、 一个复位按键、1个MODE按键、 1个WAKEUP按键 和1个Microusb接口等资源。芯片I0共130个, 均通过0.8mm的BTB接口在背面引出,包括SEMC总线,方便我们扩展各种模块。

底板图片如下:

COVER.jpg

装在mini底板上的效果图,哎,杰杰还是很羡慕Pro底板的,资源丰富。连LCD都能放在板子上,而我的LCD就只能通过排线弄出来。

看看火哥核心板的风骚走线:

image3.png

顶层

image4.png

底层

骚气得一批,不过很多信号线都采用等长走线,保证了信号的稳定性,这个值得点赞!!!

介绍一下 i.MX RT1052芯片的性能优点吧:

1. 无需片内闪存

由于跨界处理器采用了应用处理器架构,具有大幅缩小的 SRAM 位单元,在跨界设计架构中,SRAM可以配置为具有“零等待”单周期访问的TCM,从而大幅提升系统性能。

2. 高性能

具备高密度片内 TCM 或缓存的跨界处理器的缓存未命中率可低至 1-2%,因此能够提供明显高于 MCU 的有效性能。

3. 低中断延迟

在协调对内部和外部硬件事件做出及时响应方面,中断在嵌入式系统中发挥了重要作用。在与用户交互的实时系统中,它们发挥的作用尤其重要,这是因为由用户输入触发的外部事件需要 CPU 做出可靠的低延迟即时响应。跨界处理器采用 MCU 内核构建,因此即使它们采用应用处理器架构,也延续了低中断延迟这一重要特性。跨界处理器的中断延迟最低可达到 10-20ns,而应用处理器的延迟通常长达 1毫秒。

4. 高能效以及安全性。

————————————————分割线———————————————————

下面来说说固件库写的工程吧,按照火哥一贯舒服的代码风格

image5.png

而且工程中含有不同版本的工程

image6.png

正常来说,我们写代码不可能一次成功的,需要调试很久才出结果,可以通过ram_debug或者sdram_debug版本将程序快速加载到我们的开发板上的RT1052 芯片的内部 RAM 中或者是板载的SDRAM 芯片中,实现快速调试代码,但是RAM 空间小,适用于小程序调试,而板载的sdram则有32MB的空间,适用于大程序的调试。但是掉电则丢失这些程序,无法用在产品上,仅做调试用。

而下面两个版本,则可以作为产品的最终代码,将程序下载到NOR FLASH中,但是下载速度较慢,而且运行速度较SDRAM慢,杰杰猜测,我们或许应该可以将程序写为两段,在发布产品的时候,从NOR FLASH启动,运行NOR FLASH的第一段程序,将存在NOR FLASH的第二段程序加载到SDRAM中运行,直到掉电。这样子就能提高速度了吧。

前面的前三个模式均采用低优化等级(-O0)优化,而_flexspi_nor_release版本则采用高优化(-O3)等级,以便节约程序空间,提高运行效率。(杰杰吐槽:就是编译有点久)。

温馨提示:如果不用mdk看代码的话,可以去掉“魔术棒”->Output -> Browse Information的√。然后可以使用source insight看代码,方便很多,至少比mdk好多了。

image7.png

下个代码欣赏欣赏。

image8_copy.jpg

例程是移植了RT-Thread物联网操作系统的(还是要支持一下国产的操作系统的),来看看源码吧。

先介绍介绍RT-Thread物联网操作系统(以下简称rtt),操作系统是轻量级的,利用很小的资源完成实时操作系统的工作。

  • 本文系21ic原创,未经许可禁止转载!

网友评论