在不同 STM32F3/F4 个 MCU 上使用相同的代码

Using same codes on different STM32F3/F4 MCUs

目前我正在大学项目中使用 STM32F303ZET6(带有 Nucleo 开发板)。我们还需要制作包括微控制器在内的全SMT PCB。我们遇到的问题是在国内找不到STM32F303ZET6的SMT版本。

所以我们必须更换我们的微控制器,但目前我只有 STM32F303ZET6,我将用它编写所有代码。我计划将 arm mbed 用于库和开发环境。我的问题是我可以将我为 STM32F303ZET6 编写的相同代码用于其他一些 STM32F3 或 STM32F4 微控制器吗?

STM32F2、STM32F3和STM32F4系列之间有很多共同点。 F3 和 F4 都是 Cortex-M4,三个系列共享通用外设。在某些情况下,您可能会发现引脚多路复用选项不同,或者某些外围设备在一部分中可用,而另一部分不可用。

不同的部件可能有不同数量的 USART、ADC、DAC 等,以及不同数量的可用 GPIO。所以你应该检查你使用的外围设备和端口是否在备用部分可用。

这实际上是浏览数据 sheet 并比较部件的功能、能力和引出线选项的问题。如果您使用的是 STM32Cube,您应该几乎没有兼容性问题(Cube 有其他问题,但跨部分兼容性是其主要目的)。

每个部分的时钟树往往不同,因此您将需要部分特定的 C 运行时启动代码,但这通常由工具链提供。