你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

[SD卡]关于SD卡升级的地址一致性

[复制链接]
stmika 提问时间:2026-3-24 11:23 / 未解决

你好,ST团队,
         我们的开发板是基于STM32mp157的,目前我使用两种升级开发板系统的方法:
         方法1: 使用STM32CubeProgrammer,通过读取TSV文件内容来对开发板进行升级,通过修改TSV的内容可以实现所有分区的eMMC全升级或者是局部分区的eMMC局部升级。
         
         方法2: 使用脚本工具生成镜像文件,然后通过Win32DiskImager把镜像文件下载到SD卡上,把SD卡插入开发板进行eMMC全升级。
         
         问题的背景:
         目前我的开发板上有几个分区,然后对应着都有bin文件或者是ext4镜像文件,他们分别是uboot,bootfs,rootfs,userfs和vendorfs。
         无论是用方法1还是方法2升级系统,都是用上面的文件,没有区别。
         
         使用方法1的话,eMMC的分区表在TSV文件有定义。
         使用方法2的话,eMMC的分区表是在一个叫boot.scr.cmd的脚本文件里通过设置环境变量emmc_part来定义。
         
         我都确认我在这两种方法的分区表定义是一致的。
         
         问题的现象描述:
         现在做一个测试,假设我把开发板先用方法2进行系统升级,确保系统能跑起来,然后再用方法1升级开发板的局部分区,比如换内核,换用户分区等等,这个时候如果再启动系统的话,系统就起不来了。
         
         再有一个测试,分别用方法1和方法2进行开发板的eMMC全升级,升级完成后系统启动都是正常的,然后分别用fdisk -l命令查看升级完之后系统的分区表,就看到了一个现象:
         每个分区表的大小都一样,可是第一个分区的实际偏移量其实扇区是不一样的,导致两种方法升级系统后,分区表的地址都不一样,如果进行局部升级,就会对分区表进行破坏。
         我尝试在添加“offset=XXXKiB”的参数到boot.scr.cmd的emmc_part里,可是都不起作用。
         所以现在就卡在这里了。
         
         我这份帖子的描述是比较简单的,就是大概描述了一下有这样一个问题。
         因为考虑到我们目前用的软件工具都是供应商提供的,我不太确定ST团队是否对应得上,而且一些技术细节也不知道能不能都发给ST团队分析。
         比如说,方法2里使用的脚本工具不知道ST团队是否有类似的工具。
         如果ST团队需要我提供更多的资料辅助分析,请在帖子里提出,我这边会协调内部和确认是否能发给ST团队进行分析。
         
         感谢。





收藏 评论0 发布时间:2026-3-24 11:23

举报

0个回答

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版