因为管脚资源等等不对应,所以程序不能直接编译(特别是寄存器读写开发模式),而需要根据新资源做迁移(各类资源配置)调整再编译。
采用HAL库开发的,则主要配置管脚(外围管脚接线)可能就能编译使用啦。
程序肯定不一样,
F1和F4的库是完全不兼容的。
即使引脚你设置一样,但是系统时钟设置确是没办法做到一致的。
要是使用HAL库的话,那么可移植性是很强的,大部分可以通用的。只要是外设一样,这就是HAL库的优势
是的,内核不一样,接口寄存器就不太一样
一样的内核在引脚定义和外设也会不一样
只有上层的数据处理是一样的
虽然都是STM32单片机,但是内核架构都不一样,程序肯定不能二进制兼容的。
STMF1是Arm Cortex M3内核,STMF4是Arm Cortex M4内核,架构不一样,内核会有区别,片上资源也会不一样。
即使同为一个内核架构的STM32F1系列,F107是有以太网控制器的,F103是没有的,二进制代码不会完全一样。
同时STM32F103,Flash大小不一样,程序可能也会有区别。
所以不同型号单片机之间二进制很难做到完全兼容的。