硬汉嵌入式论坛

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

[BSP视频教程] BSP视频教程第18期:基于NAND,eMMC,SD卡和U盘的BootLoader实战,带CRC完整性校验(2022-06-16)

  [复制链接]

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2022-6-16 19:51:17 | 显示全部楼层 |阅读模式
本期视频教程分享的工程是可以用于项目实战的,大家可以根据自己的需要做魔改,不限制单片机平台。

视频:

https://www.bilibili.com/video/BV1qg411Q7y3



视频提纲:




参考资料:
1、例子下载:
链接:https://pan.baidu.com/s/1zIA4bv89NicOiOfYZsFmPg 提取码:vakh

2、系统的谈下STM32H7的SD卡驱动兼容性问题,现在兼容性很强,主流厂家16GB以上容量全部通过
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=107689

3、uCOS全家桶带的CRC软件包,含汇编加速方式,支持查表和计算两种方式
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=97690

4、实战技能分享,一劳永逸的解决BOOT跳转APP失败问题,含MDK AC5,AC6和IAR,同时制作了一个视频操作说明
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=109595

5、成功实现MDK自动生成hex文件的crc值并附加到hex文件末尾(bin也支持),然后跟STM32的硬件CRC计算值做比较
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=97379



回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2022-6-16 19:51:25 | 显示全部楼层
更新完毕。
回复

使用道具 举报

19

主题

76

回帖

133

积分

初级会员

积分
133
发表于 2022-6-24 17:21:15 | 显示全部楼层

能不能整个
stm32f4内部flash模拟u盘 做IAP
目前参考
https://github.com/BlussYoung/STM32F103_MSD_BOOTLOADER
可以弄出u盘 但容量好像不太对?
另外F4扇区和F1不太一样
我看这篇也没有解决
https://forum.anfulai.cn/forum.p ... %C4%A3%C4%E2U%C5%CC
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2022-6-25 00:08:42 | 显示全部楼层
blueice1108 发表于 2022-6-24 17:21
能不能整个
stm32f4内部flash模拟u盘 做IAP
目前参考

内部模拟U盘很简单,尝试自己解决下。
回复

使用道具 举报

19

主题

76

回帖

133

积分

初级会员

积分
133
发表于 2022-6-25 09:04:35 | 显示全部楼层
eric2013 发表于 2022-6-25 00:08
内部模拟U盘很简单,尝试自己解决下。

谢谢

目前可以识别出U盘
但容量不对 应该是要改FAT表那边的程序
回复

使用道具 举报

3

主题

78

回帖

87

积分

初级会员

积分
87
发表于 2023-5-17 15:04:27 | 显示全部楼层
硬汉哥,U盘的BootLoader有F4的参考例程吗?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2023-5-17 17:49:54 | 显示全部楼层
跟着硬汉学 发表于 2023-5-17 15:04
硬汉哥,U盘的BootLoader有F4的参考例程吗?

坛友分享过一个。

F407的接U盘用的IAP
https://forum.anfulai.cn/forum.p ... 6219&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

0

主题

32

回帖

32

积分

新手上路

积分
32
发表于 2023-11-7 20:35:28 | 显示全部楼层
请问是否有H7,通过U盘升级的范例吗?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2023-11-8 08:07:01 | 显示全部楼层
jinzhen107 发表于 2023-11-7 20:35
请问是否有H7,通过U盘升级的范例吗?

1楼末尾网盘。
回复

使用道具 举报

2

主题

24

回帖

30

积分

新手上路

积分
30
发表于 2024-10-14 17:51:19 | 显示全部楼层
你好,硬汉哥,参考你的bootloder跳转到APP,可以正常跳转到APP,但是进入APP后产生了MemManage_Handler中断,可能是什么原因呢?APP程序用了FREERTOS,正常烧录进去从0x80000000启动时没有问题。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2024-10-15 09:42:01 | 显示全部楼层
guxiangguo 发表于 2024-10-14 17:51
你好,硬汉哥,参考你的bootloder跳转到APP,可以正常跳转到APP,但是进入APP后产生了MemManage_Handler中断 ...

跳转后,APP里面什么都不做,仅仅是简单的LED闪烁是否正常。正常后排查下你的APP工程问题,可能方便些。

有可能跳转前没有提供干净的运行环境。
回复

使用道具 举报

2

主题

24

回帖

30

积分

新手上路

积分
30
发表于 2024-10-15 10:05:09 | 显示全部楼层
eric2013 发表于 2024-10-15 09:42
跳转后,APP里面什么都不做,仅仅是简单的LED闪烁是否正常。正常后排查下你的APP工程问题,可能方便些。
...

有两块板子,其中一块一直装在设备上用,我用另一块板子调试的升级功能,调式好后放到设备上的那个板子就不行了,两块板子硬件上没有差别。
回复

使用道具 举报

2

主题

24

回帖

30

积分

新手上路

积分
30
发表于 2024-10-15 10:08:36 | 显示全部楼层
eric2013 发表于 2024-10-15 09:42
跳转后,APP里面什么都不做,仅仅是简单的LED闪烁是否正常。正常后排查下你的APP工程问题,可能方便些。
...

