西安哪些做网站的公司好沈阳招标中心招标公告

张小明 2026/3/12 23:41:20
西安哪些做网站的公司好,沈阳招标中心招标公告,青田网站建设,南宁定制网站建设嵌入式固件升级#xff08;Firmware Update#xff09;是什么#xff1f;固件升级是指在设备不拆解、不更换芯片的前提下#xff0c;为了修复Bug、增加新功能或提升性能#xff0c;通过软件方式更新嵌入式系统固件。对嵌入式产品而言#xff0c;固件升级机制可以保持产品…嵌入式固件升级Firmware Update是什么固件升级是指在设备不拆解、不更换芯片的前提下为了修复Bug、增加新功能或提升性能通过软件方式更新嵌入式系统固件。对嵌入式产品而言固件升级机制可以保持产品生命周期期间的生命力。单片机有三种烧录方式ICP(In Circuit Programing)在电路编程使用仿真器如 J-Link、ST-Link经 SWD/JTAG 接口进行编程常用于开发调试阶段或产线烧录。特点是可靠、快速但是依赖仿真器而正版仿真器的采购成本一般也较高。ISP(In System Programing)在系统编程芯片出厂前通常会自带一小段ROM Bootloader可通过 UART/SPI/I²C 等接口与上位机交互实现系统内烧录。进入方式通常需拉高或拉低特定引脚。特点是开发者无法修改ROM Bootloader逻辑灵活性较差烧录速度也比不上ICPISP常用于量产烧录或后期维护。在某些调试场景下比如上电后立即关闭SWD会导致无法重新烧录芯片变砖就需要该种方式作为最后的救命手段。调试建议初始化中可加 12 秒延时避免出现该极端场景。IAP(In applicating Programing)在应用编程本文所说的固件升级主要是基于 IAPIn-Application Programming机制的实现。通过软件在运行时实现 Flash 擦写与编程。程序通常分为两部分Bootloader引导程序负责通信、下载、校验与切换APP应用程序正常业务逻辑运行部分。要实现 IAP开发者需先考虑以下条件是否满足芯片是否具备通信接口UART / SPI / I²C / BLE / Wi-FiROM / RAM 空间是否充足ROM 是否支持在线擦写什么时候需要固件升级功能如果产品功能需要频繁迭代更新或远程维护那么就需要在设计阶段考虑固件升级同时也要考虑硬件成本、研发成本和测试成本。固件升级功能的使用者可分为三类开发人员、维护人员和用户。如果只是开发调试阶段需要更新软件可只做仿真器烧录如果需要长期维护产品则应预留Bootloader如果是联网设备则建议考虑OTA。常见的升级方式image无论哪种方式核心流程都是一致的跳转 → 握手 → 下载 → 校验 → 切换/回滚升级流程详解以终端与PC上位机交互升级为例1.跳转机制进入Bootloader有两种方式一种是复位每次复位先执行Bootloader一种是从APP应用程序使用跳转指令跳转到Bootloader这种需要设计一定的触发条件比如通过上位机指令等。系统启动后首先运行 Bootloader。Bootloader 决定是否进入升级模式还是直接跳转到 APP。判断方法通常有两种超时等待上电后在 1s 内未收到升级信号则跳转 APP简单但影响开机速度升级标志位上位机设置标志位Bootloader 检查后进入升级模式。推荐做法标志位 校验结合可提升升级可靠性。image2.握手阶段升级前终端需与上位机确认状态和版本信息例如上位机准备就绪------------------------------------------------------终端准备就绪终端当前我是v1.0版本你是什么版本------------------------上位机我是v1.2版本终端请求升级至1.2版本固件信息-----------------------------上位机固件名、固件大小、校验值这一过程称为握手Handshake主要目的是确认通信正常校验版本信息确定升级包信息。3.下载阶段握手完成后开始传输固件数据。一般为分包下载终端请发送第0包固件数据------------------------上位机第0包数据......终端请发送第Z包固件数据------------------------上位机第Z包数据接收数据还需要将固件数据写入flash需要选择升级策略imageimage模式特点单Bank占用空间少但失败可能“变砖”双Bank安全可靠支持回滚但占用Flash更大RAM建议至少预留 2~3 倍单包大小的缓冲区因为要在 RAM 中缓存接收数据、进行校验和 Flash 对齐写入若包太大或 RAM 太小会影响速度与可靠性。若下载过程同时保存当前包序号到flash那么当系统掉电或通信中断可通过该包序号实现断点续传同时在 Bootloader 启动阶段检测该标志可自动恢复下载流程或清除异常状态提高升级效率。4.校验阶段固件接收完成后进行完整性校验。常用校验方法有CRC或者SHA校验对于 MCU 通信型升级UART、SPI等CRC足够对于 OTA 或安全性较高场景建议 SHA 签名机制。。调试建议写入完毕后从Flash回读再校验避免边写边算导致误差。5.切换与回滚校验成功后Bootloader将更新固件有效标志位并在下次重启时跳转到新APP。启动失败如CRC错误或启动异常时若支持回滚机制Rollback则自动回退到上个版本否则就滞留在Bootloader等待下一次升级开始关于Bootloader和APP之间相互跳转有几个注意事项跳转时应先关闭中断、重设堆栈指针MSP、并跳转至 APP 的 Reset_Handler否则可能导致启动异常。typedef void (*pFunction)(void);pFunction JumpToApplication;uint32_t JumpAddress;void IAP_JumpToApplication(void){__disable_irq(); //关闭中断JumpAddress *(__IO uint32_t*) (APP_ADDRESS 4);//获取Reset_Handler指针JumpToApplication (pFunction) JumpAddress;__set_MSP(*(__IO uint32_t*) APP_ADDRESS); //从设堆栈指针JumpToApplication(); //跳转}在Bootloader中会用到某些外设如看门狗、UART、定时器等跳转到APP后这些外设可能还会继续工作进而影响产品功耗或者外设配置冲突建议在跳转前可增加反初始化。安全性设计要求在OTA场景固件升级必须考虑安全问题签名验证要确保固件来源可信加密传输避免固件在空中被截获版本防降级防止回刷旧固件利用旧固件版本漏洞攻击校验完整性防止传输过程损坏、错漏扩展嵌入式产品由于资源限制和应用场景不同有时候不会固定BootloaderAPP、单双Bank这些选择。会有许多变种设计咱们在此适当展开说说。1.单Bank差分升级image上位机不直接发送整包固件而是发送旧版本与新版本的差异数据设备端根据当前固件内容和补丁生成新固件。该方案的Flash 占用居于单bank和双bank之间带宽和功耗最低升级速度最快但实现复杂度也是最高的。优点Flash 占用居于单Bank和双Bank之间多出一块Patch区带宽占用最低适合 BLE / LoRa / NB-IoT 等低速物联网设备升级速度快、功耗低缺点实现复杂度高需保证差分算法与旧固件一致无法像双Bank支持回滚如果掉电或Patch损坏仍有变砖风险。2.双bootloaderimage前面我们使用bootloader给APP升级那要是bootloader也需要升级呢?在一些高可靠性或多阶段升级场景中会使用两个 Bootloader主Bootloader 和 子Bootloader。正常情况下主Bootloader 负责设备启动与APP升级当主Bootloader需要升级或者被破坏时子Bootloader进行接管。优点解决“Bootloader自身无法自升级”的问题增加了安全性避免主Bootloader损坏后系统无法启动问题缺点增加Flash占用双Bootloader本身需要空间启动流程、跳转流程更加复杂调试门槛高3.RAM运行bootloader这种方式同样也可以解决bootloader的问题。把Bootloader 加载到 RAM 中运行从而可以自由擦写整个 Flash包括自身所在区域。优点允许完全自由地重写Flash布局包括Bootloader区Flash利用率高可实现Bootloader自升级而不需双Bootloader设计适合Flash紧张的系统缺点RAM 需足够大以容纳Bootloader一旦RAM运行异常如掉电可能导致系统不可启动比前面提及的变砖更加严重总结嵌入式固件升级是一个看似简单但实现难度较大的功能对可靠性、安全性、成本控制、性能、系统架构设计都有着严格的要求
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

