本帖最后由 死不低头 于 2025-5-25 12:14 编辑
最近搞了几块HC32F4A核心板测试功能,总的来说硬件很强大,软件有点弱但是问题不大,发现小华这款旗舰芯片很多地方不太合理。
1,通信端口非常多,uart、spi、iic之类的都非常多,用不完根本用不完,但是DMA通道数量16个只能算中规中矩,要么给通信口加上硬件FIFO,要么增加DMA数量。
2,定时器非常多,但是32位定时器少,而且配置定时器比较复杂特别是编码器输入的时候,ST只要设置为编码器模式就搞定了。
3,DCU数量太少而且只有4个作为独立AOS目标源,我看HC32F4A8还给定时器6搞了一个PTO模式,直接增加DCU数量和AOS互联触发不简单很多,比如从原来8个直接翻倍成16个或者24个。
4,CRC目前还没试过,看手册好像没有开放自己配置的功能所以没试了,感觉一个好好的东西废了。
5,备份SRAM才4KB,有点对不起那么多SRAM吧,应该弄到16KB左右,毕竟很多只有196KB内存的F4芯片都有4KB的备份内存。
6,很多通信接口的IO可以有很多选择,但是ETH和定时器几乎没得选择,根据我画过几次多GPIO的板子经验来说,ETH引脚和定时器引脚更需要能自由映射。
7,各版本DDL库函数差别很大,参考老案例的时候有点头大,另外ETH程序样例写得狗屎一样。
8,TMRA 偶数通道比较基准值寄存器能当奇数通道的缓存,但是周期基准寄存器没有缓存,如果数值需要快速变化需要进中断进行修改,否则可能出不可预测问题。
9,通用定时器TMR2的每个通道有各种的计数器,所以能单独工作,但是既没有比较基准值寄存器也没有周期基准计数器的缓存,更需要进中断进行修改。
10,定时器TM6和TMR4好像有点超乎寻常的复杂,手册说得不够详细,头大。
11,串口usart和DMA,居然有点复杂,需要AOS和TMR0,我开始还以为和STM32那么简单,难怪后面的HC32F4A8吧定时器TMR0增加到5个来对应10个usart。
对比一下STM32F407,虽然看起来外设比这个HC32F4A0要少很多,主频也要低不少,但是STM32F407实际使用难度要小很多,外设利用效率更高。
|