STMCU小助手
发布时间:2023-3-7 14:00
|
J-LINK不能识别也可能是硬件原因,我阐述的方法不适用于这种情况。 关于网上说的最多的短接复位电容的方法,可能短接100次才能下载进去程序,非常不好,不推荐。 在我使用过程中,STM32下载一次程序以后,J-link不能识别,产生的原因是由于,使用其他型号的stm32移植程序,下载之后stm32变砖了。很大原因是移植程序和当前芯片时钟不匹配造成的。( I# Q$ s8 u# b* j4 B B) k ! u, r1 p! R( l! V1 S8 T% E 解决办法:BOOT0置1.在置1情况下,J-link可以识别了。* [. V% {" L9 F7 J5 k. c7 D 可以首先选择全擦除,之后下载正确的程序,之后jlink可以识别了,正常了6 D3 [# Y0 X+ n( o8 O 2 t% g1 W1 I M$ s* M
; P% |+ e; S% a6 C+ w2 V 在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行程序,见下表: BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。 . M1 g* Y" I6 S; C. \, A7 [% [ BOOT1=0 BOOT0=1 从系统存储器启动,这种模式启动的程序功能由厂家设置。 7 I0 \& [8 P ^3 R1 F2 v BOOT1=1 BOOT0=1 从内置SRAM启动,这种模式可以用于调试。7 O$ g! L3 w) v6 o 可见J-link不能识别是移植程序造成的问题。0 I. N. }$ |8 z/ \; a. g) J ————————————————! A. I2 u+ ^: h0 z 版权声明:冬麻麻) G* g. v, y4 ^ |
微信公众号
手机版