3.
把yaffs2
補丁打上
alex @arch~/embedded/linux-3.7 $ cd ..
alex @arch~/embedded $ la
total68392
drwxr-xr-x24 alex root 4096 jan 3 14:14 linux-3.7/
-rw-r--r-- 1 alex root 69736096 jan 3 12:40 linux-3.7.tar.xz
drwxr-xr-x 7 alex root 4096 jan 3 13:02 yaffs2-head-52df965/
-rw-r--r-- 1 alex root 279063 dec 27 12:07 yaffs2-head-52df965.tar.gz
alex @arch~/embedded $ cd yaffs2-head-52df965/
alex @arch~/embedded/yaffs2-head-52df965 $ ./patch-ker.sh c m ../linux-3.7 ps
:不知從哪個版本開始
yaffs2
的補丁打上的命令中間是改為
./patch-ker.sh c m../linux-3.7
所以與友善之臂的教程中的命令相比是多了個
m的,要注意一下。
4.正式開始相關的移植。
進入目標板設定目錄
alex @arch~/embedded $ cd linux-3.7/
alex @arch~/embedded/linux-3.7 $ cd arch/arm/mach-s3c24xx/ ls
後可以看到有很多的檔案,我們就採用簡單一點的方式來進行修改移植。
ps:這裡需要注意一下,在比較之前版本的
linux
中,像mach-mini2440.c
等配置檔案是放在
linux-3.0.53/arch/arm/mach-s3c2440
中的,所以在參考友善之臂提供的
linux
移植指南時需注意目錄的更改。
我們打算是參考
mach-smdk2440.c
來寫我們的配置檔案
mach-mini2440.c
,所以先是把舊的檔案儲存一下:
alex @arch~/embedded/linux-3.7/arch/arm/mach-s3c24xx $ mv mach-mini2440.cmach-mini2440.c.orig
這個核心自帶的
mach-mini2440.c
檔案有很好的參考作用,故不須像友善之臂的指南那直接刪除,可以改名儲存的。
複製mach-smdk2440.c
檔案來修改為我們的檔案。
cpmach-smdk2440.c mach-mini2440.c 開啟
mach-mini2440.c
來進行修改。
geditmach-mini2440.c (
vim非常強大,但是本人這種凡人還是習慣一點滑鼠的複製貼上的操作,故先用
gedit
吧)同時開啟
mach-mini2440.c.orig
來作為參考
geditmach-mini2440.c.orig
先是把mach-mini2440.c
中的smdk2440
都替換為
mini2440
以下是部分的文字複製貼上工作了.
新增mach-mini2440.c.orig
中的標頭檔案包含到
mach-mini2440.c
中,亦就是把複製覆蓋標頭檔案部分。
把下面函式中的
16934400
改為12000000,mini2440
開發板的晶振頻率為
12mhz
。staticvoid __init mini2440_map_io(void)
注釋掉開發板初始化函式中的
smdk_machine_init()
,修改如下。
staticvoid __init mini2440_machine_init(void)
儲存mach-mini2440.c
,開始試著編譯一下了。
alex @arch~/embedded/linux-3.7/arch/arm/mach-s3c24xx $ cd ../../../
alex @arch~/embedded/linux-3.7 $ make zimage
編譯結果:
ld vmlinux
sysmap system.map
objcopyarch/arm/boot/image
kernel:arch/arm/boot/image is ready
gzip arch/arm/boot/compressed/piggy.gzip
as arch/arm/boot/compressed/piggy.gzip.o
ld arch/arm/boot/compressed/vmlinux
objcopyarch/arm/boot/zimage
kernel:arch/arm/boot/zimage is ready
可以看到,編譯通過了。
通過usb
連線,利用
supervivi
和dnw
now,booting linux......
uncompressinglinux... done, booting the kernel.
然後就沒結果了,不知出錯在**,除錯解決問題中。。。
在linux
下的與開發板連線組成除錯環境的設定且到另一篇文章再行說明。
mini2440 解除安裝模組
我的mini2440買回來這麼久了,一直有個問題很奇怪,就是執行insmod ko一切正行,lsmod也可以看到你插入的模組,但是用rmmod就會出現no such file,一直對這個問題就感覺很奇怪,也google了很多,網上五花八門的答案都有。最後還是仔細看了手冊才找到答案,原來是要把板子上的...
mini2440儲存空間
s3c2440把低1g的空間分成了8塊,由圖可知,第0至6這七塊的起始位址是不變的。而第七段的位址是可變的 它的位址有第六塊需要用到多少來決定,反正就是第六第七是連在一起的 前6塊可以是rom sram 最後兩塊不但可以是rom,sram外,還可以是sdram.其實啊,簡單點的說,就是只有最後兩塊才...
mini2440搭建純Linux開發環境
昨天中午到市區取回了盼望已久的mini2440 上買的,花掉整整650大洋.賣家還不錯,速度挺快,4天就到貨了.我的主機板沒有串列埠,所以一起買了個usb轉串列埠.一邊看官方的文件,一邊鬱悶,為什麼一大半都是windows的東西呢,連usb驅動也只有windows的.為此,查了不少資料,終於搭配好環...