1. 介紹QEMU是一套由法布里斯·貝拉(Fabrice Bellard)所編寫的以GPL許可證分發(fā)源碼的模擬處理器,在GNU/Linux平臺上使用廣泛。Bochs,PearPC等與其類似,但不具備其許多特性,比如高速度及跨平臺的特性,通過KQEMU這個閉源的加速器,QEMU能模擬至接近真實(shí)電腦的速度。 簡單的說,通過這個模擬器,對于做嵌入式的人來說,可以在pc仿真開發(fā)板的運(yùn)行情況,不用每次都需要將程序下載到開發(fā)板,特別是調(diào)試驅(qū)動與編譯內(nèi)核這將節(jié)省大量的時間! 2.準(zhǔn)備首先下載2440的qemu 為什么要下載qemu,直接在ubuntu上apt-get install不行嗎? 不行!下載后的不帶這個2440 首先在git上下載代碼 git clone git://repo.or.cz/qemu/mini2440.git qemu 下載完成后開始編譯配置
(其中--prefix=/usr/local/qemu/mini2440表示install的目錄;make -j4表示4個目標(biāo)同時構(gòu)建,jobs=4,一般來說編譯速度會更快些) 然后將bin路徑添加到環(huán)境變量中方便使用qemu-system-arm 在這個目錄中,有一個mini2440_start.sh的腳本 為了直接看到效果,這里直接采用韋東山老師的uboot,kernel和文件系統(tǒng) 關(guān)于文件系統(tǒng),可以采用nfs文件系統(tǒng)進(jìn)行相關(guān)的開發(fā),十分的容易,以后介紹 3.flashimg所以目前的文件系統(tǒng)是在在這些基礎(chǔ)上進(jìn)行的。 接著,采用一個工具進(jìn)行制作,這個工具的就是flashimg工具 flashimg的官方網(wǎng)站訪問不進(jìn)去了?。。?/p> 然后就只能使用github了。 git@github.com:cailiwei/flashimg.git 下載完成后就可以進(jìn)行編譯
將文件轉(zhuǎn)移到這里面,然后開始制作 現(xiàn)在采用的是nandflash,所以先采用這種方式 #!bin/bash 如果要采用nor flash
4.寫腳本又到了寫腳本時間了 制作完成后,生成nand.bin 將生成的nand.bin轉(zhuǎn)移到我們編譯的2440的qemu之中 在這里面,我們最好不用自帶的mini2440_start.sh 自己寫一個start.sh qemu-ifdown #!/bin/sh qemu-ifup
5. nfs文件系統(tǒng)接下來開始搭建nfs方案了 sudo apt-get install nfs-kernel-server 之后修改/etc/exports
重啟nfs sudo /etc/init.d/nfs-kernel-server restart 6. 啟動編寫好啟動腳本后,直接運(yùn)行
接著,輸入nfs的啟動參數(shù) set bootargs noinitrd root=/dev/nfs rw nfsroot=192.168.31.196:/home/bigmagic/work/fs_qtopia/,proto=tcp,nfsvers=3,nolock ip=192.168.31.195:192.168.31.196::255.255.255.0 console=ttySAC0,115200 然后保存參數(shù)
然后輸入nboot nboot kernel 那么這個nboot命令是什么? nboot是uboot指令--將nand flash中的內(nèi)容加載到sdram中,比如'nboot 0x30000000 0 0x60000\;bootm 0x30000000是拷到的sdram的地址,0是nand flash設(shè)備號,0x60000是內(nèi)核在nand flash的地址。再通過bootm從0x30000000啟動內(nèi)核。 由于uImage的前64個字節(jié)是zImage的描述信息,所以do_nandboot能知道需要加載的kernel的size。 輸入bootm開始啟動內(nèi)核! 打印下面的語句則成功 注意,這里的有一個地方就是文件系統(tǒng) 在fs_qtopia/etc/init.d/rcS
這里的ifconfig eth0 192.168.31.195需要改成開發(fā)板的ip地址 還需要修改一下串口 mknod -m 660 console c 5 1 7.測試剛進(jìn)來就要校驗(yàn)觸摸屏 啟動完成后,輸入
8. 總結(jié)這個qemu真的好用! 以后表示調(diào)試Linux都方便多了!再也不用下載程序到開發(fā)板這么麻煩了! |
|
來自: 西北望msm66g9f > 《編程》