芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 5491|回复: 0

英特尔Cyclone V SOC FPGA器件烧写EMMC方案(二、UBOOT 烧写img )

[复制链接]
  • TA的每日心情
    慵懒
    2021-2-24 10:16
  • 423

    主题

    782

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    15855
    QQ
    发表于 2021-1-19 13:38:46 | 显示全部楼层 |阅读模式
    基于UBOOT的小尺寸镜像系统烧写

    此方案最简单,所以放在最前面说。此方案实现的前提如下:
    1、  系统镜像尺寸小于电路板上的DDR3内存大小。
    2、  电路板上有SD卡槽。
    除此之外,不需要再有其他要求了,不需要网口,不需要USB接口、Nand Flash等。考虑到电路板上的存储空间一般都大于等于256MB,所以我们提供了一个尺寸为240MB的小尺寸系统镜像。名为AC540-SoC-Console-240M.img。

    烧写步骤:

    1、  准备一张能正常启动电路板的SD卡,例如烧录了我们提供的“AC540-SoC-Console.img”镜像的SD卡。
    2、  将AC540-SoC-Console-240M.img这个小尺寸镜像文件拷贝在制作好镜像的SD卡的FAT分区。
    3、  使用SD卡启动开发板,在串口终端中连续按键盘任意键,让开发板停在UBOOT阶段。
    4、  使用mmc list命令查看当前的MMC设备情况,可以看到,MMC设备只有一个,编号为0,如下图所示:
    211.png
    5、  使用fatls mmc 0命令查看该MMC设备中的FAT分区的内容,可以看到,分区中就有我们存放的AC540-SoC-Console-240M.img这个文件,如下图所示
    212.png
    6、  使用fatload mmc 0 0x1000000  AC540-SoC-Console-240M.img命令将AC540-SoC-Console-240M.img文件内容读取到内存的0x1000000地址,如下图所示:
    213.png
    7、  拔出SD卡!
    8、  拔出SD卡!
    9、  拔出SD卡!
    10、             使用mmc rescan命令重新扫描MMC设备,以让EMMC挂载上,此命令无返回提示信息。
    11、             使用mmc write 0x10000000x0 0x78700命令将内存中从0x1000000地址开始的数据写入到MMC的第0号块起始的493312(0x78700)个块中,如下图所示。MMC写入是以块为单位的,每个块的容量是512字节,而上述读取到的img文件的长度为252575744字节,所以换算成块就是252575744/512 = 493312,十六进制值也就是0x787000。
    214.png
    12、             在不插入SD卡的情况下,重启开发板,就能发现开发板正常开始运行了。此时就是运行的存储在EMMC中的系统。
    13、             进入系统之后,输入fdisk –l命令,查看磁盘的分区情况,如下图所示。
    215.png
    14、             输入df –h命令查看系统分区的磁盘使用情况,可以看到,当前系统空间为139.1MB,已经使用了110.5MB,还剩余21.3MB可以使用。
    216.png
    通过上述第14步的结果可以看出,该方案确实完成了EMMC的烧写,只不过对EMMC的存储空间利用率非常低,8GB的EMMC存储器,总共只使用了240MB,还有非常大的存储空间完全没有规划使用,浪费掉了。所以,这个方案比较适合那类对Linux系统空间容量要求不高的应用。

    回复

    使用道具 举报

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

    本版积分规则

    QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

    GMT+8, 2024-4-26 09:34 , Processed in 0.114170 second(s), 35 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

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