kahou

导航

uboot使用笔记

一、从最基础的uboot开始

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

  原因:

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

  解决方法:

    换一台电脑就好了。

  然后就可以正常启动uboot。

  Samsung s5p6818的uboot默认启动顺序:

TF卡->EMMC->USB

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

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

 1 GEC6818# fdisk 0  //显示设备0的详细信息,是使用的TF卡信息
 2 
 3 Partition Map for MMC device 0  --   Partition Type: DOS
 4 
 5 Part    Start Sector    Num Sectors     UUID            Type
 6   1     512064          3350464         22e53739-01     0b Boot
 7 Vendor: Man 000003 Snr 6399a700 Rev: 11.1 Prod: SU02G€
 8             Type: Removable Hard Disk
 9             Capacity: 1886.0 MB = 1.8 GB (3862528 x 512)
10 
11 
12 GEC6818# fdisk 2  //板上已经有的ddr3总共8G的内存,但是未知分区表
13 ## Unknown partition table
14 Vendor: Man 000015 Snr f348b4bc Rev: 0.6 Prod: 8GND3R
15             Type: Removable Hard Disk
16             Capacity: 7456.0 MB = 7.2 GB (15269888 x 512)

  所以就要使用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 2 3  5120x4000000  4001000:4000000 8100000:0

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

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

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

 

posted on 2018-03-26 17:34  kahou  阅读(396)  评论(0编辑  收藏  举报