uboot 移到开发板主要命令

来源:互联网 发布:nero burn for mac 编辑:程序博客网 时间:2024/06/03 14:51

bootloader:初始化硬件 & 加载OS

要初始化的硬件:
    CLOCK (24MHz)
    内存         
    Nand Flash
        1 Device= 2048 Block
        1 Block = 64 Pages
        1 Page  = 2K + 64
    UART (66MHz)
要关闭的硬件:
    Watch-Dog
    Interrupt
 
bootloader过程
硬件:
1) 关闭干扰芯片启动的硬件
    Watch-Dog
    Interrupt
2) 时钟初始化
3) 内存SDRAM/DDRAM初始化    
4) Nand Flash初始化
    注意:#1 2) 和 3)不能颠倒顺序?
         #2 调试手段:LED、BEEP、UART

从Nand Flash启动:
       Nand Flash中
        Bootloader
        Linux
        rootfs
      #1 iROM 先把 Nand Flash 中的 Bootloader的前16K(足够初始化硬件) 复制到210的iRAM(96K)中,初始化硬件
    #2 待 DDRAM 初始化完成后,把 Nand Flash 中全部的Bloader 复制到DDRAM中
    #3 核再到 DDRAM 中,从刚才执行到的地方加载执行

软件:
1) Bootloader 自拷贝到 DRAM 中 (防止iRAM的空间不够用)
2) 程序流切换到DRAM    (CPU从iRAM中执行——>从DRAM中执行)
3) 用户选择进入模式:加载OS or Shell




1) 彻底删除:make distclean
2) make ARCH=arm CROSS_COMPLIE=arm-linux- all tiny210_config
3)  make ARCH=arm CROSS_COMPLIE=arm-linux- all spl    (库文件的绝对路径)

如何往板子上烧写:
方法1) 外部烧写器直接烧 较贵
方法2) #1 先将u-boot download到板子的内存中,
       #2 再用nand命令将u-boot烧写到板子上


方法2)实现
     @将tiny210-uboot.bin烧写到SD卡中
     #1 在210的目录下,找到sdb,表示识别读卡器    
       sudo dd iflag=dsync oflag=dsync if=tiny210-uboot.bin of=/dev/sdb seek=1

        dd: 复制
        iflag:输入文件  dsync:同步
        oflag:输出文件
        if:要复制的文件
        seek:要烧到的块号 (从1开始,不允许从0开始)

    @@将 SD 卡中的 tiny210-uboot.bin 烧写到 Nand Flash    
    #2 在kermit中loadb,send tiny210-uboot.bin
    #3 nand erase.chip
    #4 nand write 0x21000000 offset size     (offset:0 size:send过去的tiny210-uboot.bin)
    #5 关机,从Nand Flash上启动,看到