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)
2.启动文件选择
查阅上面图片资料可以发现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…调出配置选项卡配置。
第一步:Device 选项下改芯片型号。
芯片型号是STM32F103ZE的,需要手动选择为STM32F103C8的,选择后如下:
第二步:改芯片所需的宏定义。
这里STM32F103ZE是大容量,用的是HD,STM32F103C8是中容量,选择MD。如下:
第三步:改芯芯片烧写算法。
F1系列的芯片大容量选择的是512K的,中容量可以选择128K的即可。
到此,这个M3工程修改就已经完成啦,步骤修改起来还算是简单的,工作量不算特别大。完成上面几个步骤就可以使用啦!!