[应用相关]

国产MCU专栏 第49期:17位工程师的雅特力 AT-START-F437 测评手记合集

[复制链接]
8578|5
手机看帖
扫描二维码
随时随地手机跟帖
21ic小能手|  楼主 | 2023-4-13 09:40 | 显示全部楼层 |阅读模式
*阅读说明:以下排名不分先后,详细评测内容、过程及源码资料等请戳原链接查看
3.png


  • 测评1:
收到开发板有一段时间了,前段时间由于年底工作忙+阳了等原因,一直没来的及评测。正好前段时间血氧仪涨价,就参照网上的血氧仪制作教程,写了个血氧和心率采集的系统。
系统框图和接线方式如下所示:
2.png
此系统中,AT32F437通过I2C接口与MAX30102连接,MAX30102配置后,开始采集数据,出发MAX30102的中断,AT32F437判断中断引脚IM的GPIO值,为0时,则对数据以SPO2的算法进行计算,计算出血氧浓度和心率后,将结果通过USART1传到串口调试助手。



  • 测评2:
得知获得评测名额后就开始码代码做软件框架了,昨天收到板子,通电烧程序直接跑通,雅特力的MCU一如既往的好用。

288MHz,M4F核心,这一看就是运算能力很强的MCU,那么速度到底有多高,照例用coremark测试一下。下载测试程序,串口输入 core_main 命令启动测试,记得尾部换行。

AT32F437拥有8路串口,非常适合工控/仪表设备对外连接需求,而MODBUS在设备链接中的应用最为广泛。本测试使用两个串口(U3,U8),U8配置为MODBUS主机,U3配置为MODBUS从机,两个可以相互通信,也可以分别连接电脑测试。协议部分不再赘述,本贴仅演示结果,有兴趣的同学可以下载代码研究。

QPI是很多高性能MCU的标配,AT32F437也不例外,今天来测试一下板载QPI-FLASH的读写性能如何。

手上有个SPI接口OLED屏,尺寸128x64,正好给AT32F437评估板加个显示器。OLED没太多好讲的,主要就是代码实现。

THREADX 作为世界第一梯队的RTOS,如今已归微软旗下,拥有者诸多安全认证。该RTOS虽然不是完全免版税,但也有这个趋势,至少在STM32、NXP、瑞萨芯片上已经可以免费使用了。FILEX做为THREADX的配套组件之一,同样拥有如上安全认证。这几天拿AT32F437评估板测试THREADX和FILEX,记录一下使用情况。



  • 测评3:
附件资料:数据手册、参考手册、勘误手册、固件库包、官方原理图、例程、器件支持包

想要做一个基础工程模板,后面自己使用起来方便一点,昨天晚上做的代码,今天分享一下。由于比较简单,这里仅仅展示代码和效果。

测试一下现在的这个AT32F437,今天主要是看串口和定时器,因为这两个外设做好了之后就可以移植CoreMARK了,所以这里先把这两个外设搞定。

关于COREMARK测试,找了半天原因,主要有一个地方搞错了,开始点灯的程序写在定时器中断里面的,导致我的定时器的最大值就只有1000的计数,从而导致了每次测试都失败。



  • 测评4:
收到AT-START-F437雅特力最高性能官方Demo板,激动。心情平复后开始玩了。

继上一帖点灯程序后开始搞个串口通信。因为这些都是比较经典的例子。

这个板子是高大上,网络接口自然有,要不玩一下,那对不起厂家和他们那些大牛的攻城狮们。

准备好项目代码;
打开工程,修改netconf.c中ip;
连接好开发板的网线和调试器;
编译,下载 运行



  • 测评5:
开发环境是否友好是嵌入式平台选择很重要的一环:包括对主流IDE的支持,仿真,源码库,Demo程序,文档等等。本篇就准备下相关资料,搭建开发环境,体验一个Demo的下载运行。

简单了体验了第一个Demo程序,这一篇我们实现最基本的串口收发通讯。因为打印调试等都需要用到串口。我们通过环形缓冲区实现串口接受驱动,以提供给应用层比较好用的接口。

前面我们实现了串口的收发驱动,实现了基本的通讯链路。很多时候我们需要通过标准输入输出进行交互。所以这一篇来实现标准输入输出的重定向。

AT32F435/437系列最高主频可达288MHz,这在通用MCU领域是非常高的了,一般M3/M4的MCU大部分也就是120MHz或者144MHz左右。所以本MCU的主频高也是一个特点。既然主频都这么高了,那么我们就再试试能不能更高,超个频试试。

前面我们测试了超频,体验了MCU的时钟性能和稳定性。这一篇来跑个分,CPU基准性能测试有很多种,比较常见的是coremark,我们就以coremark进行CPU的基准性能测试。

本MCU,FLASH和RAM资源都较大。适合移植脚本语言进行开发。目前市面上有很多嵌入式平台使用MicroPython。实际上还有一门优秀的脚本语言,LUA也适合移植到嵌入式平台中使用。MicroPython资料比较多了,这里就移植LUA进行体验。

开发板板载了一片16MB的FLASH,使用QSPI通讯。第一篇体验的Demo就是测试该FLASH的读写。之前的测试也都是基于该工程,方便后面继续开发。本篇我们就基于此,移植文件系统littlefs。

我们一篇演示驱动手里的1.3寸TFT屏。控制器为ST7789。



  • 测评6:
一直都想用VSCODE跑一下开发流程,都没有成功。这次用F437的板子试了下,借助官方的说明文档和工个,终于成功运行了。
以前装有VSCODE,就不需要重装了。只需要安装工具链和MinGW就行。工具链直接运行安装就好了。MinGW就麻烦一些,经常下载中断,重试了几遍就可以了。

