STM32的基本系统介绍

发布者:WhisperingWind最新更新时间:2023-09-27 来源: elecfans关键字:STM32  模拟部分 手机看文章 扫描二维码
随时随地手机看文章

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模式烧写程序时时选择从系统存储启动


STM32的基本系统介绍


三、烧写接口

如果要减小插座的数量,就用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。 解决方法:先使用调试工具解除芯片的读/写保护。


关键字:STM32  模拟部分 引用地址:STM32的基本系统介绍

上一篇:STM32CUBEMX(6)--移植雅特力AT32F403AVGT7,双串口通过DMA方式接收不定长数据
下一篇:STM32的小开发板的设计

推荐阅读最新更新时间:2024-11-13 11:53

STM32(Cortex-M3)中有两个优先级的概念
STM32(Cortex-M3)中有两个优先级的概念 抢占式优先级和响应优先级,有人把响应优先级称作'亚优先级'或'副优先级',每个中断源都需要被指定这两种优先级。 具有高抢占式优先级的中断可以在具有低抢占式优先级的中断处理过程中被响应,即中断嵌套,或者说高抢占式优先级的中断可以嵌套低抢占式优先级的中断。 当两个中断源的抢占式优先级相同时,这两个中断将没有嵌套关系,当一个中断到来后,如果正在处理另一个中断,这个后到来的中断就要等到前一个中断处理完之后才能被处理。如果这两个中断同时到达,则中断控制器根据他们的响应优先级高低来决定先处理哪一个;如果他们的抢占式优先级和响应优先级都相等,则根据他们在中断
[单片机]
RS485通讯中使用STM32串口以DMA方式发送数据丢失字节的问题
1、开发平台 计算机操作系统:WIN7 64位; 开发环境:Keil MDK 5.14; MCU:STM32F407ZET6; STM32F4xx固件库:STM32F4xx_DSP_StdPeriph_Lib_V1.4.0; 串口调试助手; 2、问题描述 在测试用STM32F4xx芯片的串口USART1以DMA方式进行RS485收发通讯时,出现数据字节丢失的现象,一般丢失1~2个字节。 出现问题时测试的简单收发机制:使能串口USART1的DMA收发功能,开启了DMA发送完成中断和USART1空闲中断。通过串口调试助手发送N个字节给MCU,当MCU产生USART1空闲中断时,在USART1空闲中断服务
[单片机]
RS485通讯中使用<font color='red'>STM32</font>串口以DMA方式发送数据丢失字节的问题
STM32入门学习经验总结
1、为什么要把时间花在“犹豫”上? 经验总结:每当我们在入门之前(ARM是这样,DSP也一样),总会会有很多疑问,会有很多顾虑。我们渴望知道学习STM32前景如何?需要啥基础?难不难?适不适合我?但是什么时候能心潮澎湃地、相当着急地开始学STM32?日子在一天一天过去!你开始行动了吗?没有行动的思索,永远都不可能入门!把这些时间用来看书吧,效果能好一万倍。 大家一般都是从51单片机过来的,回想一下,我们之前学单片机时如何入门呢?实际上都是先看书(理论),再玩板子(实践)。严格地说,应该是模仿实验。熟悉之后才会自己写程序代码实现某个功能。因此,如果你正在咨询STM32;如果你正对STM32心潮澎湃;如果你想入门STM32;那么,
[单片机]
STM32 IO模式
有关推挽输出、开漏输出、复用开漏输出、复用推挽输出,以及上拉输入、下拉输入、浮空输入、模拟输入的区别 最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多: (1)GPIO_Mode_AIN模拟输入 (2)GPIO_Mode_IN_FLOATING浮空输入 (3)GPIO_Mode_IPD下拉输入 (4)GPIO_Mode_IPU上拉输入 (5)GPIO_Mode_Out_OD开漏输出 (6)GPIO_Mode_Out_PP推挽输出 (7)GPIO_Mode_AF_OD复用开漏输出 (8)GPIO_Mode_AF_PP复用推挽输出 对于刚入门的新手,我想这几个概念是必须得搞清楚的,平时接
[单片机]
STM32基本调试设置
以 ST-LINK为例 STEP1、选中ST-LINK仿真器 STEP2、选好自己程序对应的仿真时钟 可能会有一个小问题,那就是如何选自己的时钟呢,这个可以看 这个文件夹中 使用的是哪个宏定义就对应使用的是哪个时钟!
[单片机]
<font color='red'>STM32</font>之<font color='red'>基本</font>调试设置
STM32 GPIO的十大优越功能综述
前几天Hotpower邀请大家讨论一下GPIO的功能、性能和优缺点(STM32的GPIO很强大~~~),等了几天没见太多人发言,但综合来看提到了3点:1)真双向IO,2)速度快,3)寄存器功能重复。关于第3点有说好,有说多余的,见仁见智。 下面我就在做个抛砖引玉,根据ST手册上的内容,简单地综述一下GPIO的功能: 一、共有8种模式,可以通过编程选择: 1. 浮空输入 2. 带上拉输入 3. 带下拉输入 4. 模拟输入 5. 开漏输出——(此模式可实现hotpower说的真双向IO) 6. 推挽输出 7. 复用功能的推挽输出 8. 复用功能的开漏输出 模式7和模式8需根据具体的复用功能决定。 二、专门的寄存器(GPIOx_
[单片机]
单片机STM32的引脚模式设置
单片机STM32的引脚有多种方式可以选择。 如果你是用直接写寄存器来配置的话,那么,看上手册,给“配置寄存器”对应的位写0或者1就可以达到目的。如下图: 如果是用库函数来配置的话,就需要知道下面这个结构体中的变量代表的意义。 库函数,选择好GPIO_Mode之后,就要使用GPIO_Init()函数来配置,你可以打开这个配置函数,实际上也是在对“配置寄存器”进行写操作。 先解释一下这个结构体中的各个变量的意思: GPIO_Mode_AIN:模拟输入模式 GPIO_Mode_IN_FLOATING:浮空输入模式 GPIO_Mode_IPD:下拉输入模式 GPIO_Mode_IPU:上拉输入模式 GPIO_Mode_Out_O
[单片机]
单片机<font color='red'>STM32</font>的引脚模式设置
STM32+FreeRTOS+CUBEMX_学习笔记(五)HAL串口终极总结
前言: 在写这篇文章的过程中,我参考了很多的博文。这些博文给了我很多帮助,但是不得不说,网上的博文终究是层次不齐的。当遇到一些关于原理的地方,还是官方文档比较靠谱。毕竟官方要保证这些文档的可靠性。 如果只是想找对应的方式,直接看目录到对应的地方就可以啦 注意,源码库在最后。 目的: 学习HAL库串口操作函数 实现串口的中断收发定长数据 实现串口的帧头帧尾判断收发不定长数据 实现串口的空闲中断收发不定长数据 实现串口的DMA收发不定长数据 环境和平台: keil5 cubemx stm32c8t6 一、HAL库的串口函数学习: 1.1、hal库: HAL库是ST新推出的官方库,该库同图形化开发工具CUBEMX可以结合
[单片机]
STM32+FreeRTOS+CUBEMX_学习笔记(五)HAL串口终极总结
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved