環境部署:在uboot中的serverip要設定為電腦tftp伺服器ip;
設定:
set serverip 192.168.1.20
sa
1.1、燒錄kernel
(1)SDRAM位址範圍:80000000-83FFFFFF
(2)tftp得能通能下載下傳,才能燒錄。ip設定是:本地192.168.1.10,serverp是141
1.14.3、uboot的各環境變量介紹和設定
(1)網絡位址:ipaddr 192.168.1.10, serverip 192.168.1.141
(2)bootcmd:
(3)bootargs:
附:燒錄指令
tftp更新并重新燒寫uboot的指令序列:
mw.b 0x82000000 ff 0x100000
tftp 0x82000000 u-boot-hi3518ev200.bin
sf probe 0
sf erase 0x0 0x100000
sf write 0x82000000 0x0 0x100000
注:
mw.b — 解釋memory write;
.b — 代表以位元組為機關;
0x82000000 — sdram中起始位址;
ff — 先把sdram這段清成ff;
0x100000 — 長度為1M;
tftp 0x82000000 u-boot-hi3518ev200.bin — 代表在伺服器server下下載下傳.bin檔案到sdram中
sf probe 0 — 選擇spi0作為下載下傳方式;這裡代表為以spi方式下載下傳,因為使用的是spi flash。為了區分有多個spi 。
sf erase 0x0 0x100000 — 擦出的一個spi flash的起始位址以及長度;
sf write 0x82000000 0x0 0x100000 — 将程式從sdram中寫到spi flash中,由sdram中起始位址0x82000000的資料,寫到spi flash從位址0x0,長度為1M;
tftp更新并重新燒寫kernel的指令序列:
mw.b 0x82000000 ff 0x300000
tftp 0x82000000 uImage_hi3518ev200
sf probe 0
sf erase 0x100000 0x300000
sf write 0x82000000 0x100000 0x300000
tftp更新并重新燒寫rootfs的指令序列:
mw.b 0x82000000 ff 0xc00000
tftp 0x82000000 rootfs_hi3518ev200_64k.jffs2
sf probe 0
sf erase 0x400000 0xc00000
sf write 0x82000000 0x400000 0xc00000
這裡的kernel和rootfs的解釋和uboot下載下傳說明大緻相同的;
2.1 正确的bootcmd和bootargs對應的設定指令:
set bootcmd ‘sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000’
set bootargs mem=32M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1024K(boot),3072K(kernel),12288K(rootfs)
sa
注:
set bootcmd 中為什麼有單引号‘’,因為其中有好幾條指令。
sf probe 0 — 選中spi flash;
sf read 0x82000000 0x100000 0x300000 — 從flash的起始位址0x100000讀取資料到sdram的起始位址0x82000000中,長度是0x300000。
bootm 0x82000000 — 然後bootm直接去啟動就可以了,這時候啟動的就是我們的核心鏡像;
set bootargs 解釋
mem=32M — 代表我們的記憶體大小;
console=ttyAMA0 — 代表我們的控制台是ttyAMA0(指使用序列槽幾);
115200 — 波特率為115200;
root=/dev/mtdblock2 — 跟檔案系統在我們的第2個分區(分區從0開始算起),第0個分區是uboot,第1個分區是kernel,第2個分區為檔案系統;
rootfstype=jffs2 — 檔案系統的類型為jffs2;
mtdparts=hi_sfc:1024K(boot),3072K(kernel),12288K(rootfs) — 代表了3個分區表,括号内代表分區名稱。
特别注意:這裡的mem=32M,有一個隐晦的表示,這裡的Linux核心使用的記憶體大小設為32M,海思的mpp設定的記憶體大小是32M. 這個記憶體總大小是64M.
bootcmd和bootargs可以複制同時設定的。
3.1 mpp的部署
這裡是要做兩件事:
第一 是把ko檔案部署到闆子上
第二是把lib檔案放到/usr/lib
第三是vi /etc/profile
寫入:
cd /ko
./load3518e -i -sensor ar0130 -osmem 32 -total 64
第四是 設定網卡 同樣是在 vi /etc/profile
ifconfig lo 127.0.0.1
ifconfig eth0 192.168.1.10
然後就可以測試應用程式了。