使用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 即可获取」

相关推荐
广药门徒1 小时前
定时器时钟来源可以从输入捕获引脚输入
单片机·嵌入式硬件
爱睡觉的王宇昊5 小时前
二、【ESP32开发全栈指南:ESP32 GPIO深度使用】
单片机·嵌入式硬件
学生哥-_-11 小时前
STM32通过KEIL pack包轻松移植LVGL,并学会使用GUI guider
stm32·lvgl·tftlcd·gui guider·gt911
三三十二11 小时前
STM32实战:数字音频播放器开发指南
stm32·单片机·嵌入式硬件
想搞嵌入式的小白13 小时前
STM32外设问题总结
单片机·嵌入式硬件
让子弹飞0213 小时前
35.成功解决编写关于“江协科技”编写技巧第二期标志位积累的问题
stm32·按键
木子单片机14 小时前
基于STM32语音识别柔光台灯
stm32·单片机·嵌入式硬件·proteus·语音识别·keil
广药门徒15 小时前
澄清 STM32 NVIC 中断优先级
单片机·嵌入式硬件
小禾苗_16 小时前
32单片机——窗口看门狗
单片机·嵌入式硬件
小灰灰搞电子16 小时前
单片机0-10V电压输出电路分享
单片机·嵌入式硬件