1. 修改 芯片
2. 修改 晶振
3. 修改 C/C++宏定义
HAL库移植是把 USE_HAL_DRIVER,STM32F103xE 改为 USE_HAL_DRIVER,STM32F103xB
而标准库是把“STM32F10X_HD,USE_STDPERIPH_DRIVER 改为“STM32F10X_MD,USE_STDPERIPH_DRIVER”,这是标准库的改法!
4. 移植 启动文件
HAL库移植是由“ startup_stm32f103xe.s ”修改为“ startup_stm32f103xb.s ”
标准库是把“ startup_stm32f10x_hd.s ”修改为“startup_stm32f10x_md.s ”,注意区分!!
关键:在工程文件夹中加入 startup_stm32f103xb.s 和 stm32f103xb.h
获得这两个文件的路径:在cube库的源码库中,忘记源码库路径的同学可以看cubemx设置的路径
startup_stm32f103xb.s,或是用博主已经下载好的直接用就行。
把 startup_stm32f103xb.s 文件放到工程的对应文件夹里面(就是原来放startup_stm32f103xe.s的文件夹),把 stm32f103xb.h 文件放到工程的对应文件夹里面(就是原来放stm32f103xe.h的文件夹)。
链接:https://pan.baidu.com/s/13GlwSopybAZ54ijZG-My7w?pwd=7d01
提取码:7d01
5. 移植完成后检查外设是否兼容
比如博主之前在stm32f103rct6中使用TIM5定时器,但是stm32f103c8t6没有TIM5,只有TIM4,所以需要查看之前的外设移植到新的芯片中是否兼容,不兼容就要修改对应的程序。
使用stlink调试的同学不要忘记将Debug换成stlink,并按settings---Flash Download---打勾Reset and Run
至此HAL库STM32F103RCT6移植到STM32F103C8T6,移植完成!!
本篇完。
本人博客仅代表个人见解方便记录成长笔记。
若有不足,请指出,感谢您的阅读!