感谢人民感谢社区感谢日天让我通过ImxRT1010官方板的申请,第一次接触ImxRT系列的板卡是好几年前飞凌嵌入式推出的1052板卡了,因此对这个包含超高频性能的跨界微控制器有着深刻的认识。由于本人工作原因接触MCU逐渐减少了,因此言论中有不足之处还望各位指点一二。
一、跨界处理器的硬件属性分析
首先恩智浦半导体公司生产的ImxRT系列目前都是基于ARM CortexM7架构的,所以用的都是RISIC精简指令集,处理速度高达500MHz。说到这里可能用过M7比较多的小伙伴就会问了,为什么同样是M7为啥处理速度相差会这么大?这里不得不说这是产品工艺和ARM提供的M7版本不同,而ImxRT系列采用ARM目前市场新版armv7核心架构,相比旧版armv7版本那可不是在一个数量级的。有兴趣的小伙伴可以去自行搜索,这里不再赘述。还有就是很多小伙伴会对微控制器(以下都简称MCU)为什么要采用这么高的处理频率产生疑惑,觉得这不是微处理器(以下都简称MPU)该干的事儿么?说到这里就不得不对现在如火如荼的边缘计算说事儿了,边缘计算的核心就是处理速度快、高及时性,虽然说现在市面的绝大多数MPU都有着几百兆的速度处理能力,但是玩过MPU的人基本上都明白跑Linux操作系统的再执行核心计算或者核心编译都是需要花时间去处理的,而MCU的好处就在于直接面向设备端可以无差别的对数据吞吐。可能又有小伙伴发问了,现在不是一些MPU内部集成了NPU(加速处理器)ISP(图像处理器)这不就是完美解决了?但是呢成本问题呢?据市场透析1010处理器的市场价是1美元,这个谁敢与之争锋。
接下来对于MCU的下载调试,笔者为了后来者采坑多少讲解一些心得体会。因为本次测评使用的是NXP官方的EVK板,自带了DAP-Link下载调试器,因此用起来非常的便捷。对于公司生产外接下载调试器的,这里拿最常见的J-Link来举例,固件版本至少要V9及其以上才能对armv7M7进行下载调试,否则会出问题。
二、跨界处理器的软件代码分析
本次测评是基于官方的SDK来进行的。相关SDK下载请到SDK包下载地址输入产品型号进行下载。打开Keil程序,第一步进入到初始化部分
- /* Init board hardware. */
- BOARD_ConfigMPU();
- BOARD_InitBootPins();
- BOARD_InitBootClocks();
- BOARD_InitDebugConsole();
复制代码 BOARD_ConfigMPU();就是对mpu_armv7.h里的内存、I、D cache配置使能,这个要求要对v7架构有一定的了解,这里可以参考官方的《i.MX RT1010 Processor Reference Manual》手册。BOARD_InitBootPins();则是对引脚功能进行配置,对于打开每个端口时钟以及对端口复用功能,端口输入/输出方式进行设置,这个玩过LPC系列的都不陌生,大同小异。BOARD_InitBootClocks();则是对系统时钟进行配置,在EVK板中用了一颗24M的HSE晶振和一颗32.768K的LSE晶振,通过PLL倍频到500M输出控制。BOARD_InitDebugConsole();就是配置串口格式了。 这次使用的是基于FreeRTOS的hello历程输出,在下载的时候要特别注意,因为MCU是外挂的一颗128M的QSPI作为Flash,为避免下载出错请讲SDK里面的.FLM文件拷贝到Keil安装目录Flash目录下,并在下载时选中。
三、资料上传包含原理图及其手册
附件传与资料,下次有时间我试试图像和语音评测。
|