一、改变flsah download 对应的型号:
主菜单中打开Flash->Configure Falsh Tools配置窗口,切换到“Utilities"页。
按“Setting"按钮进入“Flash download setup"配置窗口
然后一路按“OK”按钮退出配置窗口。
在“Flash download setup"配置窗口点击“Add”按钮进入“Add Flash Programming Algorlthm"窗口
在“Add Flash Programming Algorlthm"窗口,根据你实际使用的芯片选择
二、更改启动文件:xxxx.s 文件
把以前芯片对应的启动文件改为现在对应的文件 通常路径为:\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm
关于型号的选择:
cl:互联型产品,stm32f105/107系列
vl:超值型产品,stm32f100系列
xl:超高密度产品,stm32f101/103系列
ld:低密度产品,FLASH小于64K
md:中等密度产品,FLASH=64 or 128
hd:高密度产品,FLASH大于128
三、更改对应的宏:
在KEIL下可以在项目的选项C/C++/PREPROMCESSOR symbols的Define栏里定义,比如STM32F10X_CL
也可以在STM32F10X.H里用宏定义
#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined (STM32F10X_XL) && !defined (STM32F10X_CL)
#define STM32F10X_HD
#endif
#endif
四、如果芯片差别较大:如最大主频率不同,要更改程序中的定时器操作等
如
system_stm32f10x.c的系统主频率,依实际情况修改
#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL)
#define SYSCLK_FREQ_24MHz
24000000
#else
#define SYSCLK_FREQ_72MHz 72000000
#endif
#else
#define SYSCLK_FREQ_72MHz
#endif
五、flash地址misc.h中的NVIC_VectTab_Flash 0x08000000 要与KEIL选项target的IROM1的地址一致,如果是IAP程序,依ISP程序占用大小,APP的FLASH地址向后延,比如0X8002000,那么KEIL选项target的IROM1的地址也要就0x8002000,SIZE因为ISP占用了2000,所以就为0x40000-0x2000,即只能填写0X3E000
总结:总之所改的芯片跟以前的芯片在引脚定义 、寄存器操作 变化不大 。通常更改 第一步、第二部就可以移值到新的芯片上运行!!!