今天做和几个同学一起理了一下软件的思路,写了一个点灯的程序,之前在家里也写过,下载了好几次都没有问题,然后今天下载的时候莫名其妙提示这个问题
很奇怪,在debug里面是能看到Jlink的序号和芯片序号的,说明链接和Jlink都是没有问题的,后来 咨询了一下车队的几个同学,发现这个情况确实也出现很多次,他们的解决方法是复位,或者放一天、放几天,但是我要搞程序啊,不可能放几天。试了试复位,也没啥作用。
于是从百度上查到了几个原因,感觉不靠谱都排除掉了(比如jlink盗版,芯片是小厂商做的下载时序没设计好等等。这种一看就能排除,难道每个智能车队钱多的烧啊,全买正版?K66是飞思卡尔后来被恩智浦收购这还是小厂商,时序设计不好啊?)后来联想到自己 做其他比赛的时候锁过芯片也是下载不了,那个时候下载会提示芯片 is locked。我就在想这个情况应该也是类似的,上次用的是stm32,改BOOT进入出厂模式,强制刷解锁程序进去,然后BOOT调回来下载正常程序就解锁成功了。K66应该也能通过类似的蛇皮操作救一救?于是下面开始救它的步骤:首先生成hex文件
打开Jlink-FLash(没有的话自己下一个)如图,选择芯片为K66:
然后加载hex文件
接着“Target-Connect”连接芯片,提示连接成功:
然后就验证下载(或者F6快捷键)即可,如图提示下载成功,这个时候芯片应该就可以通过keil下载了:
验证一下,果然可以下载:
修改一下,换个灯点一下:
OK,没问题,放心睡觉了