NUCLEO-F446RE 评测
上周非常高兴地收到 NUCLEO-F446RE 开发板, 打开资料, 这是个非常强劲的 Cortex-M4 代浮点处理的 STM32F446RE CPU,可达 180MHz 的主频, 和 225MDIPS 的运算能力.还有其他强劲的功能让人颇感激动.不过除了引出的 IO口, 板上资源除了一个 ST-Debug, 就两个按钮, 一个指示灯. 显得少了一点.
具体的功能和细节不多讲了, 因为手册上很详细. 我记得 STM32 的 MCU 都有很强的频率富余. 可以看我 F303 测试 https://bbs.21ic.com/icview-379066-1-1.html; F407 的测试 https://bbs.21ic.com/icview-293157-1-1.html; 而 F107 我也测试跑到了130MHz以上. 那么这个标称 180Mhz 的 MCU 会不会测试出超过 300MHz 的成绩呢? 让我们拭目以待. 另外我也想测试一下MCU配置对性能还有无影响 https://bbs.21ic.com/icview-364202-1-1.html;
再趁着这个阅兵假期, 我也来阅一下 F446的手册.
本开发板的软件包是个 stm32cubef4.zip 文件. 打开一看, 里面基本都是基于 HAL 库的软件代码, 找几个库代码看了一下, 和以前的 StdPeriph 外设库完全不同,从手册看, 很多外设地址和寄存器都是兼容的, 所以想先借用以前的代码, 直接换到 F446 上执行. 编译, 下载, 调试运行都正常了, 蛮高兴的, 不过后来却来了问题, 费了一天多的时间, 没有搞定. 启用 SysTick 后, 单步调试中systick溢出了多次都不进入中断, 但连续运行就进入 HardFault, 异常后的 PC 地址竟然是 0x04030200. 用 Systick 是记录时钟数最有效的办法, 好像跳不开这个办法.
想先得到一个测试结果, 换 MDK 5.14, 只得用 HAL 库了, 不过代码中的寄存器操作代码却把我缠住了, 不熟悉这个 HAL 库, 好像真的不支持原来的寄存器定义了吗?
该睡觉了, 待续... |