新聞中心

        EEPW首頁 > 嵌入式系統 > 牛人業話 > 嵌入式linux新手入門手記-第一次啟動am335x

        嵌入式linux新手入門手記-第一次啟動am335x

        作者: 時間:2015-08-07 來源:網絡 收藏

          由于nand中沒有MLO和u-boot.img,所以我們需要設置處于SD卡啟動模式,從SD卡啟動。

        本文引用地址:http://www.104case.com/article/278450.htm

          從SD卡啟動,對SD卡的設置比較簡單,將SD卡設置為FAT16分區,并格式化,然后將MLO,u-boot.img拷貝到SD卡上。由于我們不需要進入到kernel,所以不拷貝uImage,也不制作ubi分區。

          設置的LCD_data4:0為b10111,從SD卡啟動(MMC0),插入制作好的SD卡到卡槽中。將電路板通電,等u-boot.img啟動時按下鍵盤任意鍵,超級終端顯示“U-Boot:”提示符,即進入到命令行操作模式。輸入以下內容,設置網絡參數:

          setenv ipaddr 192.168.1.51 //設置am335x板的ip地址

          setenv serverip 192.168.1.50 //設置tftp和nfs的ip地址

          確保計算機的tftp服務已經正確啟動,/home/XXXX/tftp目錄下有MLO,u-boot.img和uImage。執行以下的命令:

          mw.b 0x82000000 0xff 0x20000 //將DDR的0x82000000,長度0x20000空間填充為0xff

          tftp 0x82000000 MLO //從tftp服務器下載MLO到DDR的0x82000000開始的空間

          nandecc hw 2 //設置DDR的工作模式

          nand erase 0x0 0x20000 //擦除nand地址0x0開始,長度0x20000空間

          nand write.i 0x82000000 0x0 0x20000 //將DDR地址0x82000000空間的數據寫入到nand的0x0開始的空間,寫入長度0x20000

          上述命令將MLO寫入到nand的地址0x0開始的空間。

          mw.b 0x82000000 0xff 0x40000

          tftp 0x82000000 u-boot.img

          nand erase 0x80000 0x40000

          nand write.i 0x82000000 0x80000 0x40000

          上述命令將u-boot.img寫入到nand的地址0x80000開始空間。

          我們將使用nfs來加載uImage,以及根文件系統,所以下面的命令可以先不執行。

          mw.b 0x82000000 0xff 0x500000

          tftp 0x82000000 uImage

          nand erase 0x280000 0x500000

          nand write 0x82000000 0x280000 0x500000

          上述命令將uImage寫入到nand的0x280000的空間。

          mw.b 0x82000000 0xff 0x2000000

          tftp 0x82000000 ubi.img

          nand erase 0x780000 0xf880000

          nand write 0x82000000 0x780000 0x2000000

          上述命令將根文件系統寫入到nand的0x780000空間,長度為0x2000000。這里要注意長度應該比ubi.img實際字節大一些。

          ubi.img文件的制作方法在后續的手記中記錄。

          上述完成后,執行nand erase 0x260000 0x20000,清除u-boot的啟動參數,然后設置bootargs和bootcmd。

          setenv ipaddr 192.168.1.51

          setenv serverip 192.168.1.50

          setenv bootargs console=ttyO0,115200n8 noinitrd root=/dev/nfs rw nfsroot=192.168.1.50:/home/XXXX/nfs ip=192.168.1.51:192.168.1.50::255.255.255.0::eth0::off mem=256M init=/rc

          set bootcmd 'nfs 0x82000000 192.168.1.50:/home/XXXX/nfs/boot/uImage;bootm 0x82000000'

          saveenv //保存環境變量

          上述將設置am335x板的ip地址,tftp和nfs服務器的ip地址,以及從nfs服務器加載uImage和ubi跟文件系統。

          最后保存好上述環境變量后,將am335x電路板斷電,然后將LCD_data(4:0)設置為b10011,從nand啟動。

          重新啟動電路板,當u-boot啟動后,將會自動從192.168.1.50的nfs/boot目錄下下載uImage并啟動。kernel啟動后,將自動將192.168.1.50的nfs目錄作為根文件系統加載到am335x的“/”下。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        linux相關文章:linux教程




        關鍵詞: linux am335x

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 江源县| 思茅市| 刚察县| 常山县| 克拉玛依市| 出国| 郎溪县| 天等县| 石屏县| 轮台县| 女性| 怀柔区| 阿克陶县| 鹤岗市| 芜湖县| 洪泽县| 塘沽区| 寻甸| 类乌齐县| 甘孜| 甘德县| 宝鸡市| 德州市| 右玉县| 西宁市| 武鸣县| 辉南县| 沾益县| 大石桥市| 盐源县| 滦南县| 常宁市| 商南县| 芜湖县| 乡城县| 宕昌县| 赣榆县| 万安县| 潍坊市| 长沙县| 洛宁县|