日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]這兩天一直致力于linux 2.6.22.1 的移植工作,雖然遇到過很多困難浪費(fèi)過很多時(shí)間,但是昨晚終于出來了。現(xiàn)將其移植的詳細(xì)過程貼出來供大家參考,如果按我說的做沒有成功,可能與你的開發(fā)板以及電腦配置有關(guān)系。我還列

這兩天一直致力于linux 2.6.22.1 的移植工作,雖然遇到過很多困難浪費(fèi)過很多時(shí)間,但是昨晚終于出來了?,F(xiàn)將其移植的詳細(xì)過程貼出來供大家參考,如果按我說的做沒有成功,可能與你的開發(fā)板以及電腦配置有關(guān)系。我還列出了我在移植過程只能中遇到的種種問題及解決方案,希望對有相同愛好興趣的你有所幫助。


一.各種開發(fā)環(huán)境介紹

bootloader編譯環(huán)境:

vivi版本:0.1.4

交叉編譯器(CROSS-COMPILE)版本:2.95.3

操作系統(tǒng):Fedora 6(在VMware 6.0.0 安裝的,其實(shí)和直接安裝沒什么區(qū)別)

linux內(nèi)核編譯環(huán)境:

內(nèi)核版本:linux2.6.22.1

(下載地址:

交叉編譯器(CROSS-COMPILE)版本: 4.2.0

(下載地址:

http://www.codesourcery.com/gnu_toolchains/arm/download.html)

注意:下載選項(xiàng),要選 ARM EABI 的選項(xiàng),和 IA32 GNU/linux

操作系統(tǒng): 同上

文件系統(tǒng):用自帶的root_china.tar.gz

可以到我的網(wǎng)絡(luò)硬盤中下載http://www.disk1000.cn/?zjksn88

注意:關(guān)于所用到的各種交叉編譯器我已經(jīng)都打包放到我的網(wǎng)絡(luò)硬盤里了,如果需要的話可以下載,希望給你帶來一定的方便。

二:搭建交叉編譯環(huán)境

說明:由于編譯交叉編譯環(huán)境比較繁瑣,建議大家用已經(jīng)編譯好的交叉編譯環(huán)境。

下面以3.3.2的交叉編譯環(huán)境的搭建為例,其他的兩個(gè)的編譯器環(huán)境搭建一樣。

1. 解壓文件命令:

tar jxvf obsolete-gcc-3.3.2.tar.bz2

(obsolete-gcc-3.3.2.tar.bz2下載地址:http://linux.omap.com/pub/toolchain/)

2. 把解壓的文件夾中的 “3.3.2”文件夾拷貝到 /usr/local/arm目錄下

(如果沒有arm目錄就新建arm目錄,但是一定要是拷貝到這個(gè)目錄,不然不能運(yùn)行)。

3. 在命令窗口輸入

export PATH=/usr/local/arm/3.3.2/bin:$PATH

4. 如果輸入 arm- 然后按下tab鍵能自動(dòng)補(bǔ)全命令 arm-linux- 說明搭建成功。

三:bootloader 編譯

我用的開發(fā)板已經(jīng)把vivi 燒寫好了,所以本人沒有編譯燒寫bootloader 。如果你的開發(fā)板沒有做好的bootloader ,請參考http://bbs.ss.pku.edu.cn/ss/index.php/5836/action_viewspace_itemid_11861.html

四: 內(nèi)核 編譯

1. 修改 Makefile

[root@localhost src]# cd linux-2.6.22

[root@localhost linux-2.6.22.1]# vi Makefile

修改 ARCH 和 CROSS_COMPILE

--------------------------------------------------------------

ARCH ?= arm

CROSS_COMPILE?=/usr/local/arm/arm-2007q1/bin/arm-none-eabi-

2. 修改common-smdk.c文件

[root@localhost linux-2.6.22.1]# vi arch/arm/plat-s3c24xx/common-smdk.c

static struct mtd_partition smdk_default_nand_part[] = {

[0] = {

name: "vivi",

size: 0x00020000,

offset: 0,

},

[1] = {

name: "param",

size: 0x00010000,

offset: 0x00020000,

},

[2] = {

name: "kernel",

size: 0x001c0000,

offset: 0x00030000,

},

[3] = {

name: "root",

size: 0x00400000,

offset: 0x00200000,

mask_flags: MTD_WRITEABLE,

},

[4] = {

name: "usr",

size: 0x03a00000,

offset: 0x00600000,

}

/*

[5] = {

.name = "S3C2410 flash partition 5",

.offset = SZ_1M * 14,

.size = SZ_1M * 10,

},

[6] = {

.name = "S3C2410 flash partition 6",

.offset = SZ_1M * 24,

.size = SZ_1M * 24,

},

[7] = {

.name = "S3C2410 flash partition 7",

.offset = SZ_1M * 48,

.size = SZ_16M,

}

*/

};

注意:上邊所寫的分區(qū)信息必須和 vivi 的分區(qū)信息相同,否則燒寫上的內(nèi)核不能運(yùn)行。至于查看vivi 的分區(qū)信息就是 在 vivi 目錄下輸入vim ./arch/s3c2410/smdk.c 命令就可以在

mtd_partition_t default_mtd_partitions[] = { 。。。}

看到vivi的分區(qū)信息了。

修改 archarmmach-s3c2410mach-smdk2410.c 文件

Startic struct platform_device *smdk2410_devices[] __initdata={

&s3c_device_usb,

&s3c_device_lcd;

&s3c_device_wdt,

&s3c_device_i2c;

&s3c_device_iis,

&s3c_device_nand, /*add here*/

3. 去掉nand flash 的ECC

[root@localhost linux-2.6.22]# vim drivers/mtd/nand/s3c2410.c

--------------------------------------------------------------

1、打開drivers/mtd/nand/s3c2410.c

2、搜索關(guān)鍵字NAND_ECC_SOFT,在s3c2410_nand_init_chip函數(shù)里

3、修改NAND_ECC_SOFT為NAND_ECC_NONE

-----------------------------------------------------------------

4. 支持啟動(dòng)時(shí)掛載devfs

為了我們的內(nèi)核支持devfs以及在啟動(dòng)時(shí)并在/sbin/init運(yùn)行之前能自動(dòng)掛載/dev為devfs文件系統(tǒng)。

[root@localhost linux-2.6.22]# vi fs/Kconfig

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