uboot使用笔记

时间:2023-03-09 07:35:08
uboot使用笔记

一、从最基础的uboot开始

  首先是打算直接用程序把已有的镜像烧写进去sd卡里面,但是问题来了,烧写不进去

  原因:

    可能是windows 7的某些版本和win⑩的系统为了保护磁盘,设定了保护等级,直接刷写是写不进去的。

  解决方法:

    换一台电脑就好了。

  然后就可以正常启动uboot。

  Samsung s5p6818的uboot默认启动顺序:

TF卡->EMMC->USB

二、接下里就是要进行kernel和rootfs的移植

  因为这两个东西都是固化到EMMC上面的,但是一开始的EMMC默认是没有分区表的,所以要建立分区表

 GEC6818# fdisk 0  //显示设备0的详细信息,是使用的TF卡信息

 Partition Map for MMC device   --   Partition Type: DOS

 Part    Start Sector    Num Sectors     UUID            Type
22e53739- 0b Boot
Vendor: Man Snr 6399a700 Rev: 11.1 Prod: SU02G€
Type: Removable Hard Disk
Capacity: 1886.0 MB = 1.8 GB ( x ) GEC6818# fdisk 2  //板上已经有的ddr3总共8G的内存,但是未知分区表
## Unknown partition table
Vendor: Man Snr f348b4bc Rev: 0.6 Prod: 8GND3R
Type: Removable Hard Disk
Capacity: 7456.0 MB = 7.2 GB ( x )

  所以就要使用fdisk命令进行分区:

 输入fdisk,显示如下提示信息

fdisk <dev no> [part table counts] <start:length> <start:length> ...
- Note. each arguments seperated with space - Create partition table info
- All numeric parameters are assumed to be hex.
- start and length is offset.
- If the length is zero, uses the remaining.

所以我打算是来三个分区,一个给uboot,一个给kernel,一个给rootfs

fdisk    :0x4000000  : :

因为前面知道,21设备是板子上面的emmc,所以使用的dev  no就是2,part table counts 就是说的分区个数,

start:length 开始的hex的地址:分区大小  0x4000000就是64Mb

下一个的分区开始0x40001000,预留了1000bits的空间,怕到时候会越界操作,分区之间最好预留1Mb的大小,也是怕越界操作。