271 Ch
Upcoming SlideShare
Loading in...5
×
 

271 Ch

on

  • 885 views

 

Statistics

Views

Total Views
885
Views on SlideShare
885
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

271 Ch 271 Ch Document Transcript

  • 7.3.1 配置和编译 U-Boot 注意:要编译 U-Boot 请使用光盘带的 arm-linux-gcc-3.4.1 编译器,这是带有浮点处理 功能的编译器。U-Boot 源代码包位于光盘的/OpenSourceBootloader 目录中 首先解压源代码包到工作目录: #tar xvzf u-boot-1.1.6-FA24x0.tar.gz –C /opt/FriendlyARM/mini2440 执行该命令将把 U-Boot 源代码解压到/opt/FriendlyARM/mini2440 目录。 再检查一下当前编译器版本,执行: #arm-linux-gcc -v 如图,注意是带软浮点运算功能的编译器: 配置 U-Boot 十分简单,进入 U-Boot 目录,执行: #make open24x0_config #make 就可以开始编译了,编译完毕,如图所示生成 u-boot.bin 第 - 271 - 页
  • 7.3.2 把 U-Boot 烧写到开发板 要烧写 U-Boot,需要把开发板拨动开关 S2 设置为 Nor Flash 启动,连接好串口和 USB 线,打开超级终端,打开电源,串口显示如图: 第 - 272 - 页
  • 选择功能号 “a” 打开 DNW, , 确认 USB 连接正常 OK, UsbPort Transmit/Restore, 点 选择刚才所编译的 u-boot.bin,下载和烧写很快就会结束。 把 mini2440 启动模式改为 Nand Flash 启动,重新复位或者重启开机电源开关,在串 口终端可以看到如图信息,如果开发板中已经安装了 linux 系统,U-Boot 将会自动启动它, 否则会进入 U-Boot 的功能菜单(也可以根据提示,在开机后 3 秒中内按任意键进入): 第 - 273 - 页
  • U-Boot 的功能菜单如图,您可以按照功能选项进行测试,它和 supervivi 基本是类似的: 注意:若使用 U-Boot,这时你需要完全抛弃 Nor Flash 中 supervivi 的那些功能命令, 使用 U-Boot 本身的功能来下载和烧写内核,以及文件系统。关于 U-Boot 的使用方法用户可 以参考网上的资料,我们将在以后的文档更新中添加。 第 - 274 - 页
  • 第 - 275 - 页
  • 第八章 配置和编译 linux 内核 注意:编译内核需要设置交叉编译环境为 3.4.1 版本的编译器,请参考“建立 linux 开 发环境”一节。 8.1 使用缺省配置文件编译内核 8.1.1 解压内核源代码 Linux 内 核 的 源 代 码 包 位 于 光 盘 的 linux 目 录 , 您 在 该 目 录 下 还 会 看 到 类 似 linux-2.6.13-mini2440_20080910.tgz 的文件。 把内核源代码包复制到某一个目录,进入该目录,运行以下命令: #tar xvzf linux-2.6.13-mini2440_20080910.tgz –C /opt/FriendlyARM/mini2440 第 - 276 - 页
  • 这样将把内核源代码解压到/opt/FriendlyARM/mini2440/kernel-2.6.13 目录 8.1.2 装载缺省配置文件 进入内核源代码目录,然后执行“make menuconfig” ,出现配置内核界面,选择进入 “Load an Alternate Configuration File”配置栏: 输入配置文件名如 config_n35 并回车,在主菜单里选择<Exit>退出并保存设置。 第 - 277 - 页
  • 8.1.3 编译内核 再次提示:编译内核需要 arm-linux-gcc-3.4.1 版本的编译器,请务必检查安装好。 输入以下命令,开始编译内核: #make zImage 第 - 278 - 页
  • 编译结束后,会在 arch/arm/boot 目录下生成 linux 内核映象文件:zImage 第 - 279 - 页
  • 您可以使用以上章节介绍的方法把 zImage 下载到开发板测试。 8.1.4 各个 Linux 驱动程序源代码位置 说明: 解压内核源代码(linux-2.6.13 开头的 tgz 压缩文件)可以找到如下驱动, mini2440 提供 linux-2.6.13 内核 100%完全可以使用的驱动源代码,绝无库文件,敬请放心使用。 (1)DM9000 网卡驱动 kernel-2.6.13/drivers/net/dm9000x.c (2)串口(包括三个串口驱动 0,1,2,对应设备名/dev/tts/0,1,2) kernel-2.6.13/drivers/serial/s3c2410.c (3)实时时钟 RTC 驱动 kernel-2.6.13/drivers/char/s3c2410-rtc.c (4)LED 驱动 kernel-2.6.13/drivers/char/qq2440_leds.c (5)按键驱动 kernel-2.6.13/drivers/char/qq2440_buttons.c (6)触摸屏驱动 kernel-2.6.13/drivers/input/touchscreen/s3c2410_ts.c 第 - 280 - 页
  • (7)yaffs 文件系统源代码目录 kernel-2.6.13/fs/yaffs2 (8)USB 鼠标、键盘源代码 kernel-2.6.13/drivers/ usb/input/hid-input.c (9)SD/MMC 卡驱动源代码目录(在 2.6.13 内核中仅支持 2G 容量以内的 SD 卡) kernel-2.6.13/drivers/mmc (10)Nand Flash 驱动 kernel-2.6.13/drivers/mtd/nand (11)UDA1341 音频驱动目录 kernel-2.6.13/ sound/oss/uda1341.c kernel-2.6.13/ drivers/l3 (12)LCD 驱动(包含 3.5quot;, 7quot;, 8.4quot;, 10.4quot;, 12.4quot;, 15quot;等大小的驱动) kernel-2.6.13/drivers/video/s3c2410fb.c (13)优盘支持驱动 kernel-2.6.13/drivers/usb/storage (14)中星微 USB 摄像头驱动 kernel-2.6.13/drivers/usb/media/gspca 8.2 定制 linux 内核 上面我们使用缺省文件配置和编译了内核,其实 linux 内核的配置选项有很多,下面我 们就常见的一些选项分别予以图解,帮助你尽快熟悉内核配置,以便定制自己需要的内核。 运行 make menuconfig 后,进入内核配置主菜单 第 - 281 - 页
  • 8.2.1 如何配置 CPU 选项 在主菜单里面,选择 System Type,按回车进入 第 - 282 - 页
  • 可以看到,系统大部分使用了标注了 S3C2410 的选项,这是因为 S3C2410 和 S3C2440 的很多寄存器地址等地址和设置是完全相同的, 该版本的 linux-2.6 内核不再对这两种 CPU 分 别设置。 如果您要选择板级选项,可以进入 S3C24XX Implementations 子菜单,里面有很多常 见的使用基于 S3C2410 和 S3C2440 的目标板平台选项 第 - 283 - 页
  • 它们分别对应于 arch/arm/mach-s3c2410/mach-* 开头的文件, IPAQ H1940 对应于 如 mach-h1940.c,我们的开发板平台为 mini2440,它和 QQ2440 使用基本相同的配置,因此它 对应于 mach-qq2440.c。另外,在这个文件中,还会用到一个机器码 MACH_TYPE,该机器 码的定义文件为 arch/arm/tools/mach-types,其中,我们开发板的机器码为 782,它还对应于 vivi 源代码中 include/platform/smdk2440.h 文件的 MACH_TYPE 8.2.2 如何配置各个尺寸的 LCD 驱动支持 在主菜单里面,选择 Device Drivers,按回车进入 第 - 284 - 页
  • 选择 Graphics support,按回车进入,选中: <*> Support for frame buffer devices <*> S3C2410 LCD framebuffer support 选中 LCD select,按回车进入,如图 第 - 285 - 页