情况:之前烧写没问题,不然再次烧写的稍后显示boot损坏。
原因:发现kill掉所有断点再编译会导致bootloader失效
所以编译的时候,如果没有断点不要去执行1按钮 kill 断点,否则boot会失效,进不去main函数
解决方法
1.把单片机的芯片上的数据全擦了(bootloader+代码数据)
然后勾选下面这两个框
3.编译完烧写在单片机上,这一步相当于冲掉了bootloader,只下载了程序进入单片机的flash
4.J-link烧写bootloader
不会烧写bootloader的看这个
烧写bootloader
到此,bootloader和代码都烧写好了,把擦除全片改为擦除扇区(否则再次烧写会把bootloader冲掉)
最后
断点都取消掉,编译下载进去。成功!
上面这么多其实就是想全擦然后分别写入程序和bootloader进单片机flash。断点也会影响编译。还有如果用重定向函数fputc,一定要勾选micro lib,否则也会导致进不去main函数