| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> Android基于Ymodem协议升级嵌入式MCU主控 -> 正文阅读 |
|
[嵌入式]Android基于Ymodem协议升级嵌入式MCU主控 |
前言:工作过程中对于这块的记录,方便自己查看。在此感谢前辈们输出的精彩博文!!! 一、概述 Ymodem协议主要包括ISP和IAP两大协议。STM32在线升级 (IAP)不需要拆机就能够对产品进行升级,通过Bootloader就可以完成这项工作。 ISP和IAP的区别: (1)ISP(In-System Programming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码, 而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。其主要任务是通过一种可用的串行外设( USART、 CAN、USB、 I2C 等)将应用程序下载到内部 Flash 中。 (2)IAP(In-Application Programming) 指嵌入式MCU主控可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序。 (3)ISP技术是单片机芯片可以直接焊接到电路板上,调试结束即成成品,免去了调试时由于频繁地插入取出芯片对芯片和电路板带来的不便。 IAP技术是从结构上将Flash存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将程序从一个存储体转向另一个。 IAP的编写流程: 二、协议解析 学习链接:【安卓相关】蓝牙基于Ymodem协议发送bin文件,对硬件设备进行升级。 - 简书 先看看一张流程图: 大概流程呢就是 :
Ymodem支持128字节和1024字节一个数据包。128字节以(SOH)开始,1024字节以(STX)开始。
数据 (参考数据都是经过16进制转换输出的): 一般包头和包尾为128字节,中间包为1024字节,也就是每次发送的包数据流为1kb。 包头数据参考,包头128字节,开始信号为 SOH ,也就是0x01开始 ,接着就是 00 FF,再接着就是文件名称和文件大小,
包数据流参考,开始信号为STX,也就是0x02开头的,09为帧数。 包尾数据参考,开始信号为 SOH,也就是0x01,紧接着00FF (下面的参考是通过转16进制输出的
三、实战 说明:Android基于Ymodem协议升级嵌入式MCU主控。Android端通过ISP协议将数据发送给stm32嵌入式板,另外嵌入式板的MCU主控通过IAP进行升级flash。 1、基于串口的IAP在线升级详解与实战 说明:安卓APP移植Ymodem远程升级嵌入式固件。这块主要在arm单片机端做。涉及嵌入式开发。 博文链接: 博文1:【嵌入式】基于串口的IAP在线升级详解与实战3----安卓APP移植Ymodem远程升级嵌入式固件_公子无缘的博客-CSDN博客 博文2:【嵌入式】基于串口的IAP在线升级详解与实战1----IAP功能设计_公子无缘的博客-CSDN博客_iap在线升级 博文3:【嵌入式】基于串口的IAP在线升级详解与实战2----移植Ymodem协议_公子无缘的博客-CSDN博客 博文:4: STM32在线升级 (IAP)_elikang的博客-CSDN博客_stm32iap在线升级 最近有个需求是,使用专用的手机APP,通过蓝牙模块的通信,实现嵌入式芯片上程序的在线升级,流程如下所示: 这个需求的核心要点在于MCU的串口IAP在线升级功能。
2、基于STM32的ISP协议传输升级文件 ISP(在系统可编程)协议是可编程设备可以编程写入用户代码,而不需要从电路板上取下来,已经编程的器件也可以用 ISP 方式擦除或再编程。常用的 ISP 协议是基于 USART、USB、I2C 等。由于使用 ISP 上位机升级程序需要借助电脑,在实际生产过程中会带来不便。因此实现了一种嵌入式 ISP 主机用于对目标 MCU 的程序进行升级。嵌入式主机根据 ISP 协议通过串口与 BootLoader 进行通信,从而实现对目标 MCU 程序的升级 说明:STM32与android板通过串口连接,安卓端通过ISP协议王STM32单片机传输bin升级文件数据。 博文1:Android rom开发:STM32 ISP升级_forlan_csdn的博客-CSDN博客 博文1形式:java+JNI,java对串口节点(/dev/ttyS1,具体节点依据项目而定)进行读写,jni执行真正的串口通信,将数据给到MCU。 ?优秀博文2:Stm32串口isp - 生命不息 折腾不止 博文2形式:Stm32串口isp,基于c语言demo(包括波特率匹配、读写固件等) |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 2:30:55- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |