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

苏州相城区做网站公司wordpress快速编辑添加多个标签

苏州相城区做网站公司,wordpress快速编辑添加多个标签,网站建设智能小程序,网站开发投标书最近做了IAP U盘升级模块开发#xff0c;总结下IAP基本开发流程#xff0c;不深入讨论原理。 详细原理参考 首先需要知道我们需要把之前的APP区域拆一块出来做BOOT升级程序区域。 以STM32F103为例#xff0c;0x08000000到0x0807FFFF为FLASH空间#xff0c;即上图代码区域…最近做了IAP U盘升级模块开发总结下IAP基本开发流程不深入讨论原理。 详细原理参考 首先需要知道我们需要把之前的APP区域拆一块出来做BOOT升级程序区域。 以STM32F103为例0x08000000到0x0807FFFF为FLASH空间即上图代码区域。那么可以以此划分APP区域和BOOT区域 而具体怎么划分可以用JLINK读取当前芯片BOOT程序占用了多少空间比如占用了0x8960字节后面都是FF 即 空。 那么我们可以给BOOT划分0x08000000~0x0800C000的地址空间(方便举例可以不用余这么多) 这里好像需要注意得是4的整数倍 部分芯片如LPC177X会涉及到扇区与地址对应但思路是一样的参考这篇 这里用了1K即0x400做校验地址空间0X0800C000~0X0800C3FF但这不是必须的,也可以不要 #define APP_START_ADDR 0x0800C400UL //业务程序起始地址 #define APP_END_ADDR 0x0807FFFFUL //业务程序结束地址 #define CRC_SAVE_START_ADD 0X0800C000UL //CRC程序校验码存放开始地址 #define CRC_SAVE_END_ADD 0X0800C3FFL //CRC程序校验码存放结束地址共1k现在0x08000000~0x0800C000放boot 0X0800C000~0X0800C3FF放校验 那么剩下的都可以做APP空间啦 0X0800C400~0X0807FFFF爽用注意ROM右边是SIZE不是截止地址这个做个十六进制减法就好了。 那么地址配置现在做完了接下来就是跳转。 由BOOT跳转到APP区域有以下两个即可jumpToApp是在main里跳如果用了Freertos在任务中跳就用jumpToAppInTask void jumpToApp(uint32_t appBaseAddr) {void (*firmwareFunc)(void);uint32_t fwStackVal *((uint32_t *)(appBaseAddr)); /* the first word is for the stack pointer. */uint32_t fwEntryVal *((uint32_t *)(appBaseAddr4U)); /* the second works is for the boot function. */firmwareFunc (void (*)(void))fwEntryVal;SCB-VTOR appBaseAddr; /* The stack address is also the start address of vector. */__set_MSP(fwStackVal);__set_PSP(fwStackVal);firmwareFunc(); } void jumpToAppInTask(uint32_t appBaseAddr) {void (*firmwareFunc)(void);SysTick-CTRL 0X00;//禁止SysTickSysTick-LOAD 0;SysTick-VAL 0;__disable_irq();uint32_t fwStackVal *((uint32_t *)(appBaseAddr)); /* the first word is for the stack pointer. */uint32_t fwEntryVal *((uint32_t *)(appBaseAddr4U)); /* the second works is for the boot function. */firmwareFunc (void (*)(void))fwEntryVal;SCB-VTOR appBaseAddr; /* The stack address is also the start address of vector. */__set_MSP(fwStackVal);__set_PSP(fwStackVal);firmwareFunc(); } 需要注意在APP main开头加上SCB-VTOR APP_START_ADDR;以保证正确跳转 APP跳BOOT只需要NVIC_SystemReset();即可 跳转逻辑可以参考 地址配置跳转都完成后就是升级数据接收Flash擦除与写入了 主要逻辑是在BOOT程序中擦除APP空间的FLASH,然后再可以1K 1K的写入当然擦1K写1K也可以 具体接收逻辑就自己定义就可以了比如收一包回一包加序号都可以的
http://www.pierceye.com/news/259475/

相关文章:

  • 东莞网站制作南城电商网站模板
  • 特色的佛山网站建设深圳勘察设计协会
  • 网站关键词重要性如皋网站制作
  • 河池市网站建设成都网站开发工资
  • 网站建设服务亿企网络十大现货交易平台排名
  • 邯郸大网站英文wordpress转中文乱码
  • 卖汽车的网站怎么做网站建设需要多少钱知乎
  • 苏州模板建站平台自助快速建站
  • 域名查询网ip郑州百度网站优化
  • 泉州网站建设 乐本园东昌府网站制作
  • 电子产品配件采购网站阿里云 虚拟主机 wordpress
  • 网站的电子手册用什么做的百度云搜索引擎官网
  • 网站代码隐蔽代码jsp网站开发pdf
  • 厚街手机网站制作网站开发年终总结
  • 泉州网站建设技术外包网站建设的具体奖罚措施
  • 汕头企业网站推广技巧南宁关键词网站排名
  • 做我的世界背景图的网站阿里云服务器做网站外网访问慢
  • 云南百度智能建站登录wordpress数据库吗
  • 万网买好域名后如何开通网站网站历史记录怎么恢复
  • 游戏租号网站开发网页设计的技术有哪些
  • 工信部网站备案文件合肥网站制作建设
  • 网站架设标准网站域名注册费用
  • 东莞网站制作功能十堰微网站建设价格
  • google关键词分析工具网站建设seo 视频教程
  • 泸州市规划建设局网站网站建设及维护包括范围
  • 网站设计培训成都哪个网站开发软件
  • 四川炜航建筑公司网站新郑网络推广外包
  • 网站建设名头网站项目建设方案
  • 可以用asp做哪些网站简历模板大学生免费
  • 公司 宜宾网站建设头条小程序