一、电源
无论是否使用模拟部分和AD部分,MCU外围除去VCC和GND,VDDA,VSSA,Vref(如果封装有该引脚)都必需要连接,不可悬空。
对于每组对应的VDD和GND,都应至少放置一个104的陶瓷电容用于滤波,并接该电容应放置尽量靠近MCU。
用万用表测试供电电压是否正确,调试时最好用数字电源供电,以便过压或过流烧坏板子。另外,电压最好一步一步从进线端测试到芯片供电端。
二、启动选择
Boot引脚与JTAG无关,其仅是用于MCU启动后,判断执行代码的起始地址。
在电路设计上,可能Boot引脚不会使用,但要求一定要外部连接电阻到地或电源,切不可悬空。
STM32三种启动模式对应的存储介质均是芯片内置的,它们分别是:
STM32的三种启动模式
● 用户闪存=芯片内置的Flash;
● SRAM=芯片内置的RAM区(就是内存);
● 系统存储器=芯片内部一块特定的区域,芯片出厂时,在这个区域预置了一段Bootloader,就是通常说的ISP程序,这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。
在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行程序,见下表:
BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。
BOOT1=0 BOOT0=1 从系统存储器启动,这种模式启动的程序功能由厂家设置。
BOOT1=1 BOOT0=1 从内置SRAM启动,这种模式可以用于调试。
三、烧写接口
如果要减小插座的数量,就用SWD模式的仿真。在这个模式下,如果用Jlink只要四根线就可以了。这四根线分别是:3.3V、GND、SWDIO、SWCLK。
其中,STM32的JTMS/SWDIO接JTAG口的TMS,STM32的JTCK/SWCLK接JTAG口的TCK。如果要用ULINK2,则再加多一条“NRST”,即为5条。这个接口你可以自行定义,在使用时,用杜邦线跳接或做块转换接口板联接仿真器与目标板即可。
四、复位与晶振电路
一般采用下图所示的复位电路,由于复位电路和晶振电路相对比较简答,这里不再赘述。