4412 uboot上手

 1,了解

  • print  查看UBOOT软件的环境变量       (变量名=变量)
  • setenv、saveenv  
    •   setenv abc 100 200   设置 添加一个变量值
    •                                          修改一个已有的变量值
    •         setenv abc                删除这个变量
    •    saveenv   :把本次的设置的环境变量,写回存储器
  • nand 
    •   nand【动词】【内存地址】【nandflash内部地址】【搬移大小】
    •         nand 中5M的空间读到41000000 ,读1K
    •         5M=5*1M    1M=2^20=0x100000
    •        nand read 41000000 500000 1024
    •        nand erase 500000 1024  (擦出命令)
    •      nand write 41000000 500000 1024

内核启动(启动参数、文件系统)

  • 启动参数 bootargs

 root =     启动的跟文件系统在哪个设备 (设备信息  Ram   NFS  flash)

 init  =      内核启动后,第一个可执行文件init进程从哪里来

 console= 内核启动时,使用哪个设备作为控制台

  •    文件系统(NFS(调试)、Ramdisk)

Ram disk(模拟磁盘)

  • root=/dev/ram
    •  设备信息 initrd=0x41000000,8M(地址大于基地址+内核地址) 
  • init=/linuxrc
  • console=ttySAC0

NFS (网络文件系统)

————————————————————————————————-————

2,uboot启动

 1,SD卡启动

  1)虚拟机中。上传uboot的压缩包

  2)tar zxvf  命令解压

       3)  进入第一层目录  make tiny4412_config   --> make 生成uboot.bin等文件

  4)  进入 sd_fuse   make 生成mkbl2 工具

  5)  进入tiny4412    可以看到bl2.bin  E4412_N.bl1.bin  E4412_tzsw.bin三个bin,其中bl2.bin在制作SD启动卡时会生成,我们也需要此文件

       在此目录下,用root 执行./sd_fusing.sh  /dev/sdb即可(与裸板烧录相同)

2,烧进emmc  (主要可分为 分区,烧录)

  1)在虚拟机中完成。用minicom启动板子串口 ----进入uboot。

  2)输入mmcinfo 01 查看设备信息  (0 为SD卡,1为emmc ;SD卡为4-bit ,emmc为8-bit)

  3)   对emmc进行分区

    1.   fdisk -p 01 查看分区情况
    2.        输入 fdisk -c 1 320 2057 520   分区
    3.         >fatformat mmc 1:1
              这句话意思是对mmc 1设备的第一分区格式作fat格式化。
              >ext3format mmc 1:2
              >ext3format mmc 1:3
              >ext3format mmc 1:4
             上面三个指令是分别对eMMC的分区2,3,4作ext3格式化。

  4)烧录bl1.bin, bl2.bin, u-boot.bin, tzsw.bin烧录到eMMC中(使用dnw 烧录)

    1.   uboot 下:> emmc open 1    (提示打开成功,一旦打开需要联系烧录,完后关闭emmc)
    2.        uboot 下:> dnw   (等待数据传输)
    3.        ubuntu 下:(进入uboot主目录)     > dwn sd_fuse/ting4412/E4412_N.bl1.bin
    4.        uboot 下: 提示传输完成,> emmc wrinte 1 0xc0000000 0 0x10 
      开始第二部分
    5.    
    6.        uboot 下:> dnw   (等待数据传输)
    7.        ubuntu 下:(进入uboot主目录)     > dwn sd_fuse/ting4412/bl2.bin
    8.        uboot 下: 提示传输完成,> emmc wrinte 1 0xc0000000 0x10 0x1C
      第三部分   u-boot.bin
    9.        uboot 下:> dnw   (等待数据传输)
    10.        ubuntu 下:(进入uboot主目录)     > dwn u-boot.bin
    11.        uboot 下: 提示传输完成,> emmc wrinte 1 0xc0000000 0x30 0x21D
      第四部分    E4412_tzsw.bin
    12.        uboot 下:> dnw   (等待数据传输)
    13.        ubuntu 下:(进入uboot主目录)     > dwn sd_fuse/ting4412/E4412_tzsw.bin
    14.        uboot 下: 提示传输完成,> emmc wrinte 1 0xc0000000 0x2C0 0xB8
    15.        uboot 下:emmc close 1

  5)至此,uboot烧写完毕,可以直接从nand flash 端进入

——————————————————————————————————————————————————————————

原文地址:https://www.cnblogs.com/chu-yi/p/10182044.html