MDK自带下载工具不能擦除芯片和烧写FLASH

问题1:通过MDK编译好的.HEX文件无法下载到开发板上
日期:2016年8月31日16:20:49


MDK下载设置:
MDK中utilities->debug ort:sw MAX:5MHz
调试信息如下:
JLink info:
------------
DLL: V4.90 , compiled Jul 28 2014 10:35:20
Firmware: J-Link V9 compiled Apr 21 2015 18:10:40
Hardware: V9.20
Feature(s) : GDB, RDI, FlashBP, FlashDL, JFlash 
 
* JLink Info: Found SWD-DP with ID 0x2BA01477 --表示Jlink可以找到开发板的SWD
***JLink Error: Error while identifying Cortex-M core.--在验证Cortex-M核时错误
Error: Flash Download failed  -  Target DLL has been cancelled--Flash 下载失败 - 目标DLL已经取消
Flash Load finished at 16:24:07


MDK是一个集成开发环境,JLINK是SEGGER公司生产的硬件调试和下载工具。
MDK支持JLINK设备,相当于将JLINK作为一个组件,添加到开发环境中,方便调试和下载。
按道理说,JLINK的设置和MKD中下载的设置应该是一致的。
但是正确的配置方式到底是什么?是和硬件开发板有关的跳线没有跳?


估计要通过官方的视频才能解决这个问题了。。


MDK下载设置:
MDK中utilities->debug ort:JTAG MAX:50KHz
Load "..\\output\\app.axf" 
* JLink Info: Device "UNSPECIFIED" selected (0 KB flash, 0 KB RAM).
Set JLink Project File to "D:\mystm32\keiltest01\user\JLinkSettings.ini"
* JLink Info: Device "UNSPECIFIED" selected (0 KB flash, 0 KB RAM).
 
JLink info:
------------
DLL: V4.90 , compiled Jul 28 2014 10:35:20
Firmware: J-Link V9 compiled Apr 21 2015 18:10:40
Hardware: V9.20
Feature(s) : GDB, RDI, FlashBP, FlashDL, JFlash 
 
* JLink Info: TotalIRLen = ?, IRPrint = 0x..000000000000000000000000
Error: Flash Download failed  -  Target DLL has been cancelled
Flash Load finished at 16:53:02


开发板使用的是JTAG转SWD接口进行程序的下载和调试。。。。。
所以在JFLASH中option->project setting ->Target Interface中应选择SWD,速率均设置为自动选择。


JFLASH中Target选项下面secure chip 和 unsecure chip分别是干什么的?
答:
JFLASH中Option选项下面Project setting->Production最底下的选项框中,Erase有三个互斥选项:sectors,setors if not blank,chip
这三个选项分别有什么区别吗?
答:


下载完程序之后要关闭电源,然后重新上电才能正常运行程序。因为此时J-Link仿真器抢占了CPU的控制权。


问题2:使用MDK自带的下载工具,进行的正确的配置,但是仍然没有办法下载,提示:擦除XX失败,下载FLASH失败
解决方法:
这个应该是STM32F407IG的芯片安全级别比较高,应该先使用JFLASH连接到芯片,然后unsecure chip,对芯片的安全级别先做解除。
然后再用MDK自带的下载工具就可以实现正常下载了。

你可能感兴趣的:(工程建立,stm32f407ig)