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

相关推荐
学习路上_write21 分钟前
FPGA/Verilog,Quartus环境下if-else语句和case语句RT视图对比/学习记录
单片机·嵌入式硬件·qt·学习·fpga开发·github·硬件工程
非概念26 分钟前
stm32学习笔记----51单片机和stm32单片机的区别
笔记·stm32·单片机·学习·51单片机
jjjxxxhhh1232 小时前
FPGA,使用场景,相比于单片机的优势
单片机·嵌入式硬件·fpga开发
无敌最俊朗@2 小时前
stm32学习之路——八种GPIO口工作模式
c语言·stm32·单片机·学习
EterNity_TiMe_2 小时前
【论文复现】STM32设计的物联网智能鱼缸
stm32·单片机·嵌入式硬件·物联网·学习·性能优化
changingshow3 小时前
Arduino IDE Windows 系统 离线安装 esp32 开发板 亲测好用。
单片机·嵌入式硬件
7yewh6 小时前
嵌入式硬件杂谈(一)-推挽 开漏 高阻态 上拉电阻
驱动开发·stm32·嵌入式硬件·mcu·物联网·硬件架构·pcb工艺
Chervin13 小时前
Windows,虚拟机Ubuntu和开发板三者之间的NFS服务器搭建
linux·单片机·ubuntu·arm
TeYiToKu13 小时前
笔记整理—linux驱动开发部分(8)framebuffer类设备
linux·驱动开发·笔记·嵌入式硬件·arm
电子工程师UP学堂15 小时前
STM32 设计的较为复杂的物联网项目,包括智能家居控制系统,涵盖了硬件和软件的详细设计。
stm32