当前位置: 首页 > 新闻中心 > 乐球吧nba在线直播
返回
列表

程序烧录方式你了解多少?

发表时间: 2024-03-15 作者: 乐球吧nba在线直播

  说起给单片机烧录程序,大多数人应该都不陌生,我最早接触单片机是从51单片机开始的,型号是STC89C52RC,当时烧录程序就是用的下面这种烧录软件——STC-ISP。

  后来学习STM32,编程时使用KEIL软件自带的下载按钮就能下载程序,方便了不少,但需要额外使用J-Link等下载器。

  再后来,接触到产品研制,给已经发布出的产品升级,都是要靠远程无线升级的(想想看,产品已经到客户那里了,当软件要升级时,要是还使用有线的方式烧录程序,得有多麻烦)

  在系统编程,使用引导程序(Bootloader)加上外围UART/SPI等接口进行烧录。

  这3种烧录方式的原理是什么呢?在分析原理之前,需要先了解一下单片机Flash的访问地址,看看程序是烧录到哪个位置了。

  下图是一张STM32F4xx的地址映射表,从0x0000 0000到0xFFFF FFFF,总计4Gbyte。单片机的片上Flash、片上RAM、片上外设以及外部扩展接口的访问地址,都被映射到这4Gbyte的范围之内。

  通常,我们编写的代码,是放到主存储区的起始位置(0x0800 0000)开始运行的,烧录程序时,直接将程序烧录到这里即可(KEIL软件给STM32烧录程序的默认烧写地址就是0x0800 0000开始)

  System memory(起始位置0x1FFF 0000)是STM32在出厂时,由ST在这个区域内部预置了一段BootLoader, 也就是我们常说的ISP程序 ,这是一块ROM,出厂后无法修改。

  STM32有两个BOOT引脚,通过配置不同的高低电平,可以让单片机从不同的地址开始运行。

  这种情况,KEIL软件给STM32烧录程序,就是直接在这个地址烧录,烧录完,直接在这个地址处运行。

  这种情况就用在使用串口方式给STM32烧录程序,这时单片机从系统存储器(0x1FFF 0000)启动,运行的是出厂预置的BootLoader程序,可以接收串口发来的程序,并将其写入Main memory(0x0800 0000),程序烧录完成后,再将BOOT0引脚拉低,Main memory(0x0800 0000)处运行刚烧录的代码了。

  这种情况是从内存中启动,内置SRAM(也就是STM32的内存中),既然是SRAM,自然也就没有程序存储的能力了,这一个模式通常用于程序调试。目前我还没用过这样的形式,大家平时用这样的形式的多么?

  下图是ISP方式的烧录,使用FlyMcu这个软件,通过串口给STM32烧录程序

  IAP的原理与上面两种有较大区别,这种方式将主存储区又分成了两个区域(结合实际需要由开发者自行分配),0800 0000起始处的这部分,存储一个开发者自己设计的Bootloader程序,另一部分存储真正需要运行的APP程序。

  单片机的Bootloader程序,其最大的作用就是给单片机升级。在单片机启动时,首先从Bootloader程序启动,正常的情况不要升级,就会立即从Bootloader程序跳转到存储区另一部分的APP程序开始运行。

  假如Bootloader程序时,有必要进行升级(比如APP程序运行时,接收到升级指令,可以在flash中的特定位置设置一个标志,然后触发重启,重启后进入Bootloader程序,Bootloader程序根据标志位就能判断要不要升级),则会通过某种方式(比如通过WIFI接收升级包,或借助另一块单片机接收升级包,Bootloader再通过串口或SPI等方式从另一块单片机获取升级包数据)先将接收到的程序写入存储区中存储APP程序的那个位置,写入完成后再跳转到该位置,即实现了程序的升级

  上一篇:基于89C52单片机和MB90092芯片实现视频图像叠加应用系统的设计

  随着汽车工业的发展,汽车上的电子控制管理系统数量呈指数增长。以ECU为核心的车载电子控制管理系统逐步取代了被动器件和机械系统,同时也完成了大多数测量、驱动和控制的功能。 由于新型车载电子控制管理系统在车辆应用中的增加,导致对电源负载以每年约100W的速度增加。当前所面临的最大挑战是在相同的电池电源条件下,找到新的方法来保证汽车电子设备的数量及功能的持续不断的增加。故在实际应用中需要MCU的功耗持续降低。 另外,数字电路的最大功耗和可靠性问题是紧密关联的,例如,电迁移和热载流子导致的器件老化。而且由于芯片散热而引起的热应力也是关系可靠性的主体问题之一。因此,减少功耗对提高芯片的可靠性也是至关重要的。 为了应对日趋增长的低功耗需求,飞思卡尔Qoriv

  低功耗解决方案 /

  PWM简介 脉冲宽度调制是利用微处理器的数字输出来对模拟电路来控制的一种很有效的技术,大范围的应用在从测量、通信到功率控制与变换的许多领域中。 脉冲宽度调制是一种模拟控制方式,其依据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,以此来实现开关稳压电源输出的改变。这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路来控制的一种很有效的技术。 什么是舵机 舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度一直在变化并能保持的控制管理系统。舵机是船舶上的一种大甲板机械。 本文主要介绍的是51单片机PWM双舵机控制,具体的跟随小

  PWM双舵机控制 /

  全球领先的单片机和模拟半导体供应商——Microchip Technology Inc.(美国微芯科技公司)今天宣布,面向中国市场推出采用Microchip增强型中档8位内核的首批6款PIC16F193X系列单片机(MCU)。PIC16F1934、PIC16LF1934、PIC16F1936、PIC16LF1936、PIC16F1937和PIC16LF1937 MCU为中国市场提供可用于许多应用的高端性能和功能。该系列增加的存储容量和内核性为编程人员增强了对C和汇编语言支持,“LF”系列新产品采用Microchip的nanoWatt XLP™技术,以极低的功耗使设计的电池使用寿命能达到世界最佳。这些MCU还提供直接LCD驱动,并

  前几天用STC89C52单片机制作了一个电子时钟,经过一段时间的实验,发现时间精度存在误差,一分钟慢4秒左右。 这可了不得,十分钟就要慢40秒,一天下来不得慢半96分钟!!! 这个单片机晶振频率为11.0592mhz,和大部分时钟的晶振频率相同,应该没问题。 后天考虑到源代码: 在定时器中断函数里: void t0(void) interrupt 1 using 0 { tcount++; if(tcount==4000) {tcount=0; second++; if(second==60) {second=0; minute++; if(minut

  80C51 单片机 是在8051的基础上发展起来的,也就是说在 单片机 的发展过程中是先有8051,然后才有80C51的。 8051单片机与80C51单片机从外形看是完全一样的,其指令系统、引脚信号、总线等完全一致(完全兼容),也就是说在8051下开发的软件可完全在80C51上应用,反过来,在89C51下开发的软件也可以在8051上应用。这两种单片机是完全可移植的。 既然这两种单片机外形及内部结构都一样,那它们之间的主要差别在哪里呢? 8051与80C51单片机的主要差别就在于芯片的制造工艺上。80C51的制造工艺是在8051基础上进行了改进。 8051系列单片机采用的是HMOS工艺:高速度、高密度; 80C51系列单

  由瑞萨电子株式会社(总裁:赤尾泰,以下简称瑞萨电子)赞助并冠名的“2010瑞萨超级MCU模型车(以下简称中国RMCR)大赛”将于11月14日在北京举行。作为以培养中国IT人才为目的的“全国大学生IT&AT”项目中的一项重要赛事,中国国家教育部自2007年起每年定期举办中国RMCR大赛,今年已是该项赛事的第4届。今年的大赛将有来自全国各地50所大学的170支大学生队伍(约650人)参加。各参赛队将自行设计制作搭载有瑞萨电子芯片的模型车,车辆须在规定的赛道上行驶,并按照行驶所用的时间长短决定名次。成绩优秀者将获得中国国家教育部颁发的IT技能证书。 根据中国RMCR大赛规定,参赛者须使用瑞萨电子的MCU来完成模型车的设计,并通

  今天来总结一下stm32单片机的时钟系统,也就是时钟树的相关知识点。单片机正常工作的三要素是电源、时钟、复位电路。由此可以说,时钟的正常工作是单片机正常工作的必要不充分条件。我们常常会把时钟比喻为单片机的心脏,其重要性不言而喻。 就是这个“心脏”心跳的频率,决定着单片机这个“人“各个”器官“的工作频率。我们系统时钟来源于它,各个外设的工作频率也是经过它分频或者倍频得出来的,任何外设要想工作,必须打开相对应的时钟。频率设置得高,那么单片机处理指令的速度也就会越快,越高效。同时,频率设置得越高,单片机的功耗也就会相应地提高。如果在一些对功耗有要求的产品上,都会把不用的外设时钟关掉。 还有众所周知的是,如果单片机的时钟频率越高,

  的时钟系统 /

  单片机 时钟周期 时钟周期: 时钟周期也叫振荡周期或晶振周期,即晶振的单位时间发出的脉冲数,一般有外部的振晶产生,比如12MHZ=12×10的6次方,即每秒发出12000000个脉冲信号,那么发出一个脉冲的时间就是时钟周期,也就是1/12微秒。通常也叫做系统时钟周期。是计算机中最基本的、最小的时间单位。 在8051单片机中把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。 机器周期: 在计算机中,为便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。正常的情况下,

  中的各种周期 /

  创新实践应用.

  控制的步进电机定频脉宽调制可变细分驱动系统

  实现小体积300W BLDC马达控制

  的空间矢量脉宽调制

  span style=\color:#ff0000\超小封装,高导通电流,适合高频应用的光继电器TLP3475W/span

  直播回放: 借助Sitara™ AM263x MCU 创造电气化的未来

  研讨会 : 用于感测应用 带可配置信号链元素的新型 MSP430™ MCU

  【60块开发板!30份好礼!】STM32直播:多款新品发布、成功案例分享、解决方案解读

  MPS电机研究院 让电机更听话的秘密! 第一站:电机应用知识大考!第三期考题上线,跟帖赢好礼~

  【下载】LAT1396 STM32CubeIDE实用技巧之STM32H7双核调试的配置

  【下载】LAT1392 LTDC RGB接口 LCD的TouchGFX工程的移植步骤

  【直播】3月27日,STSAFE-A110安全芯片及ST4SIM eSIM芯片助力安全通信

  【线日,基于Buildroot制作STM32MP13启动镜像-深圳/厦门/西安/郑州/苏州

  【新品】STM32H5-Arm® Cortex®-M33 内核,主频高达250MHz,提升性能与信息安全性

  【新品】STM32MP13X-支持Linux、RTOS和Bare Metal应用,新一代通用工业级MPU

  【新品】Arm® Cortex®-M33处理器内核,运行频率160 MHz,基于Armv8-M架构并带有TrustZone®

  【下载】AN5129_适合2.4GHz无线信号的低成本PCB天线 基于 BlueNRG-LP ARM Cortex-M0+

  金属发生腐蚀的现象随处可见。腐蚀给金属材料造成的直接和间接损失是巨大的,以至造成灾难性的破坏事故,引起严重的环境污染。研究表明,因 ...

  1 引言目前我们国家发展煤炭生产机械化发展迅速。综采设备的应用,是提高效率、改善安全状况的措施。影响开机率的一个重要的因素是支架对工作面 ...

  1 引言目前我们国家发展煤炭生产机械化发展迅速。综采设备的应用,是提高效率、改善安全状况的措施。影响开机率的一个重要的因素是支架对工作面 ...

  引言本课题来源于北京普析通用公司的一个项目。由于公司现在存在单机版光谱仪器产品(如1810、T6等)采用的是并行口打印技术,而随着USB打印机 ...

  数据采集LM12H458与80C51接口电路 —电路图天天读(153)

  LM12H458是高集成度的数据采集系统DAS芯片,它将采样保持、A D转换集成在一块芯片内,从而大幅度减少了外围电路的设计。其8路模拟信号输 ...

  大神教你快速上手:标准80C51单片机模拟I2C总线单片机的定时计数器的结构和工作原理

  PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程词云: