STM32的根本体系首要触及下面几个部分:
一、电源
1)、不管是否运用模仿部分和AD部分,MCU外围出去VCC和GND,VDDA、VSSA、Vref(假如封装有该引脚)都必需求衔接,不行悬空;
2)、关于每组对应的VDD和GND都应至少放置一个104的陶瓷电容用于滤波,并接该电容应放置尽量接近MCU; 3)、用万用表测验供电电压是否正确。调试时最好用数字电源供电,以便过压或过流烧坏板子。电压最好一步一步从进线端测验到芯片供电端。
二、复位、发动挑选
1)、Boot引脚与JTAG无关。其仅是用于MCU发动后,判别履行代码的开端地址;
2)、在电路设计上或许Boot引脚不会运用,但要求一定要外部衔接电阻到地或电源,切不行悬空; STM32三种发动形式对应的存储介质均是芯片内置的,它们是:
1)用户闪存 = 芯片内置的Flash。
2)SRAM = 芯片内置的RAM区,便是内存啦。
3)体系存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,便是一般说的ISP程序。这个区域的内容在芯片出厂后没有人可以修正或擦除,即它是一个ROM区。
在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,这两个管脚在芯片复位时的电平状况决议了芯片复位后从哪个区域开端履行程序,见下表:
BOOT1=x BOOT0=0 从用户闪存发动,这是正常的作业形式。
BOOT1=0 BOOT0=1 从体系存储器发动,这种形式发动的程序功用由厂家设置。
BOOT1=1 BOOT0=1 从内置SRAM发动,这种形式可以用于调试。
用JTAG口或SWD形式烧写 挑选从用户闪存发动。
用串口ISP形式烧写程序不时挑选从体系存储发动
三、烧写接口
假如要减小插座的数量,就用SWD形式的仿真,在这个形式下,假如用JLINK只需四根线就可以了,这四根线分别是:3.3V、GND、SWDIO、SWCLK
其间
STM32的JTMS/SWDIO接JTAG口的TMS;
STM32的JTCK/SWCLK接JTAG口的TCK。
假如要用ULINK2,则再加多一条“NRST”,即5条。
这个接口你可自行界说,在运用时用杜邦线跳接或做块转化接口板联接仿真器与方针板即可。
下面是在MDK里设置的图片:
在烧写时呈现了IDCODE如图有序列号,证明烧写接口是好的!也便是硬件调试通了。如没有或许焊接不过关,重新加固焊接芯片。
四、调试烧录失利的常见原因
1、方针芯片没有正确衔接,不能正常作业:
解决方法:保证方针板的最小体系正确衔接,芯片能正常作业:VDD、VDDA及VSS 、VDDS已悉数正确衔接,复位电路可以牢靠复位,各复位源不相互影响。
2、芯片内原先烧录的代码影响了新的调试操作:
芯片内原先烧录的代码犯错,芯片上电运转,进入未界说状况,不能进入调试形式。芯片内原先烧录的代码发动了某些外设,或许将SWJ引脚装备为一般I/O口。
解决方法:挑选芯片的BOOT0/BOOT1引脚从RAM发动,或先擦除芯片内代码。
3、芯片已被读/写保护:
调试东西不能读写芯片内置的Flash。 解决方法:先运用调试东西免除芯片的读/写保护。
烧写软件报错问题总结,后续有待完善!如有过错敬请点拨会及时更正。