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

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]安裝交叉編譯工具?下載交叉編譯工具(本文默認(rèn)所有軟件均下載在用戶主目錄下)arm-linux-gcc-3.4.1 —— 交叉編譯工具URL:ftp://ftp.handhelds.org/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2?安裝 //將壓縮包

安裝交叉編譯工具


?下載交叉編譯工具

(本文默認(rèn)所有軟件均下載在用戶主目錄下)

arm-linux-gcc-3.4.1 —— 交叉編譯工具

URL:ftp://ftp.handhelds.org/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2

?安裝

//將壓縮包移動(dòng)至根目錄下

#mv arm-linux-gcc-3.4.1.tar.bz2 /

//解壓,默認(rèn)路徑為 /usr/local/arm /3.4.1

#tar jxvf arm-linux-gcc-3.4.1.tar.gz2


下載Linux內(nèi)核


?下載Linux 2.6.14內(nèi)核

URL:http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.14.tar.bz2

?解壓內(nèi)核

#cd ~

#tar jxvf linux-2.6.14.tar.bz2


建立環(huán)境變量


?將交叉編譯工具路徑和內(nèi)核路徑加入環(huán)境變量

#vi ~/.bashrc

export KERNEL=~/linux-2.6.14

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


內(nèi)核移植


?為Flash進(jìn)行分區(qū)

啟動(dòng)開發(fā)板,進(jìn)入vivi,對vivi進(jìn)行分區(qū)操作

vivi>bon part 0 128k 192k 2240k 5312k:m 64704k

分區(qū)信息如下所示:

分區(qū)

起始地址

分區(qū)大小

分區(qū)作用

Part0

0x0

0x00020000 (128k)

bootloader

Part1

0x00020000

0x00010000 (64k)

bootloader params

Part2

0x00030000

0x00200000 (2m)

linux kernel

Part3

0x00230000

0x00300000 (3m)

root filesystem

Part4

0x00530000

0x03A00000 (58m)

yaffs filesystem

將vivi寫進(jìn)Flash

vivi>load flash vivi x

?修改Makefile

#vi $KERNEL/Makefile

找到ARCH與CROSS_COMPILE,修改為

ARCH ?= arm

CROSS_COMPILE ?= arm-linux-

?將分區(qū)信息加入內(nèi)核

#vi $KERNEL/arch/arm/mach-s3c2410/devs.c

添加頭文件:

#include

#include

#include

添加分區(qū)結(jié)構(gòu):

static struct mtd_partition partition_info[]={

{

name: "loader", //分區(qū)名字,任意

size: 0x00020000, //分區(qū)大小

offset: 0x0, //分區(qū)的起始地址,相對于0x0的偏移

},{

name: "param",

size: 0x00010000,

offset: 0x00020000,

},{

name: "kernel",

size: 0x00200000,

offset: 0x00030000,

},{

name: "rootfs",

size: 0x00300000,

offset: 0x00230000,

},{

name: "yaffs",

size: 0x03A00000,

offset: 0x00530000,

}

};

struct s3c2410_nand_set nandset={

nr_partitions: 5, //分區(qū)數(shù)量

partitions: partition_info, //分區(qū)表

};

struct s3c2410_platform_nand superlpplatform={

//NAND Flash芯片支持

//參數(shù)意義可參考S3C2410手冊

tacls: 0,

twrph0: 30,

twrph1: 0,

sets: &nandset,

nr_sets: 1,

};

修改s3c_device_nand,以加入NAND Flash驅(qū)動(dòng):

struct platform_device s3c_device_nand = {

.name = "s3c2410-nand", //設(shè)備名稱

.id = -1,//有效設(shè)備編號,-1表示唯一設(shè)備

.num_resources = ARRAY_SIZE(s3c_nand_resource), //寄存器區(qū)的個(gè)數(shù)

.resource = s3c_nand_resource, //寄存器區(qū)的首地址

//添加如下信息,表示NAND Flash設(shè)備

.dev={

.platform_data=&superlpplatform

}

};

?指定啟動(dòng)時(shí)的設(shè)備初始化

#vi $KERNEL/arch/arm/mach-s3c2410/mach-smdk2410.c

修改:

static struct platform_device *smdk2410_devices[] __initdata = {

s3c_device_usb,

s3c_device_lcd,

s3c_device_wdt,

s3c_device_i2c,

s3c_device_i

本站聲明: 本文章由作者或相關(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)閉