英特尔Cyclone V SOC FPGA器件烧写EMMC方案(二、基于UBOOT的小尺寸镜像系统烧写)

小梅哥 2021-01-27 00:00

基于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,如下图所示:

5、  使用fatls mmc 0命令查看该MMC设备中的FAT分区的内容,可以看到,分区中就有我们存放的AC540-SoC-Console-240M.img这个文件,如下图所示

6、  使用fatload mmc 0 0x1000000  AC540-SoC-Console-240M.img命令将AC540-SoC-Console-240M.img文件内容读取到内存的0x1000000地址,如下图所示:

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。

12、             在不插入SD卡的情况下,重启开发板,就能发现开发板正常开始运行了。此时就是运行的存储在EMMC中的系统。

13、             进入系统之后,输入fdisk –l命令,查看磁盘的分区情况,如下图所示。

14、             输入df –h命令查看系统分区的磁盘使用情况,可以看到,当前系统空间为139.1MB,已经使用了110.5MB,还剩余21.3MB可以使用。

通过上述第14步的结果可以看出,该方案确实完成了EMMC的烧写,只不过对EMMC的存储空间利用率非常低,8GB的EMMC存储器,总共只使用了240MB,还有非常大的存储空间完全没有规划使用,浪费掉了。所以,这个方案比较适合那类对Linux系统空间容量要求不高的应用。


小梅哥 更新芯航线团队出品的各种资料
评论 (0)
热门推荐
X
广告
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