STM32
直播中

王萍

7年用户 1266经验值
私信 关注
[问答]

怎样将HAL库STM32F103RCT6移植到STM32F103C8T6上去呢

怎样将HAL库STM32F103RCT6移植到STM32F103C8T6上去呢?

回帖(1)

毛微

2021-12-15 14:08:16
HAL库STM32F103RCT6移植到STM32F103C8T6


1,修改IC为STC32F103C8
![image.png](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9jZG4ubmxhcmsuY29tL3l1cXVlLzAvMjAyMC9wbmcvMTU3NDYyNi8xNTkxNzk5NTM4NTkwLTFjNTdkNmNmLTZjZDUtNDNkYS1iYTE2LTUwZTlmNTdhNzE0OS5wbmc?x-oss-process=image/format,png#align=left&display=inline&height=283&margin=[object Object]&name=image.png&originHeight=420&originWidth=329&size=26988&status=done&style=none&width=222)
**


2,修改晶振为8.0M
![image.png](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9jZG4ubmxhcmsuY29tL3l1cXVlLzAvMjAyMC9wbmcvMTU3NDYyNi8xNTkxNzk5NTkwMTk0LWFiOGYxNjcxLWVmNWMtNDRmYy1hOGNhLTI5ZmRmNTgyMmVlMS5wbmc?x-oss-process=image/format,png#align=left&display=inline&height=136&margin=[object Object]&name=image.png&originHeight=158&originWidth=347&size=10342&status=done&style=none&width=298)


**3,修改C/C++宏定义,由 **USE_HAL_DRIVER,STM32F103xE **改为 **USE_HAL_DRIVER,STM32F103xB
注意并不是“STM32F10X_HD,USE_STDPERIPH_DRIVER 改为 STM32F10X_MD,USE_STDPERIPH_DRIVER”
![image.png](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9jZG4ubmxhcmsuY29tL3l1cXVlLzAvMjAyMC9wbmcvMTU3NDYyNi8xNTkxNzk5NzExNzQ5LWIxNTYyODU4LTBhZTgtNDc2ZS05YzJlLTFmMzU1NmMxY2VkNy5wbmc?x-oss-process=image/format,png#align=left&display=inline&height=76&margin=[object Object]&name=image.png&originHeight=152&originWidth=623&size=10275&status=done&style=none&width=311.5)


4,替换启动文件,由**“**startup_stm32f103xe.s”修改为“startup_stm32f103xb.s”
注意并不是“startup_stm32f10x_hd.s”修改为“startup_stm32f10x_md.s”
![image.png](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9jZG4ubmxhcmsuY29tL3l1cXVlLzAvMjAyMC9wbmcvMTU3NDYyNi8xNTkxNzk5ODQ1NTYyLWZiYTVjOGMzLTgzMGItNDM2MS04ZTkzLTUzZTI1ODZmZWExZi5wbmc?x-oss-process=image/format,png#align=left&display=inline&height=424&margin=[object Object]&name=image.png&originHeight=468&originWidth=265&size=23171&status=done&style=none&width=240)
关键:在工程文件夹中加入 startup_stm32f103xb.s 和 stm32f103xb.h
**获得这两个文件的路径:**在cube库的源码库中,忘记源码库路径的同学可以看cubemx设置的路径
startup_stm32f103xb.s,这个文件放到工程的CORE文件夹里面(就是原来放startup_stm32f103xe.s的文件夹)
![image.png](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9jZG4ubmxhcmsuY29tL3l1cXVlLzAvMjAyMC9wbmcvMTU3NDYyNi8xNTkxODAwNTEwODQ4LWQyZjZmZWU4LWEyMmItNDNlYS1hODBlLWNlZDU2MDIwYzE4ZC5wbmc?x-oss-process=image/format,png#align=left&display=inline&height=211&margin=[object Object]&name=image.png&originHeight=423&originWidth=1105&size=88187&status=done&style=none&width=552.5)
stm32f103xb.h,这个文件放到工程的USER文件夹里面(就是原来放stm32f103xe.h的文件夹)
![image.png](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9jZG4ubmxhcmsuY29tL3l1cXVlLzAvMjAyMC9wbmcvMTU3NDYyNi8xNTkxODAwNTQ1NDM4LTIxMzMxODJmLTc2MzUtNGE2ZS04ZmI4LWJlZGNiNjVlMzZiNC5wbmc?x-oss-process=image/format,png#align=left&display=inline&height=232&margin=[object Object]&name=image.png&originHeight=464&originWidth=965&size=90233&status=done&style=none&width=482.5)


5,main中补充基础功能的初始化函数调用
![image.png](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9jZG4ubmxhcmsuY29tL3l1cXVlLzAvMjAyMC9wbmcvMTU3NDYyNi8xNTkxODAwMDMyMTQ3LTQ3MDE2OGYwLWVlMmMtNDU2ZC04OTZjLWE0N2YzZGYwNjYyNC5wbmc?x-oss-process=image/format,png#align=left&display=inline&height=118&margin=[object Object]&name=image.png&originHeight=144&originWidth=563&size=15218&status=done&style=none&width=461)


6,使用stlink调试的同学不要忘记将硬件调试换成stlink,并按settings-Flash Download-打勾Reset and Run
![image.png](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9jZG4ubmxhcmsuY29tL3l1cXVlLzAvMjAyMC9wbmcvMTU3NDYyNi8xNTkxODAwMTQyMTY4LTZmYTRiYTNjLTNiNDAtNDM0My1hN2IzLTA2ZmU3OTljODc2OS5wbmc?x-oss-process=image/format,png#align=left&display=inline&height=72&margin=[object Object]&name=image.png&originHeight=143&originWidth=617&size=12530&status=done&style=none&width=308.5)


注意事项:
此版本HAL库移植不存在移植后程序运行速度减慢为10倍的问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分