如果是使用HAL库,移植在某些情况下改动很小,几乎没有
但是使用寄存器库,这个工作量就大了
这就是ST推出HAL库的根本原因,方便移植
这要看你用的哪个库了 如果是hal库 改动很小
但是一些没有的外设是不能用的 用了的话就没法移植
STM32F4系列和STM32F1系列定位是不一样的,内部资源也有很大差别,显然F4系列资源要比F1系列丰富,如你所说是从高端向低端迁移,除非你原来的程序使用的资源有限,且只覆盖到与F1系列同样的资源。那么移植是有可能的,否则资源都不够,移植从何谈起!
407和F1在驱动上,差别很大。
如果使用的CubeMX 那估计工作量稍微小一些,但是如果你用的标准库,那就改动太大了。
比如,就串口的驱动,F1不需要串口引脚映射,但是F4却需要的。
只从寄存器看,f4也比f1多了一些寄存器,代码直接复制是绝对不行的,
对应IO口的外设也不一样,同一个编号的外设功能也不一定相同