事情是这样的,我的st-link前几天不能用了,电脑读不出来。显示是未知设备(已安装st-link驱动)。想着可能是固件坏了。于是重刷固件,从网上找的固件hex文件。用J-FLASH 烧录。链接正常:Opening data file [C:\Users\Administrator\Desktop\STLINK_JLINK\ob-stm32.hex] ... - Data file opened successfully (63336 bytes, 3 ranges, CRC = 0xAC6E64AA) Connecting ... - Connecting via USB to J-Link device 0 - J-Link firmware: V1.20 (J-Link ARM-OB STM32 compiled Aug 22 2012 19:52:04) - Target interface speed: 200 kHz (Auto) - Initializing CPU core (Init sequence) ... - Initialized successfully - Target interface speed: 200 kHz (Auto) - Connected successfully 烧录错误: Programming target (63336 bytes, 3 ranges) ... - ERROR: RAM check failed @ address 0x20000000. - ERROR: Write: 0x03020100 07060504 - ERROR: Read: 0x00000000 00000000 - ERROR: (0 bytes of RAM have been checked successfully) - ERROR: Failed to program targetDisconnecting ... - Disconnected请问这是什么问题?怎么解决? |
你最好还是根据你的芯片来选择hex文件。hex文件不能乱用。
不同的芯片ram,rom范围不同,编译出来的代码自然不同。不仅仅是不是超过ROM的范围。
就好像你的16K的RAM和20K的RAM,栈顶的位置自然不一样
嗯 是,那个hex文件超了ROM范围!hex文件对应的芯片不对能不能下进去?我找了一个f103ze系列的hex也是下不进去呢?
你下载的hex文件是那个芯片的?可能是RAM或者ROM的范围不匹配
没焊接好会出这个问题,完全一样的
(还有烧写st-link连线也要注意一下...
你好,你的问题解决了没?
st-link以及软件配置是没问题的。因为我可以给其他片子烧写程序。
是从网上找的一个hex文件,你的意思是说文件太大超过ROM的范围了?
对的,片子本身是一个st-link(产品),芯片是用的stm32f101.所以想烧写下试试
你下载的hex文件是那个芯片的?可能是RAM或者ROM的范围不匹配
101我试过不行,具体没研究