thinkphp 门户网站网页制作流程一共有几步

还在为每天手动登录夸克网盘签到而烦恼吗?🤔 想要享受自动化带来的便利却不知道如何配置?本文将手把手教你搭建夸克网盘自动化签到系统,让你彻底告别手动操作的繁琐,同时确保每一次签到都能及时收到通知提醒&#xff0…

张小明 2026/3/5 5:48:49 网站建设

建设厅科技中心网站首页广东省城乡建设部网站首页

GTK容器小部件全解析 1. 布局容器(Layout Container) 布局容器与固定容器类似,不同之处在于它实现了一个无限(这里的无限小于 2^32)滚动区域。由于Xwindows存在窗口最大尺寸限制(宽或高最多为32767像素),布局容器通过使用窗口和位重力等特殊技术来绕过这一限制,即使…

张小明 2026/3/5 4:51:15 网站建设

php毕业设计代做网站如何用易语言做网站

5个技巧帮你轻松搞定信息筛选:newsnow新闻聚合工具深度体验 【免费下载链接】newsnow Elegant reading of real-time and hottest news 项目地址: https://gitcode.com/GitHub_Trending/ne/newsnow 还在为每天海量的新闻信息而烦恼吗?&#x1f91…

张小明 2026/3/5 4:49:04 网站建设

网站建设设计思想查企业信息怎么查

SLIM优化实战:容器DNS负载均衡架构深度解析 【免费下载链接】slim SLIM是一个开源的Kubernetes应用程序优化和压缩工具,用于减小Kubernetes应用程序的镜像大小。 - 功能:Kubernetes应用程序优化;压缩;减小镜像大小。 -…

张小明 2026/3/5 4:05:58 网站建设

南宁有多少家网站建设推广的公司WORDPRESS菜单位置添加搜索框

F-RAN技术:应用案例与发展趋势 1. F-RAN概述 F-RAN(Fog Radio Access Network)作为5G的先进技术解决方案,与仅使用C-RAN模式相比,通过自适应模型选择,F-RAN可以带来更高的频谱效率(SE)和更低的延迟,同时还能够提高能源效率(EE)。在实际的F-RAN中,关联模式是关键,…

张小明 2026/3/5 4:06:00 网站建设

wordpress怎么更换站点上海建筑网站大全

智能家居设备联动API设计:跨品牌设备协同控制的技术实现 【免费下载链接】OpenAPI-Specification 项目地址: https://gitcode.com/gh_mirrors/open/OpenAPI-Specification 随着物联网设备的指数级增长,智能家居市场面临着设备生态碎片化的严峻挑…

张小明 2026/3/5 4:06:01 网站建设