STM32F103ZET6的芯片工程改为STM32F103C8T6的工程



文章目录

  • STM32F103ZET6的芯片工程改为STM32F103C8T6的工程
  • 前言
  • 1.准备工作
  • 2.启动文件选择
  • 3.MDK配置



前言

有时在一些项目里面有比较大的工程,突然遇到一些情况需要换主控了,比如芯片涨价、缺芯等,这时候就需要对工程进行移植,不可能再从头写一遍的了。那么这样对应的工作量也相对比较大,所以如果是相同的系列单片机,可以直接在工程改一下芯片参数就可以使用,同系列的处理器是最好处理的了,不用考虑系统时钟等一些问题,就随便修改一下GPIO或者改外设挂载的总线时钟使能等等,相对方便。而对于不同系列型号的处理器就需要进行核心代码移植了,无法直接在工程上面直接修改。

下面以Cortex-M3内核的芯片来操作示范:


1.准备工作

1、需要准备一个可以正常使用的STM32F103ZET6工程。
2、准备一个启动文件:startup_stm32f10x_md.s,没有的可以网上找找或ST官方的例程资料里面拷贝。
(STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm)

工程机能升级bios_stm32

2.启动文件选择

工程机能升级bios_启动文件_02

查阅上面图片资料可以发现STM32F103C8T6的芯片是48个引脚、FLASH 是64k的内存。

这里的选择 FLASH 的容量大小判断方法如下:
小容量:FLASH<32K
中容量:64K<FLASH<128K
大容量:256K≤FLASH

startup_stm32f10x_ld.s: 适用于小容量产品
startup_stm32f10x_md.s: 适用于中容量产品
startup_stm32f10x_hd.s: 适用于大容量产品

综合对比考虑,STM32F103ZE属于大容量,STM32F103C8属于中容量。所以STM32F103C8芯片需要选择的是中容量的芯片启动文件。

3.MDK配置

首先点击Project–>Options for Target…调出配置选项卡配置。

工程机能升级bios_stm32_03

第一步:Device 选项下改芯片型号。

工程机能升级bios_启动文件_04

芯片型号是STM32F103ZE的,需要手动选择为STM32F103C8的,选择后如下:

工程机能升级bios_启动文件_05

第二步:改芯片所需的宏定义。

工程机能升级bios_M3_06

这里STM32F103ZE是大容量,用的是HD,STM32F103C8是中容量,选择MD。如下:

工程机能升级bios_单片机_07

第三步:改芯芯片烧写算法。

工程机能升级bios_工程机能升级bios_08

F1系列的芯片大容量选择的是512K的,中容量可以选择128K的即可。

到此,这个M3工程修改就已经完成啦,步骤修改起来还算是简单的,工作量不算特别大。完成上面几个步骤就可以使用啦!!