*阅读说明:以下排名不分先后,详细评测内容、过程及源码资料等请戳原链接查看。
收到开发板有一段时间了,前段时间由于年底工作忙+阳了等原因,一直没来的及评测。正好前段时间血氧仪涨价,就参照网上的血氧仪制作教程,写了个血氧和心率采集的系统。 系统框图和接线方式如下所示: 此系统中,AT32F437通过I2C接口与MAX30102连接,MAX30102配置后,开始采集数据,出发MAX30102的中断,AT32F437判断中断引脚IM的GPIO值,为0时,则对数据以SPO2的算法进行计算,计算出血氧浓度和心率后,将结果通过USART1传到串口调试助手。
得知获得评测名额后就开始码代码做软件框架了,昨天收到板子,通电烧程序直接跑通,雅特力的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,记录一下使用情况。
附件资料:数据手册、参考手册、勘误手册、固件库包、官方原理图、例程、器件支持包
想要做一个基础工程模板,后面自己使用起来方便一点,昨天晚上做的代码,今天分享一下。由于比较简单,这里仅仅展示代码和效果。
测试一下现在的这个AT32F437,今天主要是看串口和定时器,因为这两个外设做好了之后就可以移植CoreMARK了,所以这里先把这两个外设搞定。
关于COREMARK测试,找了半天原因,主要有一个地方搞错了,开始点灯的程序写在定时器中断里面的,导致我的定时器的最大值就只有1000的计数,从而导致了每次测试都失败。
收到AT-START-F437雅特力最高性能官方Demo板,激动。心情平复后开始玩了。
继上一帖点灯程序后开始搞个串口通信。因为这些都是比较经典的例子。
这个板子是高大上,网络接口自然有,要不玩一下,那对不起厂家和他们那些大牛的攻城狮们。
准备好项目代码; 打开工程,修改netconf.c中ip; 连接好开发板的网线和调试器; 编译,下载 运行
开发环境是否友好是嵌入式平台选择很重要的一环:包括对主流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。
一直都想用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升级,不需要借助其它上位机或者特殊工具就可以完成升级过程。
这个AT32F437系列性能非常强悍,外设很丰富;串口资源很多,这里使用USART1。
AT32F437具有ADC和DAC功能,外设很丰富,这里用DAC输出电压,然后用ADC进行采集发送到上位机进行显示。
在Cortex-M里面有一个外设叫DWT(DataWatchpointandTrace),是用于系统调试及跟踪,DWT的中文名字应该是:数据观察点触发。
STM32官方给了三个函数库文件,这些都是汇编写的,我们可以不用管,直接调用。
首先是搭好的环境点灯,再使LED闪烁,再以200MS流水灯。
目地利用串口助手打印出相关的信息。
利用上位机显示ADC采集,ADC是模数转换,获取通道1 18的电压值。配置流程:GPIO--通道传输--ADC设定--通道--获取VREF值。
本篇文章将Lua在MDK环境移植到AT32F437ZMT7开发板,记录移植过程并通过Lua点亮开发板上的LED灯作为演示。
本篇文章将U8G2在MDK环境移植到AT32F437ZMT7开发板,记录移植过程并通过OLED显示屏显示,OLED屏使用软件IIC的方式实现,当前开发板主频比较高,OLED显示屏使用软件IIC跑也特别快,足够使用。
快速搭建F437开发环境,驱动OLED屏幕。
本次收到的开发板型号是AT-START-F437,芯片型号为AT32F437ZMT7,板子做工不错,接口齐全,所有PIN引出,同时自带下载器。废话不多说,直接上测试过程和方法。本次使用的1.8寸TFT,驱动为ST7735。
之前家里有块 AT-START-F407 做一些应用还是很不错的,这次有机会有幸申请了 F437,平时开发中经常开发音频类产品,看到F437带了USB 2.0 和 全双工的 I2S 就觉得可以拿来做 【会议音响】、【USB声卡】之类的产品,加上主频能够288Mhz,做一些3A算法应该还是绰绰有余的。
此评测主要是跑一个GPIO的例程。
本篇评测时将AT-START-F437开发板例程中的http_server例程烧录进开发板并将开发板通过网线连接电脑,然后通过电脑浏览器访问开发板程序中设置的IP地址就可以访问例程运行后的网页服务器功能了。
因为手上没有USB-C转RJ45线,所以先测试了其它功能,因为后面要通过USART串口读取红外二氧化碳传感器数据,所以就先测试一下usart功能,然后发现开发板usart例程有好几个功能,我就先测试一下printf功能。
点灯:开发环境的建立和GPIO速度测试 上手一款MCU,最好的方式就是“点灯”了。作为嵌入式领域的“Hello World”,通过点灯不仅可以快速熟悉MCU的基本开发流程、而且可以帮助我们评估一款MCU资料的丰富程度和开发的难易程度。
年前申请了AT32F437-START开发板,冲着板载的网络和超大的flash和内存空间,然后根据项目实际使用的协议栈,将CycloneTCP协议栈移植到此开发板上,目前已经实现可以发出IGMPV2协议报文,但是网络指示灯一直显示自协商的网络速度为10MHz,电脑端可以识别网卡设备,且使用ping指令无法正常ping通,现将相应的代码发上来,希望能得到官方的协助,帮忙讲解下EMAC外设的相关初始化流程和中断DMA收发数据的正确操作模式。
前面拿到AT-START-F437开发板,尝试移植CycloneTCP网络协议栈,经过原厂RD的技术支持,帮助修改了几处代码,成功的将CycloneTCP网络协议栈移植到开发板上,可以正常识别100MBps网卡,可以正常PING通,然后实现FTP客户端访问服务器,下载文件,经长时间测试目前网络协议栈运行稳定,下一步考虑替换现有项目MCU,做前期方案验证。
简单上电试了一下,板子出厂自带一个流水灯的测试程序,通过按键可以控制流水灯的速度,就快慢两个档位。
|