查看: 3635|回复: 0

MYD-YA15XC-T开发板——2升级分析

[复制链接]
  • TA的每日心情
    开心
    2018-5-31 10:17
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2021-11-5 10:57:34 | 显示全部楼层 |阅读模式
    分享到:
    根据官方的文档,提供了SD卡烧写的方式,命令如下
    1. <font size="4">sudo ./CreateSDUpdateImage-myir mfgimages ya15xc-t</font>
    复制代码
    有两个参数,"mfgimages"是镜像目录,"ya15xc-t"是标识名称,可以任意修改。
    执行完成后,会生成一个img.gz后缀的文件,这就是烧写的镜像文件,可以通过win32diskimager写入到sd卡设备中。
    MYD-YA151C-T-SDCardUpdate-ya15xct-20211105101102.img.gz
    这是我执行后生成的文件,使用win32diskimager烧写前,需要先解压出img文件。


    下面来解析下SD卡烧写的原理
    1. <font size="4">Number  Start (sector)    End (sector)  Size       Code  Name
    2.    1              34             545   256.0 KiB   8300  fsbl1
    3.    2             546            1057   256.0 KiB   8300  fsbl2
    4.    3            1058            5153   2.0 MiB     8300  ssbl
    5.    4            5154          272450   130.5 MiB   8300  bootfs
    6.    5          272451         3071966   1.3 GiB     8300  rootfs</font>
    复制代码
    1.首先需要对sd卡分区操作,目前有5个分区。fsbl1,fsbl2是存放tfa,ssbl是uboot,bootfs是存放kernel,dtb,rootfs是存放升级目标镜像的文件。使用中发现官方提供的createsdupdateimage-myir中有部分代码是有可能导致操作失败的,原因是对于loop设备的操作流程不太对,后面有空会改写个正确的版本出来。

    2. 切换板子的启动设备拨码,默认是011是从nand启动,需要变更为101。这里要说明下,实际上这里用3bit的拨码就可以了,不知道官方为什么用个4bit的,反而会有一些歧义。不过有一点是改进了,之前MYD-YA15X-V2的boot信号是错位的,这里总算是修正了。

    3.上电从sd卡启动后,bootloader会使用ramdisk方式来启动系统。ramdisk通过检测当前系统中的设备来判断emmc还是nand版本,然后使用不同的命令和文件来烧写。手上拿到的是nand版本,所以会烧写以下文件
    1. <font size="4">myir-image-core-openstlinux-eglfs-myir-ya151c-t_nand_2_256_multivolume.ubi
    2. tf-a-stm32mp15xc-ya151c-256d-t-trusted.stm32
    3. u-boot-stm32mp15xc-ya151c-256d-t-trusted.stm32</font>
    复制代码

    ubi文件是nand的整个文件分区,里面有多个volume,启动时会挂载指定的对应volume。





    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-5-20 20:41 , Processed in 0.116637 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.