BOOT0和BOOT1 设置
STM32三种启动模式对应的存储介质均是芯片内置的,它们是:
1. 用户闪存=芯片内置的Flash。
2. SRAM=芯片内置的RAM区,就是内存啦。
3. 系统存储器=芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROROMM区。
在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行程序,见下:
BOOT1=xBOOT0=0从用户闪存启动,这是正常的工作模式。
BOOT1=0BOOT0=1从系统存储器启动,这种模式启动的程 序功能由厂家设置。
BOOT1=1BOOT0=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 BOOT0 BOOT1 设置
引用地址:
STM32的BOOT0和BOOT1设置
推荐阅读最新更新时间:2024-11-12 10:22
CAN/RS-485总线的终端电阻应如何设置?
终端电阻 的作用是消除信号反射,但其实并不是所有情况都需要终端电阻,有时终端电阻反而会影响信号质量。本篇文章为大家深度解析CAN/RS- 485总线 的终端电阻设置。 如果我们查询百度百科,终端电阻的档案似乎十分清白: 仿佛在通讯链路的首末两端加上这样一个法宝,即可避免信号的反射,使信号的传播更为顺畅。这样说虽然没有错误,但仍有些细枝末节没能捋出头绪。下面让我们来看看 CAN总线 和485总线中终端电阻的情况如何? 一 CAN总线 CAN总线中,终端电阻是必不可少的。它存在的意义主要包括两点: 可以确保电平快速进入隐性状态; 提升信号质量。 1、确保电平快速进入隐性状态 在显性状态期
[汽车电子]
对stm32启动代码DCD sfe(CSTACK)的理解
复位序列: 在离开复位状态后,CM3做的第一件事就是读取下列两个32位整数的值: 1、从地址0x0000 0000 处取出MSP的初始值。(也就是 stm32启动代码DCD sfe(CSTACK)设置的栈顶指针值) PS:至于MSP的真实地址是多少我还不清楚,如果哪位大侠知道请告诉我。可以确定的是它是在0x2000 0000--0x2002 0000之间的一个值,貌似是在0x20020000。 2、从地址0x0000 0004 处取出PC的初始值 也就是复位向量的值。 相关知识: IAR汇编指令SFB和SFE SFB Segment begin 段开始 语法格式 SFB(segment ) 参数 segmen
[单片机]
Multisim函数发生器设置问题
最近在使用multisim进行仿真,需要用到函数发生器产生信号,但是用示波器观察发现最终显示的信号和预期不符,这是因为对函数发生器的使用不了解。本文对multisim的函数发生器和示波器的使用进行说明,并以产生1khz,峰峰值为5V的方波来说明函数发生器的使用。 几点说明: 1.示波器通道选择 示波器通道选择交流则一直为正负电平,为直流则根据函数发生器的偏移设置改变。需要MCU电平则应该选择直流模式。 2.函数发生器的三个接线,+/-/com A. com 接地端,为信号中值0V B. +/-信号线输出信号峰峰值是设置值的2倍 C. 振幅设置的是正负信号相对于com端的值,即最终信号的峰峰值Vpp=设置值的2倍。 D. 偏
[测试测量]
STM32-(24):PWM基础
PWM是Pulse Width Modulation的缩写,即脉冲宽度调制。其通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。 PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制,用来对一个具体模拟信号的电平进行编码。等效的实现是基于采样定理中的一个重要的结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量即指窄脉冲的面积。这里所说的效果基本相同,是指该环节的输出响应波形基本相同。 如把各输出波形用傅里叶变换分析,则它们的低频段特性非常接近,仅在高频段略有差异。 为了实现a的效果,可以通过b这种正弦波去模拟达到这种效果。(通过每一段的面积相同
[单片机]
STM32学习之路之入门篇
2006年ARM公司推出了基于ARMV7架构的cortex系列的标准体系结构,以满足各种技术得不同性能要求,包含了A,R,M三个分工明确的系列 其中A系列面向复杂的尖端应用程序,用于运行开放式的复杂操作系统;R系列适合实时操作系统,M系列专门针对低成本的微控制领域。而我们今天要学习的STM32就是M3的处理器 STM32(M3)处理器的基本结构,基本结构如图所示,主要包括处理器核cortex-m3 core,NVIC,BUS MATRIS,FLASH转换,及断点单元,DWT,ITM,MPU,ETM,TPIU,ROM Table SW/SWJ-DP等模块,其中MPU和ETM单元是可选单元。 这些单元可分为内外两个层次,
[单片机]
STM32学习 存储器和总线构架
主系统由以下部分构成: 1.四个驱动单元: Cortex-M3内核,DCode总线和系统总线(S-Bus),通用DMA1和通用DMA2 2四个被动单元 内部SRAM,内部闪存存储器,FSMC,AHB到APB的桥,它链接所有的APB设备。 程序存储器,数据存储器,寄存器和输入输出端口被组织在同一个4GB的线性地址空间内。数据字节以小端格式存放在存储器中。 可访问的存储器空间被分成8个主要块,每一个块为512M。 STM32F10XX内置64K字节的静态SRAM,它可以以字节,半字,或字访问。 SRAM的起始地址是0x2000000 Cortex-M3存储器映像包括两个位段区。这两个位段区将别外存储区中的每个字映
[单片机]
STM32应用简章之GPIO初始化(输入引脚)
//初始化IO模式:上拉/下拉输入。调用函数: void KEY_Init(void) //IO初始化 { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOE,ENABLE);//使能PORTA,PORTE时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4;//KEY0-KEY2 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
[单片机]
STM32开发笔记46:STM32F0低功耗设计
项目中需要使单片机STM32F070F6P6进入低功耗模式,本文记录整个过程。 1、STM32F070的低功耗模式: 2、低功耗模式描述,在项目中希望外部中断予以唤醒,所以三种低功耗模式,都可以使用。 3、进入Stop模式的代码如下,实际测得进入Stop模式后,8.0uA。在这里需要注意的是,我选用的单片机STM32F070F6P6,仅有端口A、端口B和端口F。我使用参考例程,没有注意里面的具体写法,增加了端口C和端口D,则一直进入不了Stop模式,网上说需要停止SysTick,这些都是不正确的。只有进入Sleep模式,才需停止SysTick,在Stop模式中,不需事先关闭SysTick。程序开始将所有的引
[单片机]