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

西安微信网站培训课程总结

西安微信网站,培训课程总结,泸州建设网站,做网站需要的技术在IAP远程升级的最后一篇博客里,笔者想概括性地梳理总结IAP程序设计中值得注意的问题,诚然市面上或者工作后存在不同版本的IAP下位机和上位机软件,也存在不同定义的报文格式,甚至对于相似的知识点不同教程又有着完全不同的解读&am…

       在IAP远程升级的最后一篇博客里,笔者想概括性地梳理总结IAP程序设计中值得注意的问题,诚然市面上或者工作后存在不同版本的IAP下位机和上位机软件,也存在不同定义的报文格式,甚至对于相似的知识点不同教程又有着完全不同的解读,这就很容易让初学者摸不清思路,所以在最后不准备过度赘述代码上的细枝末节,实际上大家在搞清楚整个IAP升级的过程后,便可以自定义报文设计出无数种下位机和对应的上位机软件,真实投产项目中IAP升级设计也是基于这些思想,但需要考虑到通信解析的完整性,即上位机和下位机的报文握手机制和重发机制,当然这些机制笔者都已添加到上位机软件中。

      另外笔者最近也买了一台新的戴尔小型台式主机,正考虑录制哔哩哔哩视频,前段时间也收到哔哩哔哩官方的邀请,但STM32和FPGA具体录制什么内容,具体怎么操作这些录屏软件等还在思考学习中,如果做视频想着视频内容不会太长都保持在一刻钟内,练习普通话言简意赅把关键点说明清楚,配上相关的背景知识、代码讲解、具体操作、上板现象等。

概括性地下面这些是笔者对IAP单片机升级程序设计中的关键技术点总结:

  1. 单片机上电首先进入的是Bootloader段程序,而默认是直接跳入Application段程序,这时候便自然而然地需要一些逻辑判断,比如板载Eeprom或者Flash置位相关标志位,即开机上电后单片机先读取掉电保存的标志位,如果标志位是跳转Application,则直接从Bootloader跳转到Application,如果标志位是停留Bootloader,则停留在Bootloader进行等待;
  2. 上位机中有“app跳入”和“boot跳入”两个按键,即按下两个按键,单片机向Eeprom或者Flash置位相关标志位再调用API函数NVIC_SystemReset(),单片机重启后立刻执行读取标志位操作,即可实现跳转到Application或者停留在Bootloader;
  3. 如果单片机没有外挂Eeprom或者Flash,那么也可以用系统时钟实现这个功能,如图1所示是系统滴答时钟默认是1ms,这里笔者用了10s的滴答时钟进行超时计时,即10s内单片机没有收到上位机的“boot检测”则直接跳转到Application,反之则停留在Bootloader等待上位机端发送BIN文件的二进制码;
  4. STM32单片机中向内部Flash中写入需要先解锁后加锁,即调用HAL_FLASH_Unlock()和HAL_FLASH_Lock()函数,同时要在HAL_FLASH_Unlock()解锁Flash并对Application段的Flash进行全擦除操作,再进行写入操作;
  5. 上位机端是主机,下位机STM32端是从机,为了确保程序的稳定性和可靠性,应引入报文握手机制和重发机制,这里很好理解上位机端每发一条指令,下位机都需要给出回应,如图2所示是下位机端正确和错误应答报文的定义,上位机端在发送任何一条报文后即进行了5s的超时等待,在这5s内下位机回复正确报文,上位机端则判断此条报文有效,反之收到下位机回复错误报文或者超过5s无回复判断此条报文无效,则如果是判断和跳转报文在上位机的信息菜单中显示相关提示,如果是发送BIN文件报文最多5次的进行重发;
  6. 在上位机发送BIN文件报文时,除了特定报头一般性地还需要加入报文帧信息,例如目前是第几帧数据,一共需要发送多少帧数据,举个例子在这个上位机中笔者把BIN文件按照1024字节进行划分,当然这里也可也划分成512字节和256字节,相对地要发送更多报文才能实现IAP升级,如图3所示是BusHound软件抓包上位机发送的BIN文件报文,其中红框固定报文头“7E 7E 5A”,“01”是命令码,而“00 06 00 07”代表这个BIN文件需要发送8个1024字节的报文,当前这个报文是第7包报文(报文统计从0计数),这些报文定义在前面博客中均有详细介绍,下位机STM32端在收到当前是第一包报文后就从Application段的Flash进行全擦除操作并进行Flash去锁处理,下位机检测CRC校验正确则回复上位机正确报文,触发上位机发送下一包BIN文件报文,下位机STM32端在收到当前报文是最后一包报文后即进行Flash加锁处理;

图1 系统滴答时钟10s超时等待计时

图2 下位机的正确和错误应答报文

图3 Bus Hound软件抓包上位机发送的BIN文件报文

       如图4所示是KEIL5下在线仿真的截图我们输入0x08008000这个Flash偏移地址,即可发现和如图5所示的用WinHex插件打开的Application程序RTC.Bin文件内容是完全一致的,则侧面说明了整个IAP升级的可靠性和稳定性。

图4 KEIL5下在线仿真截图

图5 WinHex插件打开的Application程序RTC.Bin文件内容

       如图6所示是KEIL5中配置Application程序自动生成RTC.BIN文件的操作方法,因为KEIL中默认生成的是.HEX文件,而IAP升级中我们需要的是.BIN文件所以需要配置下在程序文件夹下的指定路径下生成.BIN文件,如图7所示是笔者自己编写的“豌豆升级IAP上位机软件”,在IAP升级过程中的截图。

图6在KEIL5中配置Application程序自动生成RTC.BIN文件

图7 IAP升级过程中上位机的截图

http://www.hkea.cn/news/408790/

相关文章:

  • 珠海建设局网站十大经典事件营销案例分析
  • 创建网站开发公司互联网推广引流是做什么的
  • 万盛集团网站建设seo网站推广全程实例
  • 做教育的网站需要资质吗网站怎么开发
  • 微网站怎么做滚动中国万网域名注册官网
  • 个人如何免费建网站seo在线优化工具 si
  • 双线主机可以做彩票网站吗网络推广合作协议
  • 做外贸的b2b网站域名批量查询系统
  • 建设网站需要哪些职位网站建设策划书
  • 苏州网站建设哪里好网站点击排名优化
  • 网站建设收费标准策划百度推广关键词越多越好吗
  • 网站怎么做更新吗如何建立网页
  • 国外建设工程招聘信息网站tool站长工具
  • 专业做相册书的网站电商网站建设制作
  • 银川网站开发公司电话东莞网
  • 环境保护局网站管理制度建设百度指数的主要功能有
  • 安装wordpress提示500错误关键词优化的策略有哪些
  • 企业网站建设公司排名深圳高端seo公司助力企业
  • 做网站套餐网站seo
  • 网站上的代码网页怎么做的下载百度软件
  • 网站功能模块建设搜狗推广
  • 网站做推广有用吗网站页面设计
  • 做简报的网站广州搜发网络科技有限公司
  • 南乐县住房和城乡建设局网站制作网站的步骤是什么
  • 金华做网站最专业的公司搜易网提供的技术服务
  • wordpress适合门户网站吗怎么营销自己的产品
  • 常用的网站类型有哪些seo优化专员编辑
  • 网站专题框架怎么做海阳seo排名
  • 手机网站代码下载黄页网站推广服务
  • 做网站前端多少钱在线bt种子