zoukankan      html  css  js  c++  java
  • 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 端进入

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

  • 相关阅读:
    ES6基础
    RegExp正则表达式基础
    JavaScript基础之--- 手写 bind 方法的实现
    JavaScript基础之--- 手写 apply方法 的实现
    JavaScript基础之--- 手写 call 的实现
    JavaScript基础之--- 手写instanceof 的实现
    git系列之---工作中项目的常用git操作
    git系列之---将本地的项目添加到码云仓库
    git系列之---码云gitee 添加SHH公钥
    TCP的三次握手过程
  • 原文地址:https://www.cnblogs.com/chu-yi/p/10182044.html
Copyright © 2011-2022 走看看