YL9G20开发板Linux软件开发手册精.docx

上传人:b****5 文档编号:8636745 上传时间:2023-02-01 格式:DOCX 页数:41 大小:1.93MB
下载 相关 举报
YL9G20开发板Linux软件开发手册精.docx_第1页
第1页 / 共41页
YL9G20开发板Linux软件开发手册精.docx_第2页
第2页 / 共41页
YL9G20开发板Linux软件开发手册精.docx_第3页
第3页 / 共41页
YL9G20开发板Linux软件开发手册精.docx_第4页
第4页 / 共41页
YL9G20开发板Linux软件开发手册精.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

YL9G20开发板Linux软件开发手册精.docx

《YL9G20开发板Linux软件开发手册精.docx》由会员分享,可在线阅读,更多相关《YL9G20开发板Linux软件开发手册精.docx(41页珍藏版)》请在冰豆网上搜索。

YL9G20开发板Linux软件开发手册精.docx

YL9G20开发板Linux软件开发手册精

YL-9G20开发板Linux软件开发手册

Version:

0.10

2009–8–31

修改序号修改后版本修改日期修改说明修改人

1V0.102009-8-31cs

2

5

6

7

8

9

目录

1综述.......................................................................................................................................................4

1.1主要内容.......................................................................................................................................41.2参考资料........................................................................................................................................4

2LINUX各项源码编译.....................................................................................................................5

2.1建立嵌入式LINUX开发环境......................................................................................................52.2编译BOOTSTRAP.....................................................................................................................62.3U-BOOT的编译......................................................................................................................82.4LINUX2.6.27的编译.............................................................................................................11

3CRAMFS根文件的制作..............................................................................................................153.1准备文件..........................................................................................................................................15

3.1制作步骤..........................................................................................................................................15

4NFS根文件的挂载.......................................................................................................................185NFS文件系统的挂载...................................................................................................................206内核在内存里调试........................................................................................................................227附录一完整LINUX启动过程.................................................................................................24

8附录二常用U-BOOT命令......................................................................................................31

9附录三LINUX常用命令................................................................................................................34

1综述

9G20微处理器基于926EJ-S内核,主频达到400MHz,YL-9G20开发板是深圳优龙科技有限公司基于at91sam9g20开发一款专用于高性能嵌入式处理的开发板,本文用于说明软件编译调试的使用说明。

1.1主要内容

第2章总体说明Linux各项源码编译

第3章给出cramfs根文件的制作教程

第4章给出linuxNFS根文件的挂载过程

第5章说明核在内存里调试步骤

本文默认的主机开发环境是WindowsXP2,其它的开发环境可能略有不同,相关的内容请参考相应资料。

1.2参考资料

1Atmel9g20USER’SMANUAL

2YL-9G20开发板硬件使用手册

3YL-9G20开发板烧写测试使用手册

最新的更新请参考Atmel官方网站:

2Linux各项源码编译

2.1建立嵌入式linux开发环境

这一章的工作是在PC机上的LINUX操作系统平台下进行的。

工作环境:

redhat9.0(linux操作系统

我们把linux的各项源码和编译工具拷贝到相应的工作目录下,这里默认的目录是/home/cs/9G20(这可以是用户自己的工作目录

下面所有的开发都是在root的权限下进行的

编译嵌入式linux内核前,要先安装交叉编译工具toolchain,随板光盘已附带交叉编译工具。

命令:

tarxjvfarm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2把编译工具解压,如下:

解压后,我们需要的编译工具就放在/home/cs/9G20/arm-2007q1/bin

2.2编译Bootstrap

命令:

unzipAT91Boostrap1.13.zip

解压后,在当前目录下会生成Bootstrap-v1.13新的目录,Bootstrap源码就在里面。

进入相应9g20源码区,修改编译工具的路径,下面用的是在dateflash的编译,/home/cs/9G20/Bootstrap-v1.13/board/at91sam9g20ek/dataflash

1ViMakefile

2把CROSS_COMPILE=用户的编译器安装路径(这里是/home/cs/9G20/arm-2007q1/bin/arm-none-linux-gnueabi-刚才解压

保存,退出。

3在当前目录下,直接make,编译源码,这样,目标代码就会在当前目录下生成

可以看到,生成dateflash_at91sam9g20ek.bin目标代码

说明:

Nandflash的编译请进入相应的nandflash目录下。

2.3U-Boot的编译

U-Boot解压命令

1tar–xjvf9g20-u-boot-1.3.4.tar.bz2(解压U-Boot的源码包

这样U-Boot的源码就解压在当前目录的u-boot1.3.4下

2cdu-boot-1.3.4(进入u-boot所在的源码目录

3viMakefile

4CROSS_COMPILE=用户的编译器安装路径

(这里是/home/cs/9G20/arm-2007q1/bin/arm-none-linux-gnueabi-刚才解压保存退出。

4make

这样,在本目录下就可以查找到编译的目标代码---u-boot.bin

说明:

u-boot有分dateflash和nandflash启动的,它们之间的定义在u-boot-1.3.4/include/configs/at91sam9g20.h中定义。

默认编译的目标代码是在Nandflash的,如果想编译的是dateflash,请使

//#defineCFG_USE_DATAFLASH_CS11有效。

2.4Linux2.6.27的编译

内核解压命令:

1tar-xjvf9g20-linux-2.6.27.tar.bz2

解压后,生成的linux-2.6.27就是9g20的源码目录。

2cdlinux-2.6.27(进入linux所在的源码目录

3viMakefile

4CROSS_COMPILE=用户的编译器安装路径

(这里是/home/cs/9G20/arm-2007q1/bin/arm-none-linux-gnueabi-刚才解压保存退出。

5makecleanARCH=arm(清除以前编译纪录

6makeARCH=armmenuconfig(进入linux配置菜单界面

进入界面如下:

这样,就可以在菜单这里配置内核了。

这里,导入需要的配置文件,默认的配置文件是.config文件。

配置完保存退出后。

可以编译内核。

6makeuImageARCH=arm(编译内核

7编译完成后,生成内核uImage在arch/arm/boot/目录下

把内核文件下载到开发板,就可以运行起来了。

3cramfs根文件的制作

3.1准备文件

把mkcrafs,YL-9G20_root.cramfs拷贝到linux的相应目录下。

3.1制作步骤

1mkdircramfs(建立个新的目录

2mountYL-9G20root.cramfscramfs–oloop(把根文件挂接到cramfs目录下注意:

mount………–oloop(为字母o而非数字0

3tar–cjvfcramfs.tar.bz2cramfs

4umountcramfs

5rm–rfcramfs

6tar–xjvfcramfs.tar.bz2

经过以上步骤后,根文件系统就是对应的cramfs目录了。

在修改和添加自己需要的应用程序后,用mkcramfs工具把它打包成新的根文件。

6mkcramfscramfsYL9g20_test.cramfs(YL9g20_test.cramfs自己命名的根文件

这样,新的根文件就制作成功了。

4NFS根文件的挂载

在下面的步骤中,linux系统的地址是192.168.0.112;开发板的地址是192.168.0.100

1用vi/etc/exports打开exports文件,在文件中添加

/home/cs/9G20/cramfs*(rw,no_root_squash

/home/cs/9G20/cramfs目录是上一章解压生成的根文件目录

保存,退出。

2重新启动服务

/sbin/servicenfsrestart

2设置开发板U-Boot启动参数

setenvbootargsroot=/dev/nfsrwnfsroot

=192.168.0.112:

/home/cs/9G20/cramfs

ip=192.168.0.11:

192.168.0.111:

192.168.0.1:

255.255.255.0:

at91:

eth0:

off

console=ttyS0,115200

3重启动开发板,就可以看到NFS根文件挂载上了。

这样,就可以把需要调试的应用程序挂载在NFS上调试,好了之后再制作成根文件下载到开发板运行。

5NFS文件系统的挂载

PC机Linux这边设置和上一章的一样,linux系统的地址是192.168.0.112;注意:

与上一章不同的是,NFS文件系统使用的根文件系统是cramfs根文件系统。

U-Boot的启动参数是不一样的,如下图所示:

开发板我们启动进入Linux后,

1设置好ip地址是192.168.0.100

2mkdir/tmp/nfs(在tmp目录下建立要挂载的nfs目录

3

mount–fnfs192.168.0.112:

//home/cs/9G20/cramfs/tmp/nfs

4cd/tmp/nfs(进入挂载的目录

5ls(查看,这样就可以看到挂载上的nfs文件系统了

6内核在内存里调试

1打开TFTP工具,指定编译好的内核文件路径,这里假设编译好的文件时uImage。

2启动U-boot设置好网口之类的参数,

3tftp22000000uImage(uImage为烧写的文件

4bootm22000000(跳到内存linux区

这样,要调试的内核就可以下到内存中运行了。

7附录一完整Linux启动过程

U-Boot1.3.4(Dec122008-12:

18:

30

DRAM:

64MB

NAND:

256MiB

In:

serial

Out:

serial

Err:

serial

Net:

macb0

macb0:

Startingautonegotiation...

macb0:

Autonegotiationtimedout(status=0x7849

macb0:

linkdown(status:

0x7849

Hitanykeytostopautoboot:

0

NANDread:

device0offset0xa0000,size0x200000

2097152bytesread:

OK

##BootingkernelfromLegacyImageat22000000...

ImageName:

linux-2.6

ImageType:

ARMLinuxKernelImage(uncompressed

DataSize:

1531744Bytes=1.5MB

LoadAddress:

20008000

EntryPoint:

20008000

VerifyingChecksum...OK

LoadingKernelImage...OK

OK

Startingkernel...

Uncompressing

Linux...................................................................................................done,bootingthekernel.

Linuxversion2.6.27(nferre@bendor(gccversion4.2.020070413(prerelease(CodeSourcerySourceryG++Lite2007q1-10#1FriDec1212:

38:

40CET2008

CPU:

ARM926EJ-S[41069265]revision5(ARMv5TEJ,cr=00053177

Machine:

AtmelAT91SAM9G20-EK

Memorypolicy:

ECCdisabled,Datacachewriteback

Clocks:

CPU396MHz,master132MHz,main18.432MHz

CPU0:

DVIVTwrite-backcache

CPU0:

Icache:

32768bytes,associativity4,32bytelines,256sets

CPU0:

Dcache:

32768bytes,associativity4,32bytelines,256sets

Built1zonelistsinZoneorder,mobilitygroupingon.Totalpages:

16256

Kernelcommandline:

mem=64Mconsole=ttyS0,115200root=/dev/mtdblock1

AT91:

96gpioirqsin3banks

PIDhashtableentries:

256(order:

8,1024bytes

Console:

colourdummydevice80x30

console[ttyS0]enabled

Dentrycachehashtableentries:

8192(order:

3,32768bytes

Inode-cachehashtableentries:

4096(order:

2,16384bytes

Memory:

64MB=64MBtotal

Memory:

61688KBavailable(2820Kcode,233Kdata,124KinitCalibratingdelayloop...197.83BogoMIPS(lpj=989184

Mount-cachehashtableentries:

512

CPU:

Testingwritebuffercoherency:

ok

net_namespace:

288bytes

NET:

Registeredprotocolfamily16

AT91:

PowerManagement

AT91:

Startingafterpower-restoredwakeup

SCSIsubsysteminitialized

usbcore:

registerednewinterfacedriverusbfs

usbcore:

registerednewinterfacedriverhub

usbcore:

registerednewdevicedriverusb

NET:

Registeredprotocolfamily2

IProutecachehashtableentries:

1024(order:

0,4096bytesTCPestablishedhashtableentries:

2048(order:

2,16384bytesTCPbindhashtableentries:

2048(order:

1,8192bytes

TCP:

Hashtablesconfigured(established2048bind2048

TCPrenoregistered

NET:

Registeredprotocolfamily1

NetWinderFloatingPointEmulatorV0.97(doubleprecision

JFFS2version2.2.(NAND(SUMMARY漏2001-2006RedHat,Inc.msgmnihasbeensetto120

ioschedulernoopregistered

ioscheduleranticipatoryregistered(default

atmel_usart.0:

ttyS0atMMIO0xfefff200(irq=1isaATMEL_SERIAL

atmel_usart.1:

ttyS1atMMIO0xfffb0000(irq=6isaATMEL_SERIAL

atmel_usart.2:

ttyS2atMMIO0xfffb4000(irq=7isaATMEL_SERIAL

brd:

moduleloaded

loop:

moduleloaded

sscssc.0:

AtmelSSCdeviceat0xc4870000(irq14

macbmacb:

invalidhwaddress,usingrandom

MACB_mii_bus:

probed

eth0:

AtmelMACBat0xfffc4000irq21(0a:

77:

62:

a4:

e4:

b6

eth0:

attachedPHYdriver[GenericPHY](mii_bus:

phy_addr=ffffffff:

00,irq=-1Driver'sd'needsupdating-pleaseusebus_typemethods

NANDdevice:

ManufacturerID:

0xec,ChipID:

0xda(SamsungNAND256MiB3,3V8-bitAT91NAND:

8-bit,SoftwareECC

Scanningdeviceforbadblocks

Creating3MTDpartitionson"atmel_nand":

0x00000000-0x00400000:

"Bootstrap"

0x00400000-0x04000000:

"Par

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小学作文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1