OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2477|回复: 4

已实现通过USB_DFU对芯片程序的更新升级,现在想对BootLoader收到的程序数据进行操作,该如何下手

[复制链接]

41

主题

278

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2357
金钱
2357
注册时间
2019-10-29
在线时间
380 小时
发表于 2020-10-10 17:41:08 | 显示全部楼层 |阅读模式
1金钱
现在想弄一个无线升级的功能,IAP在线升级就是单片机设置好BootLoader,然后收到PC端传过来的APP程序,之后跳转到APP程序;无线升级我的理解就是单片机2设置好BootLoader,然后收到单片机1发过来的APP程序(该APP程序是单片机1通过在线升级,从PC端得到的),然后单片机2跳转到APP程序执行。
现在我找资料,找到这个通过USB_DFU下载更新升级的,但是我看里面的源码,并没有找到收到app数据的缓存,我看源码他是将收到的数据直接写到APP程序的地址上去,但是我并没有找到单片机1和PC端具体是怎样通讯的,怎样收到的数据,又是怎样回传给PC端告诉他可以发下一包数据了....望大佬指点!!
下面我找到的 USB DFU固件更新的教程(基于STM32Cubemx):https://blog.csdn.net/morixinguan/article/details/104403413
这是源码链接(大于20M上传不了):https://pan.baidu.com/s/1zRv7j4E8SXgCV5F6RbSo1Q  提取码:5539

最佳答案

查看完整内容[请看2#楼]

找到在usbd_dfu_if.c中写的接口函数,正常这里是写到flash里面去,可在这里对收到的数据 src进行操作,如下:
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

41

主题

278

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2357
金钱
2357
注册时间
2019-10-29
在线时间
380 小时
 楼主| 发表于 2020-10-10 17:41:09 | 显示全部楼层
找到在usbd_dfu_if.c中写的接口函数,正常这里是写到flash里面去,可在这里对收到的数据 src进行操作,如下:
  1. uint16_t MEM_If_Write_FS(uint8_t *src, uint8_t *dest, uint32_t Len)
  2. {
  3. tx(src,len);
  4. while(){}//等待发完并收到信息发下一包
  5. }
复制代码
回复

使用道具 举报

41

主题

278

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2357
金钱
2357
注册时间
2019-10-29
在线时间
380 小时
 楼主| 发表于 2020-10-10 17:57:54 | 显示全部楼层
简单点问题就是我要在单片机上如何操作收到的APP程序,例如对这个APP程序进行发送...
回复

使用道具 举报

0

主题

10

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2020-10-10
在线时间
20 小时
发表于 2020-10-10 20:25:34 | 显示全部楼层
1213123333333333333333333
回复

使用道具 举报

41

主题

278

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2357
金钱
2357
注册时间
2019-10-29
在线时间
380 小时
 楼主| 发表于 2020-10-12 09:07:47 | 显示全部楼层
1111111111111111111111111111111111
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-4 11:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表