非常荣幸在这次活动中获得板子。F460是一款高性能高性价比的国产单片机,在这个价位上带QSPI的貌似只有这一款。我本人之前用过华大的单片机,HC32F072的DAC还是非常出色的,带跟随其输出,输出能力很强。我司一直使用RT-Thread,所以这次我移植了RT-Thread ,它的finsh功能是非常强大的,调试非常方便。
这次使用的是最新稳定版V4.0.2,我直接在BSP中原来存在的工程中修改成HC32F460的工程,在bsp文件夹下建立了HC32文件夹,打算有机会将HC32L130等华大单片机的的rt-thread的也放进去。
因为rt-thread官方没有移植,故没有使用Env工具,纯手动移植。
1、先下载rt-thread源码
这个不上图了,上图有给rt-thread打广告之嫌。
2、将其中任意一个M4的工程改成HC32F460,同时删掉没用的文件,添加F460最新的固件库,该添加的头文件路径要添加进去
2、安装F460的keil5包后,选择型号、下载算法,配置RAM地址和大小等
3、添加启动文件,配置时钟等,与rt-thread接口融合。
这个就不上图了,看附件源码吧,要不然篇幅太多。
4、修改串口驱动,修改成rt-thread面向对象的方式,方面finsh平台调用串口对象
我都给移植好了,使用的Int000_IRQn~Int003_IRQn中断,如果打开多个串口设备,自己注意中断向量就可以。
5、测试下吧,看看效果
上电就会打印版本,回车就会打印 msh >
输入 help 回车,就会看到所有的命令
我们输入list_device 查看设备
这就是我们使用的串口3设备
输入list_thread 可以看到线程的堆栈使用情况,输入free可以看到内存使用的情况,对于我们的调试非常方便
6、RAM的使用
我们打开手册发现,F460的RAM总的非常大,但是还是非常分散的,咋一看没法使用大内存,其实是可以的
F460的RAM一共分为5块,SRAMH是和CPU同样的速度访问,其他的最大的速度是CPU频率的一半,
而SRAM3的校验是ECC校验,所以我们把SRAM1和SRAM2合并在一起,测试发现是稳定的。
把它们作为rt-rhread系统内存,使用rt_malloc和rt_free测试申请100K的情况
测试发现申请成功,同时将这个100K的字节设置为1
释放内存
也释放成功。
其实将SRAMH和SRAM1、SRAM2合在一起也是可以的,就是浪费了SRAMH的高速特性。
其实我调试了看门狗、RTC和QSPI flash,不过测试发现qspi flash的读速度非常的快,还不确认是测试错了还是确实快,故就不放这一部分了。
测评到此结束,最后再次感谢华大的这块开发板,更感谢华大推出了这一款高性能高性价比的单片机,在这种国际环境下,支持国产是没有错的。也希望华大能推出M7内核的和RISC-V的单片机。
|