Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> MPC8313ERDB從NAND FLASH中啟動系統

MPC8313ERDB從NAND FLASH中啟動系統

編輯:關於Android編程

MPC8313ERDB從NAND FLASH中啟動系統

mpc8313erdb的linux系統,存放於Nor Flash中,而Nor Flash只有8M,最近在root目錄裡面加了一點東西,結果Ramdisk的尺寸暴漲啊,一下子超過了4MB(Nor Flash中劃分給Ramdisk的空間就只是4M),還好板子上還有32M的NAND Flash,而且原生態的,系統中也沒有使用,所以在這裡的思路就是這樣:把uImage,Ramdisk,dtb文件都寫到NAND Flash中,在uboot啟動的時候,再讀到內存裡面,然後從內存啟動。

目前我的NAND Flash空間的劃分:

NAND Flash空間 使用目標 空間大小 加載到內存的位置 0~1MB NAND UBOOT 1MB 2MB~6MB uImage 4MB 0x200000 6MB~7MB dtb 1MB 0x800000 7MB~15MB ramdisk 8MB 0x1000000
因為沒有USB TAG,所以使用NAND版的uboot以防不測,,,原來在nand的uboot所占的空間j512k的,不懂它的參數保存在哪裡的,所以就從2MB的地方開始。

介紹一下uboot下nand的命令:

nand erase [開始地址] [長度]                   // 擦除一片flash
nand write [內存地址] [nand開始地址] [長度]     // 把內存中的數據寫到nand flash中
nand read  [內存地址] [nand開始地址] [長度]      // 把nand flash中的數據寫到內存中


啟動板子進入uboot命令行模式,設置好tftp服務器地址,開始干活~

uImage燒寫:

nand erase 0x200000 0x400000
tftp 0x200000 uImage
nand write 0x200000 0x200000 0x400000

dtb:

nand erase 0x600000 0x100000
tftp 0x800000 mpc8313erdb.dtb
nand write 0x800000 0x600000 0x100000

rootfs.ext2.gz.uboot:

nand erase 0x700000 0x800000
tftp 0x1000000 rootfs.ext2.gz.uboot
nand write 0x1000000 0x700000 0x800000

然後修改啟動命令:

set bootcmd "nand read 0x200000 0x200000 0x400000;nand read 0x800000 0x600000 0x100000;nand read 0x1000000 0x700000 0x800000;bootm 0x200000 0x1000000 0x800000"
save





  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved