STM32系列——工程移植(从stm32f103c8t6工程到stm32f103zet6工程)

一、选择内核文件

首先打开一个stm32f103c8t6的工程。
在这里插入图片描述
在CORE文件夹下有两个文件,一个是内核文件core_cm3.c ,一个是启动文件startup_stm32f10x_md.s ,如果要移植到其他型号单片机上,这两个文件要检查一下是否需要改变。下面这张图片显示了不同型号单片机所采用的内核,比如要移植到stm32f4系列的单片机上,那么内核文件就要改变成cm4的内核。此次要移植的目标还是stm32f1系列的单片机,所以内核文件不需要改变。

在这里插入图片描述

二、选择启动文件

启动文件是需要改变的,下面是stm32f1系列下不同类型的单片机的启动文件

在这里插入图片描述
选择的时候需要根据单片机的容量来选
在这里插入图片描述
如何判断单片机的容量呢,可以从芯片型号看出来
在这里插入图片描述
stm32f103zet6中的E代表用的是512k的闪存存储器,属于大容量产品。
在Release Notes for STM32F10x CMSIS文档中,可以看到如下描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

但是还是感觉没说清楚,网上又查了一些资料,
大家可以参考一下这篇文章https://blog.csdn.net/weixin_45211835/article/details/123100958
一般大容量的用startup_stm32f10x_hd.s ,中容量的用startup_stm32f10x_md.s ,小容量的用startup_stm32f10x_ld.s 。stm32f103zet6属于大容量,所以启动文件选择startup_stm32f10x_hd.s 。接下来,就要把原来的启动文件startup_stm32f10x_md.s 更换为startup_stm32f10x_hd.s 。
先移除原文件
在这里插入图片描述

然后进入固件库的如下目录STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm,复制startup_stm32f10x_hd.s文件到你原来的工程目录中的CORE文件夹下

在这里插入图片描述
原来的startup_stm32f10x_md.s就可以删掉。然后在工程中加入新的启动文件startup_stm32f10x_hd.s
在这里插入图片描述
加入之后启动文件就替换完成
在这里插入图片描述
接下来还需要在工程中修改
在这里插入图片描述
将STM32F10X_MD改为STM32F10X_HD
在这里插入图片描述

这一步主要是软件根据你的cpu来去掉stm32f10x.h中相应行的注释符。接下来还要更改设备的型号,选择103zet6
在这里插入图片描述
接下来编译工程,没有错误,stm32f103c8t6移植为stm32f103zet6成功。在这里插入图片描述
stm32f103c8t6原工程百度网盘链接
https://pan.baidu.com/s/1xIK9iiPa-rxSa8x96WRTug提取码1elk
移植好的stm32f103zet6工程源码百度网盘链接
https://pan.baidu.com/s/1T_J_Um7vnXNS49jlP-bG9Q提取码h3r1

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值