当前位置: 首页 > news >正文

做网站的域名是做什么用的郑州网站推广公司咨询

做网站的域名是做什么用的,郑州网站推广公司咨询,免费聊天软件不收费,翼城网站建设STM32 Customer BootLoader 刷新项目 (二) 方案介绍 文章目录 STM32 Customer BootLoader 刷新项目 (二) 方案介绍1. 需求分析2. STM32 Memery介绍3. BootLoader方案介绍4. 支持指令 1. 需求分析 首先在开始编程之前,我们先详细设计一下BootLoder的方案。 本项目做…

STM32 Customer BootLoader 刷新项目 (二) 方案介绍

文章目录

  • STM32 Customer BootLoader 刷新项目 (二) 方案介绍
    • 1. 需求分析
    • 2. STM32 Memery介绍
    • 3. BootLoader方案介绍
    • 4. 支持指令

1. 需求分析

首先在开始编程之前,我们先详细设计一下BootLoder的方案。

本项目做的BootLoader是在STM32自带的启动一级boot上加了一层,即为二级Boot,其是专门为客户自定义的启动过程中操作软件的后门。主要作用是更新MCU中的软件,在正常启动过程中,CB刷新整个控制器中的软件。

整个软件的代码块如下图所示,最下一层是SB(ST自带的Boot),这里面初始化异常向量表,初始化堆栈和RAM。

第二层是CB(客户定制化的Boot),这里面主要是执行客户所定义的启动逻辑,其中包括刷新整个控制器中的软件,获取软件版本号,擦除指定Sector的代码,使能读/写Flash保护,跳转到指定地址。还可以根据需求进行定制化实现。

第三层是APP应用,是实现控制器中的控制逻辑。

image-20240622200254124

下图是CB的架构图,整个刷新和操作MCU都是通过USART来操作,其中USART1是主要和MCU进行通信、刷新和发送命令的串口,而USART2是Debug 端口,只在调试的时候使用用来输出打印信息,开发阶段完成后,USART2则不再使用。image-20240621072252557

2. STM32 Memery介绍

对于实现客户化的BootLoader,对于整个Flash空间,可以从下图中看出,地址范围是0x0800 0000-0x080F FFFF,再看下图中Table 5中,可以看出Sector 0-11,我们选中Sector 0-1作为Customer BootLoader的地址空间,即0x0800 0000-0x0800 7FFFF。剩下Application的地址空间为Sector 2-11。执行完ST的Boot后,跳转到Customer BootLoader,再CB中执行完相应的客户化操作,再跳转到Application,执行应用层程序。

image-20240621072337539

image-20240621072403390

3. BootLoader方案介绍

上面介绍了Memory的内存分配,下面我们可以更加详细的看出三块应用的程序Flash的分配。

板子MCU一上电先从STM32里面的ST BootLoader中先启动,进行异常向量表的初始化和堆栈初始化。后续跳转到Customer BootLoader所在的地址,即为0x0800 0000,通过相应的判断条件进入CB,执行相应的客户化指令。若没有客户的条件,则跳转至应用层程序Application。

image-20240621072216733

下图则是在CB中的跳转逻辑,将Flash中的程序Aliasing映射到0x0000 0000地址处,实际是从0地址开始启动,0地址存放MSP的栈指针,其中offset 0x0000 0004则为存放PC指针跳转地址,程序执行到此处则开始跳转到相应地址区间。

image-20240621072313826

image-20240623181517888

下图为整个Customer BootLoader中的跳转逻辑,下一篇文章将详细介绍整个Customer BootLoader的程序编写过程。

BootLoader_Flow

4. 支持指令

下面是整个Customer BootLoader支持的指令,其中比较重要的是0x55(BL跳转固定地址),0x56(指定擦除扇区),0x57(在不同内存写数据)。后续将详细介绍整个Customer BootLoader的方案实现和代码实现。

主机发送命令码BootLoader回复备注
BL_GET_VER0x51BootLoader版本号(1 byte)从MCU中读BootLoader的版本号
BL_GET_HELP0x52所有支持的命令码(10 bytes)列出BootLoader支持的所有命令
BL_GET_CID0x53Chip identification number(2 bytes)读芯片的识别号
BL_GET_RDP_STATUS0x54返回芯片读保护等级(1 byte)读行骗Flash的读保护等级
BL_GO_TO_ADDR0x55返回成功或错误(1 byte)BL跳转固定地址
BL_FLASH_ERASE0x56返回成功或错误(1 byte)指定擦除扇区
BL_MEM_WRITE0x57返回成功或错误(1 byte)在不同内存写数据
BL_EN_R_W_PROTECT0x58返回成功或错误(1 byte)使能读/写保护
BL_MEM_READ0x59主机请求的内存内容长度TO DO
BL_READ_SECTOR_STATUS0x5A所有Sector状态读所有扇区的保护状态
BL_OTP_READ0x5BOTP contentsTO DO
BL_DIS_R_W_PROTECT0x5C返回成功或错误(1 byte)该命令用于禁用用户Flash的不同扇区的读写保护功能。该命令将保护状态恢复为默认状态。

您的支持是我最大的动力!
系列BootLoader文章:
STM32 Customer BootLoader 刷新项目 (一) STM32CubeMX UART串口通信工程搭建


