首页 9260_linux

9260_linux

举报
开通vip

9260_linux AT91SAM9260EKAT91SAM9260EKAT91SAM9260EKAT91SAM9260EK 开发板开发板开发板开发板 LinuxLinuxLinuxLinux 移植文档移植文档移植文档移植文档 第 1 页/共 27 页 ©2008 太湖微控电子 www.taihumicro.com AT91SAM9260EKAT91SAM9260EKAT91SAM9260EKAT91SAM9260EK 开发板开发板开发板开发板 LinuxLinux...

9260_linux
AT91SAM9260EKAT91SAM9260EKAT91SAM9260EKAT91SAM9260EK 开发板开发板开发板开发板 LinuxLinuxLinuxLinux 移植文档移植文档移植文档移植文档 第 1 页/共 27 页 ©2008 太湖微控电子 www.taihumicro.com AT91SAM9260EKAT91SAM9260EKAT91SAM9260EKAT91SAM9260EK 开发板开发板开发板开发板 LinuxLinuxLinuxLinux 移植移植移植移植文档文档文档文档 Ver 1.0Ver 1.0Ver 1.0Ver 1.0 AT91SAM9260EKAT91SAM9260EKAT91SAM9260EKAT91SAM9260EK 开发板开发板开发板开发板 LinuxLinuxLinuxLinux 移植文档移植文档移植文档移植文档 第 2 页/共 27 页 ©2008 太湖微控电子 www.taihumicro.com 目录目录目录目录:::: 1.准备所需要的软件和编译工具包 2.安装 ARM-LINUX-GCC 工具链 3.安装编译 AT91BootStrap Bootloader 4.安装编译 Uboot 及 AT91-Uboot 补丁 5.安装编译 Linux2.6.22 及 AT91-Linux 补丁 6.安装下载工具 AT91ISP 及烧写文件 7.NFS 根文件系统的建立 8.移植 Boa Web 服务器 9.移植网络摄像头 10.移植 Madplay 音频播放器 11.ARM MPlayer 移植 12.AT91SAM 芯片的启动过程 附录 1:安装 VMWARE+READHAT9 环境 附录 2:如何安装虚拟工具和网络设置 AT91SAM9260EKAT91SAM9260EKAT91SAM9260EKAT91SAM9260EK 开发板开发板开发板开发板 LinuxLinuxLinuxLinux 移植文档移植文档移植文档移植文档 第 3 页/共 27 页 ©2008 太湖微控电子 www.taihumicro.com 准备所需要的软件准备所需要的软件准备所需要的软件准备所需要的软件和编译和编译和编译和编译工具包工具包工具包工具包 1111.... AAAAt91bootstrap Bootloadert91bootstrap Bootloadert91bootstrap Bootloadert91bootstrap Bootloader 软件包软件包软件包软件包 AT91Bootstrap1.8.zipAT91Bootstrap1.8.zipAT91Bootstrap1.8.zipAT91Bootstrap1.8.zip http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4093 光盘位置:/linux/at91bootstrap/ 2222.... UbootUbootUbootUboot 以及补丁以及补丁以及补丁以及补丁 uuuu----bootbootbootboot----1.1.5.tar.bz21.1.5.tar.bz21.1.5.tar.bz21.1.5.tar.bz2 uuuu----bootbootbootboot----1.1.5_atmel_1.5.diff.bz21.1.5_atmel_1.5.diff.bz21.1.5_atmel_1.5.diff.bz21.1.5_atmel_1.5.diff.bz2 ftp://ftp.denx.de/pub/u-boot/u-boot-1.1.5.tar.bz2 http://www.linux4sam.org/twiki/pub/Linux4SAM/U-Boot/u-boot-1.1.5_atmel_1.5.diff.bz2 光盘位置:/linux/uboot/ 3333.... Linux2.6.22Linux2.6.22Linux2.6.22Linux2.6.22 源码包以及补丁源码包以及补丁源码包以及补丁源码包以及补丁 linuxlinuxlinuxlinux----2.6.2.6.2.6.2.6.22222222.tar.bz2.tar.bz2.tar.bz2.tar.bz2 2.6.2.6.2.6.2.6.22222222----at91.patch.gzat91.patch.gzat91.patch.gzat91.patch.gz linuxlinuxlinuxlinux----2.6.xx2.6.xx2.6.xx2.6.xx----at91at91at91at91----exp.diff.gzexp.diff.gzexp.diff.gzexp.diff.gz http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.tar.bz2 http://maxim.org.za/AT91RM9200/2.6/2.6.22-at91.patch.gz ftp://www.linux4sam.org/pub/linux/2.6.22-at91-exp.patch.gz 光盘位置:/linux/kernel/ 2.6.222.6.222.6.222.6.22----at91at91at91at91----exp.patch exp.patch exp.patch exp.patch 特性特性特性特性:::: AT91SAM9261EK - Add button interface AT91_MCI - Enhancements 1 ATMEL_LCD - Add STN and alpha in 32bpp mode support AT91SAM9261Ek - Make NAND FLASH partition match those on AT91SAM926[03]EK ATMEL_MACB - Add SRAM Tx buffers capabilities for AT91SAM926[03]EK AT91_AC97 driver for AT91SAM9263EK (playback only) AT73C213 (I2S DAC audio) support for AT91SAM926[01]EK 4444.... ARMARMARMARM----LINUXLINUXLINUXLINUX----GCCGCCGCCGCC 交叉工具链交叉工具链交叉工具链交叉工具链 armarmarmarm----linuxlinuxlinuxlinux----gccgccgccgcc----3.4.13.4.13.4.13.4.1 http://www.handhelds.org/download/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2 armarmarmarm----linuxlinuxlinuxlinux----gccgccgccgcc----3.3.23.3.23.3.23.3.2 http://www.handhelds.org/download/projects/toolchain/arm-linux-gcc-3.3.2.tar.bz2 armarmarmarm----2007q12007q12007q12007q1----10101010----armarmarmarm----nonenonenonenone----linuxlinuxlinuxlinux----gnueabignueabignueabignueabi----i686i686i686i686----pcpcpcpc----linuxlinuxlinuxlinux----gnu.tar.bz2gnu.tar.bz2gnu.tar.bz2gnu.tar.bz2 http://www.codesourcery.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2007q1-1 0-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 armarmarmarm----softfloatsoftfloatsoftfloatsoftfloat----linuxlinuxlinuxlinux----gnu.tar.bz2gnu.tar.bz2gnu.tar.bz2gnu.tar.bz2 光盘位置:/linux/toolchain/ AT91SAM9260EKAT91SAM9260EKAT91SAM9260EKAT91SAM9260EK 开发板开发板开发板开发板 LinuxLinuxLinuxLinux 移植文档移植文档移植文档移植文档 第 4 页/共 27 页 ©2008 太湖微控电子 www.taihumicro.com 安装安装安装安装 ARMARMARMARM----LINUXLINUXLINUXLINUX----GCCGCCGCCGCC 工具链工具链工具链工具链 解压缩工具链压缩包: armarmarmarm----linuxlinuxlinuxlinux----gccgccgccgcc----3.4.1.tar.bz23.4.1.tar.bz23.4.1.tar.bz23.4.1.tar.bz2 armarmarmarm----linuxlinuxlinuxlinux----gccgccgccgcc----3.3.2.tar.bz23.3.2.tar.bz23.3.2.tar.bz23.3.2.tar.bz2 armarmarmarm----2007q12007q12007q12007q1----10101010----armarmarmarm----nonenonenonenone----linuxlinuxlinuxlinux----gnueabignueabignueabignueabi----i686i686i686i686----pcpcpcpc----linuxlinuxlinuxlinux----gnu.tar.bz2gnu.tar.bz2gnu.tar.bz2gnu.tar.bz2 armarmarmarm----softfloatsoftfloatsoftfloatsoftfloat----linuxlinuxlinuxlinux----gnu.tar.bz2gnu.tar.bz2gnu.tar.bz2gnu.tar.bz2 #cd /usr/loacal/arm#cd /usr/loacal/arm#cd /usr/loacal/arm#cd /usr/loacal/arm/toolchain/toolchain/toolchain/toolchain ####tar xvjf tar xvjf tar xvjf tar xvjf armarmarmarm----linuxlinuxlinuxlinux----gccgccgccgcc----3.4.1.tar.bz23.4.1.tar.bz23.4.1.tar.bz23.4.1.tar.bz2 #tar xvjf #tar xvjf #tar xvjf #tar xvjf armarmarmarm----linuxlinuxlinuxlinux----gccgccgccgcc----3.3.2.tar.bz23.3.2.tar.bz23.3.2.tar.bz23.3.2.tar.bz2 #tar xvjf #tar xvjf #tar xvjf #tar xvjf armarmarmarm----2007q12007q12007q12007q1----10101010----armarmarmarm----nonenonenonenone----linuxlinuxlinuxlinux----gnueabignueabignueabignueabi----i686i686i686i686----pcpcpcpc----linuxlinuxlinuxlinux----gnu.tar.bz2gnu.tar.bz2gnu.tar.bz2gnu.tar.bz2 #tar xvjf #tar xvjf #tar xvjf #tar xvjf armarmarmarm----softfloatsoftfloatsoftfloatsoftfloat----linuxlinuxlinuxlinux----gnu.tar.bz2gnu.tar.bz2gnu.tar.bz2gnu.tar.bz2 设置编译器默认路径: 打开/etc/bashrc 文件,在文件最后添加 export export export export PATH=:$PATH:/usr/local/PATH=:$PATH:/usr/local/PATH=:$PATH:/usr/local/PATH=:$PATH:/usr/local/arm/arm/arm/arm/toolchain/toolchain/toolchain/toolchain/armarmarmarm----2007q12007q12007q12007q1/bin/bin/bin/bin export PATH=:$PATH:/usr/local/arm/export PATH=:$PATH:/usr/local/arm/export PATH=:$PATH:/usr/local/arm/export PATH=:$PATH:/usr/local/arm/toolchain/toolchain/toolchain/toolchain/armarmarmarm----softfloatsoftfloatsoftfloatsoftfloat----linuxlinuxlinuxlinux----gnugnugnugnu/bin/bin/bin/bin export PATH=:$PATH:/usr/local/armexport PATH=:$PATH:/usr/local/armexport PATH=:$PATH:/usr/local/armexport PATH=:$PATH:/usr/local/arm/toolchain/toolchain/toolchain/toolchain/3./3./3./3.4.14.14.14.1/bin/bin/bin/bin 保存退出,需要运行 source bashrc 或者重新启动 linux。通过命令行打入: #arm#arm#arm#arm----linuxlinuxlinuxlinux----gcc gcc gcc gcc ––––vvvv #arm#arm#arm#arm----nonenonenonenone----linuxlinuxlinuxlinux----gnueabignueabignueabignueabi----gcc gcc gcc gcc ––––vvvv ####armarmarmarm----softsoftsoftsoftfloatfloatfloatfloat----linuxlinuxlinuxlinux----gnugnugnugnu----gcc gcc gcc gcc ----vvvv 出现版本信息提示 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示安装成功。 如果需要使用 3.3.2 版本,则需要指定具体的路径。 AT91SAM9260EKAT91SAM9260EKAT91SAM9260EKAT91SAM9260EK 开发板开发板开发板开发板 LinuxLinuxLinuxLinux 移植文档移植文档移植文档移植文档 第 5 页/共 27 页 ©2008 太湖微控电子 www.taihumicro.com 安装安装安装安装编译编译编译编译 AT91BootStrapAT91BootStrapAT91BootStrapAT91BootStrap Bootloader Bootloader Bootloader Bootloader 将 AT91Bootstrap1.8.zip 软件包解压缩到/usr/src/arm 文件夹下面,产生一个新的文 件夹 Bootstrap-v1.8。这个文件下面是 AT91 芯片的第一级 bootloader 源代码。 编译步骤: 1. 进入 Bootstrap-v1.8 目录 2. 进入 board 目录 3. 进入相应的开发板目录 4. 进入相应的存储体目录 5. 编译 假设需要编译 AT91SAM9260-EK 的 bootloader: #cd Bootstrap#cd Bootstrap#cd Bootstrap#cd Bootstrap----v1.8v1.8v1.8v1.8 #cd board#cd board#cd board#cd board #cd at91sam9260ek#cd at91sam9260ek#cd at91sam9260ek#cd at91sam9260ek #cd dataflash#cd dataflash#cd dataflash#cd dataflash 这里需要修改该目录下面的 Makefile 文件 CROSS_COMPILE= armarmarmarm----nonenonenonenone----linuxlinuxlinuxlinux----gnueabignueabignueabignueabi---- #make#make#make#make 编译成功后改目录下会生成 dataflash_at91sam9260ek.bindataflash_at91sam9260ek.bindataflash_at91sam9260ek.bindataflash_at91sam9260ek.bin 文件。 AT91SAM9260EKAT91SAM9260EKAT91SAM9260EKAT91SAM9260EK 开发板开发板开发板开发板 LinuxLinuxLinuxLinux 移植文档移植文档移植文档移植文档 第 6 页/共 27 页 ©2008 太湖微控电子 www.taihumicro.com 安装安装安装安装编译编译编译编译 UbootUbootUbootUboot 及及及及 AT91AT91AT91AT91----UbootUbootUbootUboot 补丁补丁补丁补丁 解压缩 uboot 软件包: #cd /usr/src/arm#cd /usr/src/arm#cd /usr/src/arm#cd /usr/src/arm ####tar xvjf utar xvjf utar xvjf utar xvjf u----bootbootbootboot----1.1.51.1.51.1.51.1.5.tar.bz2.tar.bz2.tar.bz2.tar.bz2 ####cd ucd ucd ucd u----bootbootbootboot----1.1.51.1.51.1.51.1.5 打入补丁: bzcat ubzcat ubzcat ubzcat u----bootbootbootboot----1.1.51.1.51.1.51.1.5_atmel__atmel__atmel__atmel_1.51.51.51.5.diff.bz2 | patch .diff.bz2 | patch .diff.bz2 | patch .diff.bz2 | patch ----p1p1p1p1 这样就获得了一个打入补丁的 uboot。 修改 Makefile 找到 ifeq($(ARCH),arm) CROSS_COMPILE = 改成 ifeq($(ARCH),arm) CROSS_COMPILE = armarmarmarm----softsoftsoftsoftfloatfloatfloatfloat----linuxlinuxlinuxlinux----gnugnugnugnu make distcleanmake distcleanmake distcleanmake distclean make at91sam9260ek_config make at91sam9260ek_config make at91sam9260ek_config make at91sam9260ek_config makemakemakemake 编译成功后,会在 u-boot-1.1.5 主目录下生成 uuuu----boot.binboot.binboot.binboot.bin 文件 AT91SAM9260EKAT91SAM9260EKAT91SAM9260EKAT91SAM9260EK 开发板开发板开发板开发板 LinuxLinuxLinuxLinux 移植文档移植文档移植文档移植文档 第 7 页/共 27 页 ©2008 太湖微控电子 www.taihumicro.com 安装安装安装安装编译编译编译编译 Linux2.6.22Linux2.6.22Linux2.6.22Linux2.6.22 及及及及 AT91AT91AT91AT91----LinuxLinuxLinuxLinux 补丁补丁补丁补丁 解压缩 linux-2.6.22 压缩文件: ####tar xvjf linuxtar xvjf linuxtar xvjf linuxtar xvjf linux----2.6.2.6.2.6.2.6.22222222.tar.bz2.tar.bz2.tar.bz2.tar.bz2 进入 linux-2.6.22 文件夹: ####cd linuxcd linuxcd linuxcd linux----2.6.2.6.2.6.2.6.22222222 打入两个补丁: ####zzzzcat 2.6.cat 2.6.cat 2.6.cat 2.6.22222222----at91.patch.gz | patch at91.patch.gz | patch at91.patch.gz | patch at91.patch.gz | patch ----p1p1p1p1 ####zcat linuxzcat linuxzcat linuxzcat linux----2.6.2.6.2.6.2.6.22222222----at91at91at91at91----exp.diff.gz | patch exp.diff.gz | patch exp.diff.gz | patch exp.diff.gz | patch ----p1p1p1p1 这样就获得了一个全新的 linux-2.6.22 内核,该内核打入了支持 AT91 ARM9 的一些补丁。 修改 Makefile: linux-2.6.22 主目录下有个 Makefile 文件,打开,找到 185 行左右,修改 ARCH ?= armarmarmarm CROSS_COMPILE ?= armarmarmarm----nonenonenonenone----linuxlinuxlinuxlinux----gnueagnueagnueagnueabibibibi---- 保存退出。 配置内核: 由于内核中已经有对于 AT91 ARM9 的一些默认配置文件,所以可以直接使用命令,如 对 at91sam9260ek 设置: ####make at91sam9260ek_defconfigmake at91sam9260ek_defconfigmake at91sam9260ek_defconfigmake at91sam9260ek_defconfig 这样就完成了 at91sam9260ek 的默认设置。 如果需要自定义设置,使用命令 make menuconfigmake menuconfigmake menuconfigmake menuconfig 或者 make xconfigmake xconfigmake xconfigmake xconfig 进行设置。 最后使用 ####makemakemakemake uImage uImage uImage uImage 编译内核 注:如果使用 make uImage 则能生成由 uboot 引导的内核文件,需要用到 uboot/tools/mkimage,可以在/etc/bashrc 文件末加入一下语句: export PATH:=$PATH:/usr/src/arm/uexport PATH:=$PATH:/usr/src/arm/uexport PATH:=$PATH:/usr/src/arm/uexport PATH:=$PATH:/usr/src/arm/u----bootbootbootboot----1.1.5/tools1.1.5/tools1.1.5/tools1.1.5/tools 这样就能直接引用 mkimage 命令。 最后会在 linux-2.6.22/arch/arm/boot 目录下生成 uImageuImageuImageuImage 等几个内核映像文件。 AT91SAM9260EKAT91SAM9260EKAT91SAM9260EKAT91SAM9260EK 开发板开发板开发板开发板 LinuxLinuxLinuxLinux 移植文档移植文档移植文档移植文档 第 8 页/共 27 页 ©2008 太湖微控电子 www.taihumicro.com 安装下载工具安装下载工具安装下载工具安装下载工具 AT91ISPAT91ISPAT91ISPAT91ISP 及烧写文件及烧写文件及烧写文件及烧写文件 首先卸载掉之前安装的低版本的 at91-isp 软件。全新安装 at91at91at91at91----isp v1.11isp v1.11isp v1.11isp v1.11.exe.exe.exe.exe。 去掉开发板 dataflash 的 CS 片选的跳线帽(AT91SAM9260-EK 上面在 DATAFLASH 边上), 连接开发板的 5V 电源,打开电源开关,让芯片内部固化的 boot 运行,用 usb 线连接开发板 和 PC,PC 会提示找到新硬件并要求安装驱动,让 PC自动查找驱动并安装。 烧写烧写烧写烧写 dataflash_at91bootdataflash_at91bootdataflash_at91bootdataflash_at91boot 去掉开发板 dataflash 的 CS 片选的跳线帽(AT91SAM9260-EK 上面在 DATAFLASH 边上), 连接开发板的 5V 电源,打开电源开关,让芯片内部固化的 boot 运行,用 usb 线连接开发板 和 PC。 运行 SAM-BA,在弹出的对话框中选择如下: 1.点击“Connect”,弹出 SAM-BA 下载界面。 2.将刚才取下的跳线帽装上。 3.在弹出的界面中,选择 DataFlash AT45DB/DCB 标签,选中 Scrips 处的下拉列表中的 “Enable Dataflash (SPI0 CS1)”这个选项,点击“Execute”按钮,执行 dataflash 初始 化。 4.选中 Scrips 处的下拉列表中的“Send Boot File”这个选项,点击“Execute”按钮, 在弹出的窗口中去选择之前生成的 dataflash_adataflash_adataflash_adataflash_at91sam9260ek.bint91sam9260ek.bint91sam9260ek.bint91sam9260ek.bin 这个文件。 5.点击“打开”,稍等片刻就将这个文件下载到 dataflash 中了。 烧写烧写烧写烧写 UbootUbootUbootUboot 1. 在 Send File Name 处打开先前生成的文件 uuuu----boot.binboot.binboot.binboot.bin,Address 处填写 0x8000,表示将 u-boot 烧写到 dataflash 的 0x8000 处。 2. 点击“Send File”按钮,等待提示成功烧写。 AT91SAM9260EKAT91SAM9260EKAT91SAM9260EKAT91SAM9260EK 开发板开发板开发板开发板 LinuxLinuxLinuxLinux 移植文档移植文档移植文档移植文档 第 9 页/共 27 页 ©2008 太湖微控电子 www.taihumicro.com 烧写烧写烧写烧写 Linux KernelLinux KernelLinux KernelLinux Kernel 1. 在 Send File Name 处打开先前生成的文件 uImageuImageuImageuImage,Address 处填写 0x30000,表示将 u-boot 烧写到 dataflash 的 0x30000 处。 2. 点击“Send File”按钮,等待提示成功烧写。 烧写根文件系统烧写根文件系统烧写根文件系统烧写根文件系统 1. 点击“NandFlash”标签页。 2. 选中 Scrips 处的下拉列表中的“Enable NandFlash”这个选项,点击“Execute”按钮。 3. 选中 Scrips 处的下拉列表中的“Erase All”这个选项,点击“Execute”按钮,等待 NandFlash 擦除成功。 4. 在 Send File Name 处打开文件 armv5larmv5larmv5larmv5l----uclibcuclibcuclibcuclibc----sam9260sam9260sam9260sam9260,Address 处填写 0x0,表示将根 文件系统烧写到 nandflash 的 0x0 处。 5. 点击“Send File”按钮,等待提示成功烧写。 设置超级终端设置超级终端设置超级终端设置超级终端 1. 开始->所有程序->附件->通信->超级终端->新建超级终端。 2. 配置:波特率=115200 数据位=8 奇偶校验=无 停止位=1 数据流控制=无。 启动开发板启动开发板启动开发板启动开发板,,,,设置设置设置设置 UbootUbootUbootUboot 参数参数参数参数 1. 用交叉串口线连接开发板 DBGU 口和 PC 串口。 2. 打开开发板电源,串口出现以下提示: U-Boot 1.1.5 (Apr 27 2008 - 00:15:48) DRAM: 64 MB NAND: NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 ( NAND 128MiB 3,3V 8-bit) NAND: Pagesize: 2048, Blocksize: 128K, OOBsize: 64 128 MiB DataFlash:AT45DB321 Nb pages: 8192 Page Size: 528 Size= 4325376 bytes Logical address: 0xD0000000 Area 0: D0000000 to D0003FFF (RO) Area 1: D0004000 to D0007FFF Area 2: D0008000 to D0037FFF (RO) Area 3: D0038000 to D041FFFF In: serial AT91SAM9260EKAT91SAM9260EKAT91SAM9260EKAT91SAM9260EK 开发板开发板开发板开发板 LinuxLinuxLinuxLinux 移植文档移植文档移植文档移植文档 第 10 页/共 27 页 ©2008 太湖微控电子 www.taihumicro.com Out: serial Err: serial DM9161A PHY Detected No link MAC: error during RMII initialization Hit any key to stop autoboot: 0 出现上一行的提示倒数后,按空格键,出现命令行提示符: U-Boot> 1.设置 MAC 地址: UUUU----Boot>Boot>Boot>Boot>setenv ethaddr 3e:36:65:ba:6f:be setenv ethaddr 3e:36:65:ba:6f:be setenv ethaddr 3e:36:65:ba:6f:be setenv ethaddr 3e:36:65:ba:6f:be 2.设置 IP地址: UUUU----Boot>Boot>Boot>Boot>setenv ipaddr setenv ipaddr setenv ipaddr setenv ipaddr 192.168.0.2192.168.0.2192.168.0.2192.168.0.2 3.设置拷贝 kernel 环境变量: UUUU----Boot>Boot>Boot>Boot>setenvsetenvsetenvsetenv uImageuImageuImageuImage cp.b d0030000 21500000 15ffb0 cp.b d0030000 21500000 15ffb0 cp.b d0030000 21500000 15ffb0 cp.b d0030000 21500000 15ffb0 该语句表示将位于 0xd0030000 处长度为 0x15ffb0 的数据段拷贝到 0x21500000 其中 0xd0030000为 uImage在整个系统中所处的地址,上面讲到将uImage下载到 dataflash 的 0x30000 位置上,而 0xd0000000 是该 dataflash 在系统中的基地址。0x21500000 是位于 sdram 中,表示 uImage 要被拷贝到 sdram 中运行。最后的文件长度取决于 uImage 文件的长 度。 4.设置启动命令: UUUU----Boot>Boot>Boot>Boot>setenvsetenvsetenvsetenv run uImage run uImage run uImage run uImage\\\\;bootm 21500000;bootm 21500000;bootm 21500000;bootm 21500000 5.设置 linux 启动命令行: UUUU----Boot>Boot>Boot>Boot>setenvsetenvsetenvsetenv bootargs mem=64M bootargs mem=64M bootargs mem=64M bootargs mem=64M console=ttyS0,115200 root=/dev/mtdblock0console=ttyS0,115200 root=/dev/mtdblock0console=ttyS0,115200 root=/dev/mtdblock0console=ttyS0,115200 root=/dev/mtdblock0 6. 保存环境变量 UUUU----Boot>Boot>Boot>Boot>saveenvsaveenvsaveenvsaveenv 重新启动开发板重新启动开发板重新启动开发板重新启动开发板,,,,进入进入进入进入 Linux ShellLinux ShellLinux ShellLinux Shell 出现 login: root 输入 root,回车,即能进入 Linux 命令行。 AT91SAM9260EKAT91SAM9260EKAT91SAM9260EKAT91SAM9260EK 开发板开发板开发板开发板 LinuxLinuxLinuxLinux 移植文档移植文档移植文档移植文档 第 11 页/共 27 页 ©2008 太湖微控电子 www.taihumicro.com NFSNFSNFSNFS 根文件系统的建立根文件系统的建立根文件系统的建立根文件系统的建立 如果用 cramfs 根文件系统,在调试或移植应用程序的时候,需要把编译好的结果如可 执行文件及一些相关的库文件放到根文件系统目录里面,然后用 mkcramfs 工具将文件目录 转换成 cramfs 格式的映像文件,再通过烧写的方式烧到目标板上去看执行结果,如此反复, 非常麻烦。 NFS 根文件系统解决了这个问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 ,在 PC端编译好执行文件直接拷贝至相应的文件夹内, 让目标板上的 Linux 内核直接从 PC上建立的根文件系统文件夹启动。 1 1 1 1....网络配置工作网络配置工作网络配置工作网络配置工作 设置 windows 下的网络参数,如 ip地址为 192.168.0.5 子网掩码 255.255.255.0。 设置虚拟机的网络,设置虚拟机网络接入方式为桥接,表示虚拟机直接接入网络,和 windows 网络地位同等,相当于都接在一个 hub 上,所以在虚拟机里运行的 redhat 的 ip 地 址和 windows 里的 ip 地址不能重复,redhat ip 地址为 192.168.0.10,子网掩码 255.255.255.0。 关闭虚拟机中 redhat 的防火墙功能。 设置目标板 ip,在 linux shell 中,键入命令 ifconfig eth0 192.168.0.2。 这个时候如果 Windows,redhat,目标板之间能互相 ping 通,则说明网络配置成功。 2 2 2 2....RedhatRedhatRedhatRedhat 安装安装安装安装 NFSNFSNFSNFS 服务服务服务服务 a)确认是否安装了 NFS 服务。从 redhat 开始菜单查看系统设置->服务器设置下是否有 NFS 服务器。如果没有,则插入 Linux 安装盘重新添加该软件包。 如果安装好了 NFS 服务,我们可以通过配置文件/etc/exports 来允许目标板挂载你的 目录。我的设置文件/etc/exports 的内容是这样的: /home/target 192.168.0.2(rw,no_root_squash) 该句意思是:任何 IP 地址 192.168.0.2 能挂载/home/target 目录,并且如果是以 root 身 份登录的话,那么他对该目录的权限也是 root。 /home/target 就 是 NFS 根 文 件 系 统 的 一 级 目 录 , 里 面 的 包 含 有 bin,etc,usr,mnt,dev,var 等等,包含有 linux 启动运行所需要的一切。这里我们将光盘中 的 my_rootfs.tar.gz 文件夹拷贝到这里并解压缩。 b) 安装 dhcpd 服务包软件,方法同安装 NFS 服务。 c) 启动 nfs,启动 dhcpd,portmap service nfs restart service protmap restart AT91SAM9260EKAT91SAM9260EKAT91SAM9260EKAT91SAM9260EK 开发板开发板开发板开发板 LinuxLinuxLinuxLinux 移植文档移植文档移植文档移植文档 第 12 页/共 27 页 ©2008 太湖微控电子 www.taihumicro.com service dhcpd restart f) 测试服务器配置是否成功: mount 192.168.0.10:/home/target /mnt ls /mnt 3333. . . . 配置配置配置配置 linuxlinuxlinuxlinux 内核内核内核内核 进入打过 at91 补丁的 linux2.6 内核源代码树的根目录 make menuconfig 进入内核配置程序。 1. 选中 Networking ---> Networking options ---> [*] IP: kernel level autoconfiguration [*] IP: DHCP support [*] IP: BOOTP support [*] IP: RARP support 2. Device Drivers ---> Block devices ---> <*> Network block device support 3. 选中 Device Drivers ---> Ethernet (10 or 100Mbit) ---> <*> Atmel MACB support [*] Atmel MACB TX buffers in internal SRAM 4. 选中 File systems ---> Network File Systems ---> <*> NFS file system support [*] Provide NFSv3 client support [*] Provide client support for the NFSv3 ACL protocol extension [*] Provide NFSv4 client support (EXPERIMENTAL) [*] Root file system on NFS 重新编译 make umake umake umake uImageImageImageImage 将编译好的结果烧到板子上,修改下 u-boot 里面的启动参数 根据 uImage 文件大小修改 setenv uImage cp.b d0030000 21500000 $(uImageSize) //$(uImageSize)即为 uImage 的大小。 AT91SAM9260EKAT91SAM9260EKAT91SAM9260EKAT91SAM9260EK 开发板开发板开发板开发板 LinuxLinuxLinuxLinux 移植文档移植文档移植文档移植文档 第 13 页/共 27 页 ©2008 太湖微控电子 www.taihumicro.com 4444....配置配置配置配置 uuuu----bootbootbootboot 启动参数启动参数启动参数启动参数 UUUU----Boot>Boot>Boot>Boot>setenv bootargs mem=64M console=ttyS0 115200 root=/dev/nfs setenv bootargs mem=64M console=ttyS0 115200 root=/dev/nfs setenv bootargs mem=64M console=ttyS0 115200 root=/dev/nfs setenv bootargs mem=64M console=ttyS0 115200 root=/dev/nfs nfsroot=192.168.0.10:/home/target nfsroot=192.168.0.10:/home/target nfsroot=192.168.0.10:/home/target nfsroot=192.168.0.10:/home/target ip=192.16ip=192.16ip=192.16ip=192.168.0.2:192.168.0.10:192.168.0.108.0.2:192.168.0.10:192.168.0.108.0.2:192.168.0.10:192.168.0.108.0.2:192.168.0.10:192.168.0.10::::255.255.255.0::eth0:off255.255.255.0::eth0:off255.255.255.0::eth0:off255.255.255.0::eth0:off 然后保存参数: UUUU----Boot>Boot>Boot>Boot>saveenvsaveenvsaveenvsaveenv 其中nfsroot=192.168.0.10:/home/target表示nfs将从192.168.0.10:/home/target文件 夹内启动根文件系统 ip=192.168.0.2:192.168.0.10:192.168.0.10:255.
本文档为【9260_linux】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_677317
暂无简介~
格式:pdf
大小:374KB
软件:PDF阅读器
页数:0
分类:互联网
上传时间:2010-09-25
浏览量:47