mini2440 linux 3 7移植記錄(二)

2021-06-12 02:46:35 字數 2850 閱讀 9982

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的.為此,查了不少資料,終於搭配好環...