ImageVerifierCode 换一换
格式:DOCX , 页数:41 ,大小:1.93MB ,
资源ID:8636745      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8636745.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(YL9G20开发板Linux软件开发手册精.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、YL9G20开发板Linux软件开发手册精YL-9G20开发板 Linux 软件开发手册Version :0.102009 831修改序号 修改后版本 修改日期 修改说明 修改人1 V0.10 2009-8-31 cs256789目录1综述 .41.1主要内容 .4 1.2参考资料 .42 LINUX 各项源码编译 .52.1建立嵌入式 LINUX 开发环境 .5 2.2编译 B OOTSTRAP .6 2.3U-B OOT 的编译 .8 2.4L INUX 2.6.27的编译 . 113CRAMFS 根文件的制作 .15 3.1准备文件 .153.1制作步骤 .154NFS 根文件的挂载 .

2、18 5NFS 文件系统的挂载 .20 6内核在内存里调试 .22 7附录一 完整 LINUX 启动过程 .248附录二 常用 U-BOOT 命令 .319 附录三 LINUX常用命令 .341综述9G20微处理器 基于 926EJ-S 内核, 主频达到 400 MHz, YL-9G20开发板是深 圳优龙科技有限公司基于 at91sam9g20 开发一款专用于高性能嵌入式处理的开发板, 本文用于说明软件编 译调试的使用说明。1.1主要内容第 2章总体说明 Linux 各项源码编译第 3 章 给出 cramfs 根文件的制作教程第 4 章 给出 linux NFS根文件的挂载过程第 5章 说明核

3、在内存里调试步骤本文默认的主机开发环境是 Windows XP2, 其它的开发环境可能略有不同, 相关的内容请参考相应 资料。1.2参考资料1Atmel9g20 USERS MANUAL2YL-9G20开发板硬件使用手册3YL-9G20 开发板烧写测试使用手册最新的更新请参考 Atmel 官方网站:2 Linux 各项源码编译2.1 建立嵌入式 linux 开发环境这一章的工作是在 PC 机上的 LINUX 操作系统平台下进行的。工作环境:redhat 9.0(linux 操作系统我们把 linux 的各项源码和编译工具拷贝到相应的工作目录下,这里默认的目录是 /home/cs/9G20 (这

4、可以是用户自己的工作目录下面所有的开发都是在 root 的权限下进行的 编译嵌入式 linux 内核前,要先安装交叉编译工具 toolchain,随板光盘已附带交叉编 译工具。命令:tar xjvf arm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 把编译工具解压,如下: 解压后,我们需要的编译工具就放在 /home/cs/9G20/arm-2007q1/bin 2.2 编译 Bootstrap命令:unzip AT91Boostrap1.13.zip解压后,在当前目录下会生成 Bootstrap-v1.13新的目录,

5、 Bootstrap 源码就在里面。 进入相应 9g20源码区 ,修改编译工具的路径,下面用的是在 dateflash 的编译, /home/cs/9G20/Bootstrap-v1.13/board/at91sam9g20ek/dataflash1 Vi Makefile2 把 CROSS_COMPILE = 用 户 的 编 译 器 安 装 路 径 (这 里 是 /home/cs/9G20/arm-2007q1/bin/arm-none-linux-gnueabi- 刚才解压 保存,退出。 3 在当前目录下,直接 make ,编译源码,这样,目标代码就会在当前目录下生成 可以看到 ,生成 d

6、ateflash_at91sam9g20ek.bin 目标代码说明:Nandflash 的编译请进入相应的 nandflash 目录下。2.3 U-Boot 的编译U-Boot 解压命令1 tar xjvf 9g20-u-boot-1.3.4.tar.bz2 (解压 U-Boot 的源码包 这样 U-Boot 的源码就解压在当前目录的 u-boot1.3.4 下 2 cd u-boot-1.3.4 (进入 u-boot 所在的源码目录 3 vi Makefile4 CROSS_COMPILE =用户的编译器安装路径(这里是 /home/cs/9G20/arm-2007q1/bin/arm-no

7、ne-linux-gnueabi- 刚才解压 保存退出。 4 make 这样 ,在本目录下就可以查找到编译的目标代码 -u-boot.bin 说 明 : u-boot 有 分 dateflash 和 nandflash 启 动 的 , 它 们 之 间 的 定 义 在 u-boot-1.3.4/include/configs/at91sam9g20.h 中定义。默认编译的目标代码是在 Nandflash 的,如果想编译的是 dateflash ,请使/#define CFG_USE_DATAFLASH_CS1 1 有效。 2.4 Linux 2.6.27 的编译内核解压命令:1 tar -xjv

8、f 9g20-linux-2.6.27.tar.bz2 解压后,生成的 linux-2.6.27 就是 9g20 的源码目录。2 cd linux-2.6.27 (进入 linux 所在的源码目录 3 vi Makefile4 CROSS_COMPILE =用户的编译器安装路径(这里是 /home/cs/9G20/arm-2007q1/bin/arm-none-linux-gnueabi- 刚才解压 保存退出。 5 make clean ARCH=arm (清除以前编译纪录6 make ARCH=arm menuconfig (进入 linux 配置菜单界面 进入界面如下:这样,就可以在菜单这

9、里配置内核了。这里,导入需要的配置文件,默认的配置文件是 .config 文件。 配置完保存退出后。可以编译内核。6 make uImage ARCH=arm (编译内核7编译完成后,生成内核 uImage 在 arch/arm/boot/ 目录下 把内核文件下载到开发板,就可以运行起来了。 3cramfs 根文件的制作3.1准备文件把 mkcrafs , YL-9G20_root.cramfs 拷贝到 linux 的相应目录下。3.1制作步骤1 mkdir cramfs (建立个新的目录 2 mount YL-9G20root.cramfs cramfs o loop (把根文件挂接到 cr

10、amfs 目录下 注意 : mount o loop (为字母 o 而非数字 0 3 tar cjvf cramfs.tar.bz2 cramfs4 umount cramfs5 rm rf cramfs6 tar xjvf cramfs.tar.bz2经过以上步骤后,根文件系统就是对应的 cramfs 目录了。 在修改和添加自己需要的应用程序后,用 mkcramfs 工具把它打包成新的根文件。 6 mkcramfs cramfs YL9g20_test.cramfs (YL9g20_test.cramfs 自己命名的根文件 这样,新的根文件就制作成功了。 4 NFS 根文件的挂载在下面的步骤

11、中 , linux 系统的地址是 192.168.0.112 ;开发板的地址是 192.168.0.1001 用 vi /etc/exports 打开 exports 文件,在文件中添加/home/cs/9G20/cramfs *(rw,no_root_squash /home/cs/9G20/cramfs 目录是上一章解压生成的根文件目录保存,退出。2 重新启动服务/sbin/service nfs restart 2 设置开发板 U-Boot 启动参数setenv bootargs root=/dev/nfs rw nfsroot=192.168.0.112:/home/cs/9G20/c

12、ramfsip=192.168.0.11:192.168.0.111:192.168.0.1:255.255.255.0:at91:eth0:offconsole=ttyS0,115200 3重启动开发板,就可以看到 NFS 根文件挂载上了。 这样,就可以把需要调试的应用程序挂载在 NFS 上调试,好了之后再制作成根文件下载 到开发板运行。5NFS 文件系统的挂载PC机 Linux 这边设置和 上一章的一样, linux 系统的地址是 192.168.0.112 ; 注意:与上一章不同的是, NFS 文件系统使用的 根文件系统是 cramfs 根文件系统。 U-Boot 的启动参数是不一样的,

13、如下图所示: 开发板我们启动进入 Linux 后,1 设置好 ip 地址是 192.168.0.100 2 mkdir /tmp/nfs (在 tmp 目录下建立要挂载的 nfs 目录 3mount f nfs 192.168.0.112:/home/cs/9G20/cramfs /tmp/nfs 4 cd /tmp/nfs (进入挂载的目录5 ls (查看,这样就可以看到挂载上的 nfs 文件系统了6内核在内存里调试1 打开 TFTP 工具,指定编译好的内核文件路径, 这里假设编译好的文件时 uImage 。2 启动 U-boot 设置好 网口 之类的参数, 3 tftp 22000000

14、uImage(uImage 为烧写的文件4 bootm 22000000 (跳到内存 linux 区 这样,要调试的内核就可以下到内存中运行了。 7附录一 完整 Linux 启动过程U-Boot 1.3.4 (Dec 12 2008 - 12:18:30DRAM: 64 MBNAND: 256 MiBIn: serialOut: serialErr: serialNet: macb0macb0: Starting autonegotiation.macb0: Autonegotiation timed out (status=0x7849macb0: link down (status: 0x

15、7849Hit any key to stop autoboot: 0NAND read: device 0 offset 0xa0000, size 0x2000002097152 bytes read: OK# Booting kernel from Legacy Image at 22000000 .Image Name: linux-2.6Image Type: ARM Linux Kernel Image (uncompressedData Size: 1531744 Bytes = 1.5 MBLoad Address: 20008000Entry Point: 20008000V

16、erifying Checksum . OKLoading Kernel Image . OKOKStarting kernel .UncompressingLinux. . done, booting the kernel.Linux version 2.6.27 (nferrebendor (gcc version 4.2.0 20070413 (prerelease (CodeSourcery Sourcery G+ Lite 2007q1-10 #1 Fri Dec 12 12:38:40 CET 2008CPU: ARM926EJ-S 41069265 revision 5 (ARM

17、v5TEJ, cr=00053177Machine: Atmel AT91SAM9G20-EKMemory policy: ECC disabled, Data cache writebackClocks: CPU 396 MHz, master 132 MHz, main 18.432 MHzCPU0: D VIVT write-back cacheCPU0: I cache: 32768 bytes, associativity 4, 32 byte lines, 256 setsCPU0: D cache: 32768 bytes, associativity 4, 32 byte li

18、nes, 256 setsBuilt 1 zonelists in Zone order, mobility grouping on. Total pages: 16256Kernel command line: mem=64M console=ttyS0,115200 root=/dev/mtdblock1AT91: 96 gpio irqs in 3 banksPID hash table entries: 256 (order: 8, 1024 bytesConsole: colour dummy device 80x30console ttyS0 enabledDentry cache

19、 hash table entries: 8192 (order: 3, 32768 bytesInode-cache hash table entries: 4096 (order: 2, 16384 bytesMemory: 64MB = 64MB totalMemory: 61688KB available (2820K code, 233K data, 124K init Calibrating delay loop. 197.83 BogoMIPS (lpj=989184Mount-cache hash table entries: 512CPU: Testing write buf

20、fer coherency: oknet_namespace: 288 bytesNET: Registered protocol family 16AT91: Power ManagementAT91: Starting after power-restored wakeupSCSI subsystem initializedusbcore: registered new interface driver usbfsusbcore: registered new interface driver hubusbcore: registered new device driver usbNET:

21、 Registered protocol family 2IP route cache hash table entries: 1024 (order: 0, 4096 bytes TCP established hash table entries: 2048 (order: 2, 16384 bytes TCP bind hash table entries: 2048 (order: 1, 8192 bytesTCP: Hash tables configured (established 2048 bind 2048TCP reno registeredNET: Registered

22、protocol family 1NetWinder Floating Point Emulator V0.97 (double precisionJFFS2 version 2.2. (NAND (SUMMARY 漏 2001-2006 Red Hat, Inc. msgmni has been set to 120io scheduler noop registeredio scheduler anticipatory registered (defaultatmel_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1 is a ATMEL_SERIALa

23、tmel_usart.1: ttyS1 at MMIO 0xfffb0000 (irq = 6 is a ATMEL_SERIALatmel_usart.2: ttyS2 at MMIO 0xfffb4000 (irq = 7 is a ATMEL_SERIALbrd: module loadedloop: module loadedssc ssc.0: Atmel SSC device at 0xc4870000 (irq 14macb macb: invalid hw address, using randomMACB_mii_bus: probedeth0: Atmel MACB at

24、0xfffc4000 irq 21 (0a:77:62:a4:e4:b6eth0: attached PHY driver Generic PHY (mii_bus:phy_addr=ffffffff:00, irq=-1 Driver sd needs updating - please use bus_type methodsNAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit AT91 NAND: 8-bit, Software ECCScanning device for bad blocksCreating 3 MTD partitions on atmel_nand:0x00000000-0x00400000 : Bootstrap0x00400000-0x04000000 : Par

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

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