先说结论,项目基本上开发测试完成了,mcu运行正常。
这个项目是一个智能家居的项目,主板和副板都使用了HK32F030C8T6,这也是笔者第一次使用航顺的芯片。
关于这个芯片的资料,从官网只能下载到datasheet和user mannal的pdf文档:
软件的资料是没有的,只能找技术支持要,但是技术支持给的答复也是比较令人恼火的:
是的,你没有看错,技术支持给的答案是直接使用ST的SDK。
笔者好久没有使用ST的芯片,索性直接找航顺的技术支持要了,由于ST STM32F0系列的芯片种类比较多,因此对应的启动文件也比较多,这里还与航顺的技术支持确认了一下使用哪个启动文件:
航顺技术支持给的答案是使用第三个。
经过实际测试后,发现还是有些问题,无奈最后从网上找了一个hk32f030的工程模板,但是这个工程里面的库文件命名全是航顺的,而不是st的:
使用这个测试后,mcu运行正常。
搞到这里,其实就说明了一个问题,并不是技术支持说的软硬件兼容。翻看HK32F030的datasheet我们可以发现,最高可以跑到72MHz的。
而STM32F030只能跑到48MHz。
这里要注意如果想要把航顺的HK32F030跑到72MHz,是需要自己改的,改完之后也是需要自己验证的。
所以说的完全兼容,也是不存在的。
这里要说一个小插曲,我们硬件设计HSE使用的是12MHz,但是航顺那边建议用8MHz:
这里我猜可能是因为ST的SDK里面默认的HSE是8MHz的原因吧,其实这个只要修改一下SDK中的分频倍频系数就可以了。
本项目中使用了Systick、Tim3、USART1、USART2、ADC、GPIO、EXTI、IWDG、FLASH、I2C等外设(内部flash存储数据),目前运行正常。
最后想说:希望厂家能把资料完善一下,用户使用起来也就方便一些了。