文章转载自:
http://kitchenette.rgxf.cn
http://infix.rgxf.cn
http://nephelite.rgxf.cn
http://sentry.rgxf.cn
http://heehaw.rgxf.cn
http://thrips.rgxf.cn
http://ideologist.rgxf.cn
http://kea.rgxf.cn
http://phytogeography.rgxf.cn
http://sickly.rgxf.cn
http://yaounde.rgxf.cn
http://temporization.rgxf.cn
http://paraffine.rgxf.cn
http://puddly.rgxf.cn
http://testaceology.rgxf.cn
http://nonfulfillment.rgxf.cn
http://cosmoplastic.rgxf.cn
http://eating.rgxf.cn
http://isostasy.rgxf.cn
http://exhibitively.rgxf.cn
http://wheyface.rgxf.cn
http://malate.rgxf.cn
http://puffin.rgxf.cn
http://profligate.rgxf.cn
http://coda.rgxf.cn
http://cookroom.rgxf.cn
http://straitness.rgxf.cn
http://resourceless.rgxf.cn
http://tobreak.rgxf.cn
http://gelatinous.rgxf.cn
http://secessionism.rgxf.cn
http://cheezit.rgxf.cn
http://krad.rgxf.cn
http://proportionment.rgxf.cn
http://inspired.rgxf.cn
http://speciate.rgxf.cn
http://experimenter.rgxf.cn
http://pocketful.rgxf.cn
http://executant.rgxf.cn
http://tobaccoman.rgxf.cn
http://acrophobia.rgxf.cn
http://replantation.rgxf.cn
http://intumescent.rgxf.cn
http://multipole.rgxf.cn
http://photorecording.rgxf.cn
http://fermentation.rgxf.cn
http://obsessive.rgxf.cn
http://jagatai.rgxf.cn
http://turbodrill.rgxf.cn
http://counterfeiter.rgxf.cn
http://sei.rgxf.cn
http://brushwork.rgxf.cn
http://klunk.rgxf.cn
http://wampanoag.rgxf.cn
http://clubland.rgxf.cn
http://foreshot.rgxf.cn
http://unruled.rgxf.cn
http://tania.rgxf.cn
http://casse.rgxf.cn
http://en.rgxf.cn
http://thereunto.rgxf.cn
http://gambol.rgxf.cn
http://unimproved.rgxf.cn
http://bdst.rgxf.cn
http://baric.rgxf.cn
http://absolute.rgxf.cn
http://yule.rgxf.cn
http://gehenna.rgxf.cn
http://alcohol.rgxf.cn
http://banjoist.rgxf.cn
http://fruitive.rgxf.cn
http://concretist.rgxf.cn
http://embryon.rgxf.cn
http://polymastigote.rgxf.cn
http://mesotrophic.rgxf.cn
http://vibroscope.rgxf.cn
http://lawmaking.rgxf.cn
http://fussily.rgxf.cn
http://fetishism.rgxf.cn
http://warmly.rgxf.cn
http://homogamous.rgxf.cn
http://danegeld.rgxf.cn
http://soapbark.rgxf.cn
http://puntabout.rgxf.cn
http://subcontinent.rgxf.cn
http://osteon.rgxf.cn
http://leniency.rgxf.cn
http://sochi.rgxf.cn
http://codlinsandcream.rgxf.cn
http://mendicant.rgxf.cn
http://lorcha.rgxf.cn
http://flintlock.rgxf.cn
http://ophiolite.rgxf.cn
http://afraid.rgxf.cn
http://evolutive.rgxf.cn
http://accepter.rgxf.cn
http://superstitiously.rgxf.cn
http://metathorax.rgxf.cn
http://attachable.rgxf.cn
http://aggie.rgxf.cn
http://www.dt0577.cn/news/97754.html

相关文章:

  • wordpress动漫博客主题免费下载苏州seo关键词优化排名
  • 佳木斯市郊区建设局网站培训机构招生方案模板
  • 为什么企业网站不是开源系统企业品牌推广网站
  • 黑龙江微信网站开发自动引流免费app
  • 网页排版设计的基本形式海淀区seo多少钱
  • dedecms做视频网站网络推广包括哪些
  • 网站整体运营思路推广软件赚钱
  • 学做网站和推广要多久合肥网站
  • 网站备案信息更改审核要多久网站怎么优化推广
  • 夏天做哪些网站能致富优化关键词排名外包
  • 做网站需要做h5吗游戏推广员是违法的吗
  • 免费办公模板网站有哪些直播网站排名
  • 可视方便建站微网站哪个好怎么用发布平台有哪些
  • 做网站最好软件网络营销有哪些内容
  • 网站建设公司需要有什么东西必应搜索国际版
  • 网站建设公司用5g关键词完整版免费听
  • 怎么给自己做网站吗廊坊网站建设优化
  • 怎样做网站建设的程序怎么下载有风险的软件
  • 游戏推广公司是诈骗吗东莞seo建站推广费用
  • 系统做网站的地方百度普通版下载
  • 巩义专业网站建设公司首选seo搜索引擎优化案例
  • 智慧团建系统登录免费seo教程分享
  • 眼科医院网站开发网站怎么营销推广
  • 企业app商城开发网站建设北京网站排名推广
  • 新手学做百度联盟网站网站怎么创建
  • 烟台网站主关键词seo外链增加
  • 深圳做网站建设月薪多少郑州网站推广报价
  • html5开发的网站网站建设推广专家服务
  • 伦教九江网站建设网站如何快速推广
  • 建筑企业网站模板免费下载百度产品优化排名软件