[导读]做过很多Bootloader升级的产品,感觉Bootloader还是很有意思的。通过芯片的一段程序,去更新剩余的程序。从而达到更新产品软件的作用。芯片自带的Bootloader是通过芯片厂家的协议,通过烧录器把程序更新到Flash里面。而我们自己为什么还要部分的空间再写一个Boo...
做过很多Bootloader升级的产品,感觉Bootloader还是很有意思的。通过芯片的一段程序,去更新剩余的程序。从而达到更新产品软件的作用。芯片自带的Bootloader是通过芯片厂家的协议,通过烧录器把程序更新到Flash里面。而我们自己为什么还要部分的空间再写一个Bootloader呢?因为我们想通过我们自己的方式,升级芯片里的软件。传输方式那就太多了,基本有的通信方式理论上都可以进行传输升级,包括CAN、SPI、IIC、USART等等。做过汽车上面的CAN升级、USART升级、SD卡升级、OTA升级。其中CAN和USART升级都是在线升级,SD卡可以称之为离线升级。就是不用PC端,在线下插入SD卡,就可完成升级。(CAN和USART如果有硬件升级的设备,也可以做成离线升级)。讲一下SD卡的升级,使用离线升级,设备端需要有SD卡槽,升级的时候,将升级的文件放入SD卡中,再插入卡槽完成升级。(SD卡使用的SPI驱动,原理上其实也可以称为SPI升级。。。)这里使用STM32F103RCT6的芯片制作SD卡Bootloader。一.硬件我使用的原子mini开发板,芯片为STM32F103RCT6,带SPI驱动的SD卡槽。二.软件(寄存器编码,为的是减少Bootloader的代码占用空间)1. SD卡使用的是SPI驱动。SPI1_Init()初始化,SPI1_ReadWriteByte读写。 2. SD卡驱动和FATFS文件系统。读SD卡、写SD卡、初始化SD卡等等,都是写好的驱动程序,直接可以用。这里也是用到了FATFS文件系统,需要移植两个文件。这里不多说。3. 芯片Flash的操作。由于升级APP程序片需要用到Flash的操作,所以Flash的擦除,写入不能少。 4. APP程序跳入。当Flash里面写入了更新后的程序,需要跳转到Flash的起始地址,所以有一个函数需要。5. 应用部分: 首先选择一个起始地址,是需要刷写程序的起始地址。只要大于Bootloader程序的总长度,并且APP程序的长度不能超过(芯片大小 - Bootloader程序大小)即可。 然后Flash中选取一个地址作为标志位,用于判断是否需要更新程序。 最后就是读取SD卡里的文件,把读取的写入到对应的Flash里面,完成跳转。Main函数,先检测0x08002FFE这个地址的标志位,如果是0x02,说明有应用APP程序,不需要进行升级,所以直接iap_load_app(FLASH_APP_ADDR)跳转到APP的起始地址,开始运行程序,BOOT程序就到这里结束。如果不是0x02,说明是新的芯片,或者是没有进行过升级的。就开始进行BOOT程序的升级流程SD_Update()。这里是打开SD卡、挂载的一些操作。如果成功进行到下面。f_read读取SD卡中的文件
扫描二维码,关注更多精彩内容
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
近日,海关发布通报一女子手推电单车内藏上万张存储卡,在经沙头角边境特别管理区旅检大厅入境时被查获。
关键字:
SD卡
对于 CL1 和 CL2,建议使用 5pF 至 25pF 范围(典型值)的高质量外部陶瓷电容器,专为高频应用而设计,并根据晶体或谐振器的要求进行选择(见图24)。CL1 和 CL2 通常大小相同。晶体制造商通常会指定负载...
关键字:
STM32F103
晶振
电容
台湾台北, July 14, 2022 (GLOBE NEWSWIRE) -- 特种存储和内存解决方案领域的全球领先企业ATP Electronics推出新的3D三层单元(TLC)S750/S650系列SD和microS...
关键字:
DVR
MICROSD
SD卡
行车记录仪
摘要:以铁路道口应用为例,设计了一种基于SD卡的信息数据存储警示系统。该系统可在需要警示的情况下,通过人工操作或自动触发发出相应的警示信息,包括LED显示屏显示文字警示信息、语音系统播放警示语音、警灯闪烁进行灯光警示。文...
关键字:
SD卡
文字
声光
警示系统
摘 要:给出了一种低功耗可刷卡健康手环的设计方法。该设计为了实现手环的多功能化,采用低功耗嵌入式单片机STM32F103为主控制器,并结合了心率传感器、Mifare 1 S50卡、GPS模块、GSM模块以及电源管理模块,...
关键字:
STM32F103
低功耗
心率监测
集成射频卡
现在很多现代的NAND闪存设备都采用了一种新型的架构,将接口、控制器和存储芯片集成到一个普通的陶瓷层中。我们称之为一体结构封装。
关键字:
SD卡
NAND
闪存
SD卡(secure digital card)是SD卡协会开发的低成本,非易失性存储卡格式(相比较于RAM,SD卡掉电数据不丢失); 随着本世纪电子技术的高速发展,对于这种中等型号,节能、节省空间的存储器设备的需求一直...
关键字:
SD卡
存储器
学习目标 STM32F103C8T6芯片简介 核心板原理图 搭建流水灯电路 修改工程模板 代码实现 成果展示 资料获取 推荐阅读 后台网友建议制作一个流水灯,正好发现自己有之前购买的STM32F103C8T6核心板,今天...
关键字:
流水灯
STM32F103
最小系统板
串口通讯简介: 串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式,因为它简单便捷,因此大部分电子设备都支持该通讯方式。 通讯结构 设备内部一般以TTL电平传输,设备之间是通过RS23...
关键字:
串口
STM32F103
1 、什么是 WIFI DTU? 1.1 、什么是 DTU ? DTU (Data Transfer unit),是专门用于将串口数据转换为 IP 数据或将 IP 数据转换为串 口数据通过无线通信网络进行传送的无线终端设...
关键字:
STM32F103
上位机
一、iLook项目的历程: 2013年开始设计iTrack+yeelink,由于各种原因,该项目夭折。 2014年年初开始提出面向产品的开源平台:iLook 2015年5月发起iLook.爱路客 2015年8月发起iLo...
关键字:
开源
STM32F103
本程序编写基于秉火霸道STM32F103ZET6运行环境。跑这个实验之前吃了一些亏,让我一一道来! 1、软件写好了,没发现插入USB线连接到电脑后USB居然没有枚举 解决方法: 野火的这款开发板上做了一个USB上电使能I...
关键字:
SD卡
U盘
stm32cube
本程序编写基于秉火霸道STM32F103ZET6运行环境。 在实际的产品开发中,一般包含: 1、BootLoader 引导程序 2、APP_BAK 应用程序备份恢复区 3、APP 应用程序 网上很多讲解这方面的知识感觉很...
关键字:
Bootloader
串口
屏显
笔者能力有限,如果文中出现错误的地方,还希望各位朋友能够给我指出来,我将不胜感激,谢谢~ 引言 数字信号在我们生活中随处可见,自然而然地就会涉及到对于数字信号的处理,最为典型的一个应用就是示波器,在使用示波器的过程当中,...
关键字:
STM32F103
好久没更新文章了,看看又做了什么些好玩的东西。 文章目录 前言 开发板的选择 获取疫情数据API接口 ESP8266发送HTTPS请求 LCD显示 代码下载 在其他MCU上的实现 前言 2020,新冠肺炎疫情在全球蔓延,...
关键字:
MCU
STM32F103
技术宅的浪漫 ——小熊派教你制作"520"告白神器—— 有人说 荷尔蒙决定了一见钟情 多巴胺决定了恋爱关系 催产素决定了天长地久 又快到今年520 你是否还在头疼怎么准备520礼物? 今天小熊派来教你制作"520"告白神...
关键字:
开发板
SD卡
代码
COM
语音芯片选型
随着科技的发展和产品的集成化,语音芯片已经逐渐替代了多种语音设备应用在各场合。语音芯片主要特性是功耗低,抗干扰能力强,外围器件少,控制简单,语音保存时间久(某些语音
关键字:
语音芯片
芯片选型
SD卡
EEPROM