1、国内芯片兼容STM32的情况现在绝大部分地方都出现缺芯的情况,特别是国外的一些需求量很大的MCU芯片。这个时候,国产芯片也是有一种选择。
目前STM32在国内的替代方案有很多,包括软硬件的兼容性也很高。
比如:GD32(兆易创新)、MM32(灵动微电子)、HK32(航顺电子)、HC32(华大半导体)、CKS32(中科芯)、APM32等一些可能大家之前不了解,也没有听说过的MCU,现在也开始慢慢火热起来了。
国产32位MCU对STM32兼容性较高,且大众一点的MCU应该算GD32了。我知道GD32比较早,兆易创新在2013年推出了第一款Cortex-M内核的MUC(GD32F1),我在2014年就开始了解GD32了,那个时候看到兼容STM32,也是惊呆了。。。
国内其他32位的MCU芯片,很多也类似GD32,对STM32具有一定的兼容性。确实有些小项目,能做到“无缝替换”,但并不代表这些国产芯片就能做到100%兼容。
要做到100%兼容,其实很难,即使是STM32自己做兼容芯片,也是存在差异。
从这里也能看到,做到100%兼容很难。
2、GD32并非完全兼容STM32虽然大家都说GD32高度兼容STM32,但GD32还是有很多地方与STM32有区别。
包括我之前也给大家分享过STM32F1和GD32F1有很多区别的文章,其中说明了一些地方存在差异。
包括内核、主频、供电、Flash、功耗、串口、ADC、FSMC、RAM&FLASH大小等很多外设资源:
除了相对普遍一点的GD32,像MM32、HK32等其他32位国产MCU也类似,有一些明显差异,大家使用时需要注意看下区别。
3、GD32兼容STM32方案踩过坑的人都知道,GD32与STM32看似高度兼容,实际有很多地方需要注意,在实际项目中,需要为了兼容找到一些解决方案。
这里分享一份网友整理的内容,GD32兼容STM32常见的解决办法,比如:
4、最后国产MCU目前可以作为一种选择,但是,即便高度兼容,在实际项目中,也是需要注意很多细节差异。
特别是在原有项目上替换国产32位MCU的时候,尽量多测试,尽量多测试,尽量多测试。
最后,再次强调一遍,国产芯片32能100%兼容STM32都是骗人的鬼话,你信了,你就输了。