啊,倒腾一晚上,以为小哥把板子给我搞坏了。。。还发誓不要借给别人玩了。。。
结果。。。
问题是这样的,Jlink通信正常,在commander模式下可以正常访问cpu,读取状态,但是在jlink-arm里面,connect的时候,跳出一句“can not find any flash device”。
问题解决步骤是这样的:
1、google之,使用关键词jlink can not find any flash device。搜出的结果是Jlink可能没法支持某些器件的内部flash。so,我翻出原理图,查看是不是类似情况,会有跳线被改了之类的情况。产看原理图的结果是没有跳线或者开关之类的供我选择。
2、然后吧,明明能找得到cpu,而且能读出状态的啊。。。于是我怀疑flash挂了。但是flash挂的几率也太小了。我也没法验证。
3、既然是设计的时候需要用到外部flash,那么应该有别人的设计经验可以参考,看看是哪块flah出问题了。
4、于是,百度搜索:stm32 jtag flash。嘿,遇到有人在H-Jtag软件下类似问题,提示是“Can't halt target and make it enter DEBUG state. For USB H-JTAG please reduce the TCK speed and try again“,说是能进Core,但是找不到Flash,问题的原因是没有为H-Jtag指定器件!额。。。
5、于是研究怎么给Jlink-arm设置器件,在Option->Project settings-> CPU选项卡里设置了Device。
然后,就没有然后了。。。一切顺风顺水。 你妈不是能自动识别的啊?要不你放个auto有毛用啊,直接告诉哥需要指定器件不就得了。