RT-Thread STUDIO的SDK管理器中还没有发现AT32F437-START板的支持。但是在GITHUB的RT-Thread中,BSP包内已经支持了好多个AT32的START板。

AT32也有多种方式进行IAP升级,常用的UART,EMAC,USB等。比较了这些IAP方式,还是觉得基于USB的MSC IAP方式最为方便。它只需要一台PC或手机就可以完成IAP升级,不需要借助其它上位机或者特殊工具就可以完成升级过程。



  • 测评7:
这个AT32F437系列性能非常强悍,外设很丰富;串口资源很多,这里使用USART1。

AT32F437具有ADC和DAC功能,外设很丰富,这里用DAC输出电压,然后用ADC进行采集发送到上位机进行显示。

在Cortex-M里面有一个外设叫DWT(DataWatchpointandTrace),是用于系统调试及跟踪,DWT的中文名字应该是:数据观察点触发。

STM32官方给了三个函数库文件,这些都是汇编写的,我们可以不用管,直接调用。



  • 测评8:
首先是搭好的环境点灯,再使LED闪烁,再以200MS流水灯。

目地利用串口助手打印出相关的信息。

利用上位机显示ADC采集,ADC是模数转换,获取通道1 18的电压值。配置流程:GPIO--通道传输--ADC设定--通道--获取VREF值。



  • 测评9:
本篇文章将Lua在MDK环境移植到AT32F437ZMT7开发板,记录移植过程并通过Lua点亮开发板上的LED灯作为演示。

本篇文章将U8G2在MDK环境移植到AT32F437ZMT7开发板,记录移植过程并通过OLED显示屏显示,OLED屏使用软件IIC的方式实现,当前开发板主频比较高,OLED显示屏使用软件IIC跑也特别快,足够使用。



  • 测评10:
快速搭建F437开发环境,驱动OLED屏幕。



  • 测评11:
本次收到的开发板型号是AT-START-F437,芯片型号为AT32F437ZMT7,板子做工不错,接口齐全,所有PIN引出,同时自带下载器。废话不多说,直接上测试过程和方法。本次使用的1.8寸TFT,驱动为ST7735。



  • 测评12:
之前家里有块 AT-START-F407 做一些应用还是很不错的,这次有机会有幸申请了 F437,平时开发中经常开发音频类产品,看到F437带了USB 2.0 和 全双工的 I2S 就觉得可以拿来做 【会议音响】、【USB声卡】之类的产品,加上主频能够288Mhz,做一些3A算法应该还是绰绰有余的。



  • 测评13:
此评测主要是跑一个GPIO的例程。



  • 测评14:
本篇评测时将AT-START-F437开发板例程中的http_server例程烧录进开发板并将开发板通过网线连接电脑,然后通过电脑浏览器访问开发板程序中设置的IP地址就可以访问例程运行后的网页服务器功能了。

因为手上没有USB-C转RJ45线,所以先测试了其它功能,因为后面要通过USART串口读取红外二氧化碳传感器数据,所以就先测试一下usart功能,然后发现开发板usart例程有好几个功能,我就先测试一下printf功能。



  • 测评15:
点灯:开发环境的建立和GPIO速度测试
上手一款MCU,最好的方式就是“点灯”了。作为嵌入式领域的“Hello World”,通过点灯不仅可以快速熟悉MCU的基本开发流程、而且可以帮助我们评估一款MCU资料的丰富程度和开发的难易程度。



  • 测评16:
年前申请了AT32F437-START开发板,冲着板载的网络和超大的flash和内存空间,然后根据项目实际使用的协议栈,将CycloneTCP协议栈移植到此开发板上,目前已经实现可以发出IGMPV2协议报文,但是网络指示灯一直显示自协商的网络速度为10MHz,电脑端可以识别网卡设备,且使用ping指令无法正常ping通,现将相应的代码发上来,希望能得到官方的协助,帮忙讲解下EMAC外设的相关初始化流程和中断DMA收发数据的正确操作模式。

前面拿到AT-START-F437开发板,尝试移植CycloneTCP网络协议栈,经过原厂RD的技术支持,帮助修改了几处代码,成功的将CycloneTCP网络协议栈移植到开发板上,可以正常识别100MBps网卡,可以正常PING通,然后实现FTP客户端访问服务器,下载文件,经长时间测试目前网络协议栈运行稳定,下一步考虑替换现有项目MCU,做前期方案验证。



  • 测评17:
简单上电试了一下,板子出厂自带一个流水灯的测试程序,通过按键可以控制流水灯的速度,就快慢两个档位。


使用特权

评论回复
wangwu1976@| | 2023-4-13 11:34 | 显示全部楼层
继续学习!

使用特权

评论回复
pkoko| | 2023-4-14 20:39 | 显示全部楼层
挺好,多来些实际案例

使用特权

评论回复
bangzhu05| | 2023-4-25 10:02 | 显示全部楼层
学习以下

使用特权

评论回复
cooldog123pp| | 2023-5-27 10:14 | 显示全部楼层
楼主讲的很详细,非常感谢楼主的讲解,mark一下,收藏学习,受教受教。

使用特权

评论回复
lulugo| | 2023-6-10 17:16 | 显示全部楼层
安富莱电子的H7-TOOL开发工具可以仿真烧录雅特力的单片机 ,工具强大,适合工程师用

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

136

主题

665

帖子

23

粉丝