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

在线做网站 自动生成手机版怎么做非法彩票网站吗

在线做网站 自动生成手机版,怎么做非法彩票网站吗,做纯静态网站怎么样,wordpress参考书去某新能源大厂出了一次差#xff0c;这次出差是为了升级程序解决Bug#xff0c;需要给单片机重新烧录.hex文件#xff0c;用户已经将产品封装起来#xff0c;无法开盖#xff0c;只能使用CAN总线来更新程序#xff0c;用Bootloader实现。其实就是通过上位机把.bin/hex文… 去某新能源大厂出了一次差这次出差是为了升级程序解决Bug需要给单片机重新烧录.hex文件用户已经将产品封装起来无法开盖只能使用CAN总线来更新程序用Bootloader实现。其实就是通过上位机把.bin/hex文件以CAN通讯的方式发送给单片机并存储在规定的Flash中。这个过程与手机端更新APP类似。以STM8单片机为例该如何实现Bootloader呢今天和大家分享一下。01什么是BootloaderBootloader是一段用于更新自身应用软件并独立运行的代码常被用于升级产品和修复产品bug。STM8单片机如果要下载hex文件的话需要通过STVP和STLINK来实现单片机的引脚SWIM就是下载接口。如果产品在用户端被封装好了无法通过SWIM来下载该怎么办呢就使用BootloaderSTM支持CAN和UART实现Bootloader。就是通过CAN通信或者UART通信将数据存放在STM8的Flash上。02划分Flash区间STM8的中断向量跳转地址是固定的会跳转到0x8000对应中断的偏移地址所以会把Bootloader存放在0x8000开始的空间内比如给Bootloader代码所划分的空间为4k那么空间起始地址为0x8000-0x8FFF那么应用代码的起始地址就可以从0x9000开始。03修改中断向量表STM8的中断向量表通过一段特定的代码来实现并需要根据前文提到的空间划分来修改。STM8的应用程序起始地址是0x8400默认的向量表如下代码所示__root const long reintvec[].intvec  { 0x82008080,0x82008404,0x82008408,0x8200840c,  0x82008410,0x82008414,0x82008418,0x8200841c,  0x82008420,0x82008424,0x82008428,0x8200842c,  0x82008430,0x82008434,0x82008438,0x8200843c,  0x82008440,0x82008444,0x82008448,0x8200844c,  0x82008450,0x82008454,0x82008458,0x8200845c,  0x82008460,0x82008464,0x82008468,0x8200846c,  0x82008470,0x82008474,0x82008478,0x8200847c,  }; 前文已经将应用程序的起始地址修改为0x9000所以向量表的的修改方法为除了第一个元素为其余的元素将8改为9修改完后代码如下__root const long reintvec[].intvec {    0x82008080,0x82009404,0x82009408,0x8200940c,  0x82009010,0x82009014,0x82009018,0x8200901c, 0x82009020,0x82009024,0x82009028,0x8200902c, 0x82009030,0x82009034,0x82009038,0x8200903c, 0x82009040,0x82009044,0x82009048,0x8200904c, 0x82009050,0x82009054,0x82009058,0x8200905c, 0x82009060,0x82009064,0x82009068,0x8200906c, 0x82009070,0x82009074,0x82009078,0x8200907c, }; 04修改ICF文件ICF文件存放在编程环境的安装目录下每个型号/系列的单片机都会对应一个ICF文件需要修改一下ICF文件这里需要根据flash空间的划分来修改前面将Bootloader的终止地址设置为0x9FFF所以修改如下define region NearFuncCode  [from 0x8000 to 0x8FFF]; define block INTVEC with size  0x80 { ro p .intvec }; place at start of NearFuncCode  { block INTVEC }; 05跳转命令所谓跳转就是在应用程序中跳转到Boot中去升级升级完成后需要跳转到应用程序中所跳转的起始就是起始地址。Bootloader跳转到应用程序的代码如下:asm(LDW X,  SP ); asm(LD  A,  $FF); asm(LD  XL, A  ); asm(LDW SP, X  ); asm(JPF $9000); 应用程序跳转到Bootloader中的代码如下sm(LDW X,  SP ); asm(LD  A,  $FF); asm(LD  XL, A  ); asm(LDW SP, X  ); asm(JPF $8000);06编写交互代码以上设置好之后就可以编写交互代码了所以交互代码其实就是一套协议规定了应用程序如何跳转到Boot在Boot中如何处理和存储数据这需要上位机的支持。如果只是用于自家的产品就可以自己定义协议。也可以使用标准的协议比如汽车行业中的UDS(统一诊断服务)。Bootloader实现之后就可以使用CAN/UART来实现产品固件的升级了。这就是Bootloader的关键内容本文你学会了吗留言讨论一下吧。推荐阅读专辑|Linux文章汇总专辑|程序人生专辑|C语言我的知识小密圈
http://www.huolong8.cn/news/30774/

相关文章:

  • 北京南站地图关键词排名优化流程
  • 百度帐号登录个人中心肇庆seo
  • 广州做网站厉害的公司童程童美官方网
  • 网站虚拟建设策划做百度手机网站关键词排名
  • 网站建设的设计思路上海企业名录地址电话
  • 微网站分销企业网站推广方式和策略
  • 做个网站页面多钱网站布局怎么写
  • 中国建设劳动学会官方网站广州外贸型网站设计
  • 手机微网站系统黑红网站模板
  • 企业建站都有什么网站公司广告宣传片拍摄
  • net网站开发找那家wordpress论坛程序
  • 单位网站建设运维情况宁波网站建设地方
  • 手机网站解析域名办公室装修计入什么会计科目
  • wordpress建站图片效果公司网站服务器租赁
  • 工信部网站106575000130最新wordpress电商主题
  • 宁波网站建设lonoowordpress简洁淘宝客免费主题
  • 站酷网app做网站开直通车
  • 好看开源企业网站模板为什么做视频网站违法
  • 网站开发最后五个阶段搜索引擎优化特点
  • 古交市网站建设公司开发公司公司简介
  • 网站制作推广公司广告设计培训班学校有哪些
  • 怎么做vip网站展馆展示设计公司排名
  • 深圳商业网站建设怎么样wordpress屏蔽自带密码重置
  • 中小企业网站建设 论文山西网站建设哪家有
  • 汽车类网站设计规划国外图片设计网站有哪些
  • 获取网站目录下所有文件英文网站定制公司
  • 山东省建设厅官方网站作网站流程
  • 太原网站建设方案优化企业网站建设信息管理平台
  • 企业网站建设服务哪家好关于网站建设的英文书籍
  • 网站文章页内链结构不好可以改吗电子商务网站建设试题 答案