使用Keil移植工程时修改单片机型号参数

系列文章目录

STM32单片机系列专栏

C语言术语和结构总结专栏


当使用Keil对STM32系列单片机开发时,如果使用的是库函数,那么不同型号单片机的工程项目文件是可以直接移植的。只需要按照下面的步骤修改对应的芯片,就可以直接将工程移植过去,不用重新编写。

移植工程之后,还需要注意的是要确保工程中用到的IO口,在两个芯片中都有,并且要修改为对应的引脚。如果工程中使用IO在一个芯片上有,另一个芯片上没有,是不能直接移植的。如果引脚排序不一样,需要更改 IO口后才能使用。

如上图所示,即使是相同型号的C8T6,如果制作的开发板型号不同,IO口的排序也可能不相同。所以移植的时候引脚位置要确认好,看看位置不同是否影响使用。

下面将演示将STM32F103RCT6单片机上开发的工程,移植到STM32F103C8T6单片机上。

移植步骤

1. 更改芯片型号

打开魔术棒,点击Device,选中STM32F103C8芯片,点击OK。将芯片型号由STM32F103RC 改为 STM32F103C8。

2. 更改宏定义

还是在魔术棒中,点击C/C++,将宏定义STM32F10X_HD 改为 STM32F10X_MD,因为STM32F103RC为大容量芯片,而 STM32F103C8为中等容量芯片,所以要将HD改为MD。注意不同的单片机宏定义的内容不一样。

如果想知道这个是怎么得到的,打开stm32f10x.h,拉到最下面,就可以看到这个定义

3. 更改启动文件

将CORE/Source Group(每个人设置的名称不一样)里面的后缀为hd.s的启动文件换成md.s的启动文件。

对于其他型号的单片机如何选择启动文件,可以参考下面的表格:(对这部分不太熟悉的可以看一下下面两篇文章:)

使用Keil MDK创建STM32标准库工程

STM32系统参数和结构

4. 更改Debug选项

还是在魔术棒中,点击Debug选项,在Debug中选择烧写器为ST-LINK(如果用的J-link就选J-link Debugger),然后点后面的Settings按钮。

打开的界面中选择 Flash DownLoad 选项,底下是STM32F103RC单片机的flash文件,为512k,而现在需要换成用的STM32F103C8单片机flash为128K,所以要将原来的文件删除掉,重新添加文件。点击默认芯片,然后点击Remove。

删除掉原文件后,再点Add按钮添加新文件。在打开的对话框中选择第一个文件 128K大小,点Add按钮,添加新文件。这时flash文件大小就变成128k了,最后点确定按钮。

接下来就是一路OK键。

5. 编译测试

现在移植工作就完成了,重新编译工程,如果没有错误就可以直接使用了。

相关资料包

STM32标准库工程模板

单片机调试和下载工具软件

固件库链接;

【超级会员V7】通过百度网盘分享的文件:STM32F10....zip

链接:https://pan.baidu.com/s/1bu8xFf5l7Bnv-Xj8F6MmkA?pwd=1g28

提取码:1g28

复制这段内容打开「百度网盘APP 即可获取」

相关推荐
元器件BOM超人4 小时前
STM32F103和GD32F103怎么选?
stm32·单片机·gd32
HRTOS5 小时前
HRTOS 4.0 本轮测试与升级工作阶段性总结
经验分享·单片机·嵌入式硬件·51单片机
‎ദ്ദിᵔ.˛.ᵔ₎5 小时前
STM32 时钟树与 RCC
stm32
kkkkkkkkkk_Z5 小时前
新手自学嵌入式 | 学习日记:EPIT/GPT定时器、输入捕获与PWM、UART通信与Modbus协议
单片机·gpt·学习
笨笨饿6 小时前
#142_VS Code.map文件插件的用法
git·python·stm32·单片机·嵌入式硬件·物联网·vim
三佛科技-187366133976 小时前
HN62512是什么芯片?HN62512多规格5V/12V500mA,24V350mA芯片解析
单片机·嵌入式硬件
早八晚十啊6 小时前
双MCU架构:基于视觉反馈的简易自行瞄准装置(激光云台控制)
单片机·嵌入式硬件
恒锐丰科技林技术员6 小时前
EG27517 高速低侧单通道栅极驱动芯片解析
经验分享·嵌入式硬件·硬件工程
Zw-awa7 小时前
让小车沿线转得顺:循迹位置环 PID
stm32
铅笔小新z7 小时前
【stm32】RTC(实时时钟)
stm32·单片机·实时音视频