《构建嵌入式linux开发平台.ppt》由会员分享,可在线阅读,更多相关《构建嵌入式linux开发平台.ppt(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、构建嵌入式构建嵌入式Linux开发平台开发平台一、基础知识一、基础知识1、交叉编译、交叉编译交叉编译就是在一个平台上生成另一个平台上的可执行代码。平台有两层含义:处理器的体系结构和所运行的操作系统。n n两个基本概念两个基本概念n n宿主机宿主机(Host)编辑和编译程序的平台,一般是基于X86的PC机,通常也称为主机。n n目标机目标机(Target)用户开发的系统,通常都是非X86平台。Host编译得到的可执行代码Target上运行。n n交叉编译的模式交叉编译的模式n nJAVA模式n nGCC模式这里只讲述GCC模式。在宿主机上交叉编译得到可执行文件,通过调试器下载到目标系统中调试运行
2、,这种调试模型如图1所示。图1 GCC模式交叉编译调试模型2、宿主机要求、宿主机要求通常都是基于X86的PC机和Linux操作系统。鉴于国内Linux的使用状况和兼容性,推荐安装RedHat Linux 9.0。请选择完全安装(大约5GB),硬盘空间建议10GB以上。二、构建嵌入式二、构建嵌入式LinuxLinux开发环境开发环境1、安装交叉编译器、安装交叉编译器软件包:软件包:(1)(1)在在/usr/local/usr/local/目录下建立目录目录下建立目录armarm,将软,将软件包解压至该目录即可(可能需要件包解压至该目录即可(可能需要rootroot权限)。权限)。#mkdir/u
3、sr/local/arm#mkdir/usr/local/arm#tar xjvf cross_2.95.3.tar.bz2 C/usr/local/arm#tar xjvf cross_2.95.3.tar.bz2 C/usr/local/arm交叉编译器安装在目录下。交叉编译器安装在目录下。(2)为Shell增加交叉编译器路径:(a)使用export命令增加环境变量:(b)(b)修改修改/etc/profile 文件:#vi/etc/profile#vi/etc/profile增加路径设置:增加路径设置:pathmunge。2、安装、安装ARM Linux内核内核软件包:linux-2.4
4、.18-rmk7-pxa1-mz5-zhiyuan.tar.bz2(1)建立/zylinux目录,将ARM Linux源代码解压至该目录下。#mkdir/zylinux#tar xjvf linux-2.4.18-rmk7-pxa1-mz5-zhiyuan.tar.bz2 C/zylinux(2)编译ARM Linux内核。进入主界面后,装载默认配置文件ZY2410 x,然后建立依赖关系,最后编译即可。#cd/zylinux/kernel#make distclean (如果不是第一次编译)#make menuconfig#make dep#make zImage图2 Linux内核配置主界面
5、图3 装载默认配置文件2、设置、设置NFS服务器服务器(1)设置服务器网卡,包括IP地址、掩码地址等,可参考Linux教材。图4 主机网卡设置(2)关闭防火墙从Main Menu,选择System Settings Security Level,进入安全级别设置界面,将其安全级别设置为No Firewall。图5 关闭防火墙(2)去掉iptables服务从Main Menu,选择System Settings Server SettingsServices,在弹出的界面中,将iptables、ip6tables和ipchains前面的“”去掉。图6 去掉iptables服务(3)启动NFS服务
6、从Linux的Main Menu,选择System SettingsServer SettingsNFS Server,添加NFS路径。图7 启动NFS服务测试NFS服务,可以将主机上的共享目录mount到自己另外一个目录下,如:#mount 192.168.41.42:/zylinux/root/mnt#mount 192.168.41.42:/zylinux/root/mnt然后查看然后查看/mnt/mnt目录下是否有目录下是否有/zylinux/root/zylinux/root目录下目录下的文件,如果有的话,则的文件,如果有的话,则NFSNFS服务启动成功。服务启动成功。提示:如果提示
7、:如果NFSNFS启动不成功,在启动不成功,在/etc/rc.local/etc/rc.local文件末尾添加命令,让每次开机即文件末尾添加命令,让每次开机即启动启动NFSNFS服务。服务。service portmap startservice portmap startservice nfs startservice nfs start宿主机嵌入式开发环境已经建立完毕:n n交叉编译器路径:n n嵌入式Linux安装路径:/zylinux/kerneln nNFS根文件系统所在路径:/zylinux/rootn n宿主机IP地址:二、构建嵌入式二、构建嵌入式Linux目标平台目标平台1、相
8、关文件、相关文件 ftp root目录下包含bin、boot、etc和root等文件夹以及zlg_ftp.ini、modules.tar等文件,所有文件都要下载到NAND FLASH中,在整个Linux系统中为/usr目录。(1)(1)文件概览文件概览文件文件夹夹包含文件包含文件说说明明 zlg_ftp.inizlg_ftp.iniftpftp下下载设载设置置modules.tarmodules.tar一些模一些模块驱动块驱动binbindm9000.kodm9000.ko网卡芯片网卡芯片DM9000EDM9000E驱动驱动程序程序bootbootinit.imginit.imgRAMDISK
9、RAMDISK映象文件映象文件param.binparam.binLinuxLinux启启动动参数参数qtopiaqtopiaQtQt和和QtopiaQtopia映象映象zImagezImageLinuxLinux内核映象内核映象zlg_boot.inizlg_boot.iniZLG/BOOTZLG/BOOT设设置置etcetcrcrcLinuxLinux启启动动脚本脚本(/usr/etc/rc)(/usr/etc/rc)rootroot/root/root链链接的目接的目标标目目录录(2)zlg_ftp.inizlg_ftp.ini文件决定使用ftp对系统进行更新下载时实验箱的IP地址、网关
10、、掩码地址和MAC地址的设定。GateWayGateWayIPMarkIPMarkMacID=0 x00,0 x14,0 x97,0 x0f,0 x00,0 x41MacID=0 x00,0 x14,0 x97,0 x0f,0 x00,0 x41(3)zlg_boot.inizlg_boot.inizlg_boot.ini决定着决定着ZLG/BOOTZLG/BOOT下载模式选择菜下载模式选择菜单名称和单名称和ZLG/BOOTZLG/BOOT加载映象文件的顺序和一些加载映象文件的顺序和一些其它设置。其它设置。#run Linux for MagicARM2410#run Linux for Ma
11、gicARM2410load 0 x30008000 a:bootzImageload 0 x30008000 a:bootzImageload 0 x30000100 a:bootparam.binload 0 x30000100 a:bootparam.binload 0 x33C00000 a:bootinit.imgload 0 x33C00000 a:bootinit.imgset R0=0 x00set R0=0 x00#mach type,s3c2410 is 193#mach type,s3c2410 is 193set R1=0 xC1set R1=0 xC1set R2=0
12、 x30000100set R2=0 x30000100set PC=0 x30008000set PC=0 x30008000runrun2、下载、下载ZLG/BOOT使用使用WigglerWiggler将将ZLG/BOOTZLG/BOOT下载到下载到SST39VF1601SST39VF1601中。中。需要需要ADS1.2ADS1.2软件、软件、WR_NORFLASH.mcpWR_NORFLASH.mcp工程、工程、H-JTAGH-JTAG软件和软件和WigglerWiggler下载器。下载器。运行到程序的while(1)处,蜂鸣器鸣叫一声即可。3、认识、认识ZLG/BOOTn nZLG/B
13、OOTZLG/BOOT分启动引导模式和下载模式。分启动引导模式和下载模式。n n串口终端设置:串口终端设置:115200-8-N-1115200-8-N-1,无流控制,无流控制ZLG/BOOTZLG/BOOT启动界面:启动界面:ZLG/BOOT V1.0 for MagicARM2410 ZLG/BOOT V1.0 for MagicARM2410 Guangzhou ZHIYUAN Electronics Co.,LTD.Guangzhou ZHIYUAN Electronics Co.,LTD.http:/http:/Press Space key to enter Boot Menu.P
14、ress Space key to enter Boot Menu.按空格,将出现按空格,将出现ZLG/BOOT ZLG/BOOT 的选择菜单:的选择菜单:ZLG/BOOT V1.0 for MagicARM2410ZLG/BOOT V1.0 for MagicARM2410 Guangzhou ZHIYUAN Electronics Co.,LTD.Guangzhou ZHIYUAN Electronics Co.,LTD.http:/http:/Chiose Function:Chiose Function:1:run ZLG/FTP-S V1.0(user ip)1:run ZLG/FT
15、P-S V1.0(user ip)2:run ZLG/FTP-S V1.0(ip=192.168.15.115)2:run ZLG/FTP-S V1.0(ip=192.168.15.115)F:Format DiskF:Format Disk default choise is 3 default choise is 3 由于还没有下载系统映象文件以及配置文件,只有3个选项:n n1 1使用使用zlg_ftp.inizlg_ftp.ini内的用户内的用户IPIP进行进行ftpftp连接;连接;n n2 2使用默认使用默认IP(192.168.15.115)IP(192.168.15.115)进
16、行进行ftpftp连接;连接;n nF F格式化格式化NAND FLASHNAND FLASH,里面所有数据将丢,里面所有数据将丢失。失。4、下载、下载Linux内核和文件系统内核和文件系统(1)PC(1)PC网络设置:为网络设置:为PCPC添加和实验箱默认添加和实验箱默认IP(192.168.15.115)IP(192.168.15.115)在同一网段内的在同一网段内的IPIP地址。地址。打开打开“本地连接本地连接”的属性,设置的属性,设置“Internet“Internet协协议议(TCP/IP)”(TCP/IP)”的属性,在界面点击的属性,在界面点击“高级高级(V)”(V)”按按钮,打开
17、钮,打开“高级高级TCP/IPTCP/IP设置设置”界面。界面。为PC添加和实验箱默认IP(192.168.15.115)在 同一网段内的IP地址,如。图图图图8 8 为为为为PCPC增加增加增加增加IPIP地址地址地址地址(2)(2)将网线和实验箱以太网口相连,启动实验将网线和实验箱以太网口相连,启动实验箱,按空格进入箱,按空格进入ZLG/BOOTZLG/BOOT选择界面,选择选择界面,选择2 2,使用默认进行使用默认进行ftpftp连接。连接。运行运行FlashFXPFlashFXP软件,选择软件,选择“FTP”-“FTP”-“快速连快速连接接(Q)”(Q)”或者按或者按F8F8,在快速连
18、接界面的,在快速连接界面的“服务器或服务器或URL”URL”栏输入栏输入IPIP地址,设置端口号为地址,设置端口号为2121。然后点击。然后点击“连接连接”按钮即可。按钮即可。图图9 设置快速连接设置快速连接(3)连接成功后,将光盘ftp root目录下的所有文件下载到实验箱。图图10 下载映象文件下载映象文件4、启动、启动ARM Linux系统系统(1)启动实验箱,无需按键,即可直接启动ARM Linux操作系统,在串口终端将会得到如图11所示的Linux文本界面和液晶平上的Qtopia界面。图11 启动ARM Linux(2)(2)如果启动实验箱后按空格,进入如果启动实验箱后按空格,进入Z
19、LG/BOOTZLG/BOOT选择界面:选择界面:ZLG/BOOT V1.0 for MagicARM2410ZLG/BOOT V1.0 for MagicARM2410 Guangzhou ZHIYUAN Electronics Co.,LTD.Guangzhou ZHIYUAN Electronics Co.,LTD.http:/http:/Chiose Function:Chiose Function:1:run ZLG/FTP-S V1.0(user ip)1:run ZLG/FTP-S V1.0(user ip)2:run ZLG/FTP-S V1.0(ip=192.168.15.115)2:run ZLG/FTP-S V1.0(ip=192.168.15.115)3:run Linux for MagicARM24103:run Linux for MagicARM2410 F:Format DiskF:Format Disk default choise is 3 default choise is 3 多了选项3:run Linux for MagicARM2410run Linux for MagicARM2410。选择3或者按回车键,亦可进入ARM Linux系统。至此,嵌入式Linux开发环境和目标系统已经全部建立完毕。
限制150内