更换STM32芯片类型引起keil下载Error Flash download failed-Cortex-M3问题的解决


一、改变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


四、如果芯片差别较大:如最大主频率不同,要更改程序中的定时器操作等 
如   system_stm32f10x.c的系统主频率,依实际情况修改
#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL)

  #define SYSCLK_FREQ_24MHz   24000000
#else

#define SYSCLK_FREQ_72MHz   72000000
#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


总结:总之所改的芯片跟以前的芯片在引脚定义 、寄存器操作 变化不大 。通常更改 第一步、第二部就可以移值到新的芯片上运行!!!





  • 9
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
回答: 当在KEIL中使用ST-LINKV2烧录程序进入STM32F103c8t6时,出现"Error: Flash Download failed - "Cortex-M3""错误。这个错误可能是由于程序编译时选择了不兼容的芯片型号导致的。例如,正点原子STM32F1开发板中的库函数的跑马灯程序适用于STM32F103ZET6芯片,而与STM32F103C8T6芯片并不完全兼容。为了解决这个问题,你需要将程序工程配置成STM32F103C8T6的环境。你可以点击魔术棒,选择"Device",然后选择"STM32F103C8",最后点击"ok"来进行配置。此外,你还可以在KEIL的项目选项中的C/C++/PREPROMCESSOR symbols的Define栏里定义芯片型号,或者在STM32F10X.H文件中使用宏定义来指定芯片型号。如果芯片之间存在较大的差别,比如最大主频率不同,你还需要更改程序中的定时器操作等。总之,根据实际情况进行相应的配置和修改,通常只需要进行第一步和第二步就可以将程序移植到新的芯片上运行。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [Error: Flash Download failed - “Cortex-M3](https://blog.csdn.net/qq_44619221/article/details/124051529)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [更换STM32芯片类型引起keil下载Error Flash download failed-Cortex-M3问题解决](https://blog.csdn.net/qq_26602023/article/details/47044439)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值