硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1449|回复: 14
收起左侧

[Lua] 准备支持H7-TOOL通过CAN,SPI,I2C和串口方式下载固件玩法(2022-06-16)

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106553
QQ
发表于 2022-6-16 10:25:41 | 显示全部楼层 |阅读模式

先做通用方案,就是目标板做一个BootLoader。然后TOOL上位机LUA小程序控制下载,或者LUA小程序离线运行方式下载均可。

最近在做BootLoader的专题视频教程,正好配套上,一次全都打通了。

image.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106553
QQ
 楼主| 发表于 2022-6-16 10:44:30 | 显示全部楼层
NAND,eMMC,SD卡和U盘的BootLoader,带CRC完整性校验的案例已经全部都打通完毕了,下一步就是楼主位的外设接口方式升级玩法。
image.png



回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2022-6-16 14:17:34 | 显示全部楼层
👍支持,期待CAN和485
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106553
QQ
 楼主| 发表于 2022-6-16 14:27:40 | 显示全部楼层
WMINE 发表于 2022-6-16 14:17
👍支持,期待CAN和485

对,含串口的485和232方式。
回复

使用道具 举报

36

主题

2039

回帖

2147

积分

至尊会员

积分
2147
发表于 2022-6-17 11:40:58 | 显示全部楼层
不错,可以替代CubeProg
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106553
QQ
 楼主| 发表于 2022-6-17 11:53:05 | 显示全部楼层
byccc 发表于 2022-6-17 11:40
不错,可以替代CubeProg

可以实现STM32CubeProg扩展支持的外设接口烧录模式。下周正式开始弄。
回复

使用道具 举报

3

主题

1220

回帖

1229

积分

至尊会员

积分
1229
发表于 2022-6-18 11:12:30 | 显示全部楼层
  很强大!!
回复

使用道具 举报

6

主题

32

回帖

50

积分

初级会员

积分
50
发表于 2022-6-29 12:03:06 | 显示全部楼层
版主,你好.我用CANFD通讯已经实现了bin文件的传输,并写入到另1个Bank的0扇区(0x08100000),但是不知道怎末让程序在这个加载域执行.我采取了以下办法:
1.直接从0x08000000跳转到0x08100000中,程序没反应.重启之后还在08000000这个域正常执行.
2.用H7带的Flash存储区交换的功能,也不中,获取版本号还是原来的.这个交换我不知道是不是理解错意思了(应该就是双Bank物理地址的映射改变,让08000000映射Bank1,映射成Bank2);还是程序写错了,见下图
3.能想到的第三种办法就是修改Boot引脚的值,不知道是否可行.
求指导如何让程序蹦到新bin文件的地方执行程序?
image.png image.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106553
QQ
 楼主| 发表于 2022-6-29 12:11:41 | 显示全部楼层
money7110 发表于 2022-6-29 12:03
版主,你好.我用CANFD通讯已经实现了bin文件的传输,并写入到另1个Bank的0扇区(0x08100000),但是不知道怎末让 ...

你现在的程序是自己做的boot还是怎么个玩法,自己做的boot直接跳转就行,系统BootLoader直接跳转比较麻烦,最好配合个自己做的boot跳转成功。

回复

使用道具 举报

6

主题

32

回帖

50

积分

初级会员

积分
50
发表于 2022-6-29 15:27:38 | 显示全部楼层
eric2013 发表于 2022-6-29 12:11
你现在的程序是自己做的boot还是怎么个玩法,自己做的boot直接跳转就行,系统BootLoader直接跳转比较麻烦 ...

回:
现在用的这个存储区交换,通过上位机把Bin文件写到另一个Bank,然后在用指令调用这个swap函数.
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106553
QQ
 楼主| 发表于 2022-6-29 16:55:23 | 显示全部楼层
money7110 发表于 2022-6-29 15:27
回:
现在用的这个存储区交换,通过上位机把Bin文件写到另一个Bank,然后在用指令调用这个swap函数.

不是这个意思,我意思是你的CANFD更新,是和系统BootLoader通信的,还是自己做的boot通信的。
回复

使用道具 举报

6

主题

32

回帖

50

积分

初级会员

积分
50
发表于 2022-6-29 18:40:42 | 显示全部楼层
eric2013 发表于 2022-6-29 16:55
不是这个意思,我意思是你的CANFD更新,是和系统BootLoader通信的,还是自己做的boot通信的。

这个是自己做的通信写的.
回复

使用道具 举报

6

主题

32

回帖

50

积分

初级会员

积分
50
发表于 2022-6-29 18:51:58 | 显示全部楼层
eric2013 发表于 2022-6-29 16:55
不是这个意思,我意思是你的CANFD更新,是和系统BootLoader通信的,还是自己做的boot通信的。

如果用系统BootLoader升级,在升级前是不是要先擦除这个位置的程序?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106553
QQ
 楼主| 发表于 2022-6-29 20:04:00 | 显示全部楼层
money7110 发表于 2022-6-29 18:40
这个是自己做的通信写的.

自己写的,就非常方便的了,怎么玩都可以的。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106553
QQ
 楼主| 发表于 2022-6-29 20:04:19 | 显示全部楼层
money7110 发表于 2022-6-29 18:51
如果用系统BootLoader升级,在升级前是不是要先擦除这个位置的程序?

是的,根据你发送文件的大小做相应扇区的擦除即可。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-24 16:18 , Processed in 0.358128 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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