通过在线单步调试发现都是在指定的任务里出现这个错误
回复

使用道具 举报

2

主题

24

回帖

30

积分

新手上路

积分
30
发表于 2024-10-15 10:13:36 | 显示全部楼层
eric2013 发表于 2024-10-15 09:42
跳转后,APP里面什么都不做,仅仅是简单的LED闪烁是否正常。正常后排查下你的APP工程问题,可能方便些。
...

不是在固定任务里,我把那个任务取消了还是会出现
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2024-10-16 09:38:57 | 显示全部楼层
guxiangguo 发表于 2024-10-15 10:08
通过在线单步调试发现都是在指定的任务里出现这个错误

我前面说的这个测试了没有:跳转后,APP里面什么都不做(main函数里面的RTOS启动等去拿不注释掉),仅仅是简单的LED闪烁是否正常,这个可以锁定下你的APP跳转是否有问题。

我初步怀疑是你的BOOT跳转没有提供干净的运行环境,干脆使用这个方案吧


实战技能分享,一劳永逸的解决BOOT跳转APP失败问题,含MDK AC5,AC6和IAR,同时制作了一个视频操作说明
https://forum.anfulai.cn/forum.p ... 9595&fromuid=58
(出处: 硬汉嵌入式论坛)


回复

使用道具 举报

2

主题

24

回帖

30

积分

新手上路

积分
30
发表于 2024-10-16 16:11:05 | 显示全部楼层
eric2013 发表于 2024-10-16 09:38
我前面说的这个测试了没有:跳转后,APP里面什么都不做(main函数里面的RTOS启动等去拿不注释掉),仅仅是 ...

问题已经解决了,我是分了一个区(256字节)用来存放APP固件版本信息的,后来把这个分区大小改到1K就正常了,具体是什么原因还没有花时间去研究,目前更新程序后跳转运行都正常,还没有发现其他bug
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2024-10-17 09:31:19 | 显示全部楼层
guxiangguo 发表于 2024-10-16 16:11
问题已经解决了,我是分了一个区(256字节)用来存放APP固件版本信息的,后来把这个分区大小改到1K就正常 ...

好的,解决了就好。
回复

使用道具 举报

0

主题

32

回帖

32

积分

新手上路

积分
32
发表于 2024-10-31 16:05:29 | 显示全部楼层
请问下,没有USB-HOST的MCU,像F1/G0/L0,是否可以用U盘更新固件
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2024-10-31 16:47:39 | 显示全部楼层
jinzhen107 发表于 2024-10-31 16:05
请问下,没有USB-HOST的MCU,像F1/G0/L0,是否可以用U盘更新固件

这种的不方便了,你的外置个USH HOST控制器了。
回复

使用道具 举报

0

主题

32

回帖

32

积分

新手上路

积分
32
发表于 2024-11-5 22:32:28 | 显示全部楼层
F1之前用过SD,更新。
回复

使用道具 举报

24

主题

50

回帖

122

积分

初级会员

积分
122
发表于 2025-2-27 08:51:04 | 显示全部楼层
IAR里面怎么使用hex2bin这个小软件呢?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2025-2-27 09:16:20 | 显示全部楼层
zhouyalong 发表于 2025-2-27 08:51
IAR里面怎么使用hex2bin这个小软件呢?

IAR可以直接生成bin,这里可以设置




如果需要批处理,这里可以添加


回复

使用道具 举报

24

主题

50

回帖

122

积分

初级会员

积分
122
发表于 2025-2-27 09:43:58 | 显示全部楼层
eric2013 发表于 2025-2-27 09:16
IAR可以直接生成bin,这里可以设置

怎么在生成的bin文件后添加CRC呀
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2025-2-27 10:11:30 | 显示全部楼层
zhouyalong 发表于 2025-2-27 09:43
怎么在生成的bin文件后添加CRC呀

跟MDK一样,执行下批处理即可
回复

使用道具 举报

24

主题

50

回帖

122

积分

初级会员

积分
122
发表于 2025-2-28 11:27:13 | 显示全部楼层
eric2013 发表于 2025-2-27 10:11
跟MDK一样,执行下批处理即可

我报这个警告什么意思呢?

微信图片_20250228112432.png
但是我的bin文件最后添加上了4字节的CRC,但是硬件CRC和计算出来的CRC不一样
微信图片_20250228112652.png
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2025-3-1 05:26:11 | 显示全部楼层
zhouyalong 发表于 2025-2-28 11:27
我报这个警告什么意思呢?

提示你没有做好4字节对齐。
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2025-3-6 17:19:01 | 显示全部楼层
又能用rs485单口写入bootloader的可能吗?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2025-3-7 06:23:38 | 显示全部楼层
zz.h 发表于 2025-3-6 17:19
又能用rs485单口写入bootloader的可能吗?

参考这个,这个串口支持TTL串口, 485和232

【实战技能】单片机bootloader的CANFD,I2C,SPI和串口方式更新APP视频教程(2022-08-01)
https://forum.anfulai.cn/forum.p ... 4491&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-12 03:10 , Processed in 0.068448 second(s), 31 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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