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启动,这种模式可以用于调试。
要注意的是,一般不使用内置SRAM启动(BOOT1=1 BOOT0=1),因为SRAM掉电后数据就丢失。多数情况下SRAM只是在调试时使用,也可以做其他一些用途。如做故障的局部诊断,写一段小程序加载到SRAM中诊断板上的其他电路,或用此方法读写板上的Flash或EEPROM等。还可以通过这种方法解除内部Flash的读写保护,当然解除读写保护的同时Flash的内容也被自动清除,以防止恶意的软件拷贝。
一般BOOT0和BOOT1跳线都跳到0(地)。只是在ISP下载的情况下,BOOT0=1,BOOT1=0 ,下载完成后,把BOOT0的跳线接回0,也即BOOT0=0,BOOT1=0 。
关键字:STM32 单片机 启动模式
引用地址:
STM32单片机的三种启动模式解析
推荐阅读最新更新时间:2024-11-13 16:47
stm32 系统时钟配置
HSE:72M,HSE:64M,HSI:64M 代码实现: // 时钟设置 //#define MAINCLOCK_72M // HSE,外部时钟 //#define MAINCLOCK_64M_EXTERN // HSE #define MAINCLOCK_64M_INTERAL // HSI /** System Clock Configuration */ void SystemClock_Config(void) { RCC_OSCInitTypeDef RCC_OscInitStruct; RCC_ClkInitTypeDef RCC_ClkInitStruct; /**Init
[单片机]
51单片机简单I/O实验实例源程序
一.实验要求 以74LS273作为输出口,控制4个双色LED灯(可发红,绿,黄光),模拟交通灯管理。 二.实验目的 1.学习在单片机系统中扩展简单I/O接口的方法。 2.学习数据输出程序的设计方法。 3.学习模拟交通灯控制的方法。 4.学习双色灯的使用。 三.实验电路及连线 四.实验说明 1.因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循
[单片机]
STM32中中断优先级理解
很多人在配置STM32中断时对固件库中的这个函数NVIC_PriorityGroupConfig()——配置优先级分组方式,会很不理解,尤其是看中文翻译版的,因为中文翻译版里把这里翻译成“先占优先级和从优先级”这样翻译其实是不对的,很容易让人误解。为了便于大家理解,有必要先解释两个概念: 抢占式优先级/响应优先级: STM32(Cortex-M3)中有两个优先级的概念——抢占式优先级和响应优先级,有人把响应优先级称作'亚优先级'或'副优先级',每个中断源都需要被指定这两种优先级。 具有高抢占式优先级的中断可以在具有低抢占式优先级的中断处理过程中被响应,即中断嵌套,或者说高抢占式优先级的中断可以嵌套在
[单片机]
单片机硬件抗干扰措施
一、下面的一些系统要特别注意抗电磁干扰: 1、微控制器时钟频率特别高,总线周期特别快的系统。 2、系统含有大功率,大电流驱动电路,如产生火花的继电器,大电流开关等。 3、含微弱模拟信号电路以及高精度A/D变换电路的系统。 二、为增加系统的抗电磁干扰能力采取如下措施: 1、选用频率低的微控制器: 选用外时钟频率低的微控制器可以有效降低噪声和提高系统的抗干扰能力。同样频率的方波和正弦波,方波中的高频成份比正弦波多得多。虽然方波的高频成份的波的幅度,比基波小,但频率越高越容易发射出成为噪声源,微控制器产生的最有影响的高频噪声大约是时钟频率的3倍。 2、减小信号传输中的畸变 微控制器主要采用高速CMOS技术制造。信号输入端静态
[单片机]
基于单片机实现的跨周期调制
提高负载的功率利用率是新型开关电源的研究热点之一。以脉冲跨周期调制(PSM)模式为基础的开关电源,通过改变其有效工作频率改变输出功率,可使其开关损耗与输出功率成正比。采用这种调制模式的开关电源工作在轻负载时,比常规的PWM调制模式的开关电源效率高,且具有响应速度快、抗干扰能力强、EMI好等优点 。 本文采用单片机并结合软件编程方法实现PSM控制电路,不仅解决了硬件设计难的问题,同时也解决了工作在轻负载时功率管开关频率容易进入音频范围的问题。 1 跨周期调制工作原理 这里以BUCK(串联开关稳压电源)电路为例说明跨周期调制的工作原理。BUCK电路如图1所示,其中VCC、V0分别为电路的输入、输出电压,VP为开关功率管Tr的控
[单片机]
AVR单片机开发软件的安装及使用
I CC AVR6.31AC语言编译器的安装在电脑中放入配套光盘,打开 IC CAVR6.31A安装文件后进入安装界面(左图))安装目录可使用默认方式,将其安装在C盘的icc文件夹中(右图)。安装完成后,需进行注册才能得到无时间限制的完全版软件。注册方式如下: 1.打开ICCAVR6.31A编译器界面,单击菜单栏Help→Regist SOF t→ware(左图),系统会提示关掉计算机的防病毒程序,单击Continue按钮进入注册界面(右图)o2.选中并复制EMailUn LOC kCode栏右侧框内的7组数值。 3.打开注册器,粘贴刚才复制的数值(下图)。 4.点击得到解锁码(下图
[单片机]
ATMEGA128单片机的软件远程升级
闪速程序存储器的编程方法常见的有以下几种: (1)传统的并行编程方法; (2)通过串行口进行在线编程ISPIn System Programmability :对器件或电路甚至整个系统进行现场升级或功能重构; (3)在运行中,应用程序控制下的应用在线编程IAPIn Application Programming ;IAP模式简单地说就是在某一个section中运行程序,同时对另一个section进行擦除、读取、写入等操作. ISP方式相对于传统方式有了极大的进步,它不需要将芯片从电路板上卸下就可对芯片进行编程,减少了开发时间,简化了产品制造流程,并大大降低了现场升级的困难.而IAP方式是对芯片的编程
[单片机]
GD32 MCU进入低功耗模式导致无法再进行程序下载怎么办?
很多朋友在调试GD32 MCU的低功耗模式时会遇到一个问题:程序中让MCU进入了Sleep、Deepsleep或者Standby模式,之后MCU就无法再下载程序了。这是因为在低功耗模式下,MCU的SW口和JTAG口是无法访问的。比如下面的程序就会导致该问题发生: 该main函数中第一步是打开PMU时钟,然后马上让MCU进入Deepsleep模式,当你想要再次下载程序时,IDE会有如下错误提示(不同IDE报错不同): 遇到这种情况怎么办呢?难道只能重新换一颗芯片了?不不不,其实有方法解决这个问题的。 方法一: GD32 MCU的启动模式根据芯片上的BOOT0和BOOT1脚是可以选择三种模式: 一般情况下,BOOT0需
[单片机]