地址:中国·深圳经济特区福田区中康路32号弘亿大厦电话:0755-88886666传真:0755-88889999邮政编码:518000网址:http//开发环境构建亿道电子章欣目录2.1嵌入式系统开发模式2.1.1嵌入式系统开发概述2.1.2嵌入式Linux软件开发流程2.2嵌入式Linux开发环境构建2.2.1Linux操作系统的安装2.2.2交叉编译环境的构建2.2.3Minicom的配置与使用2.2.4网络文件系统(FTP、NFS)以及TFTP的配置2.2.5Bootloader和Linux的内核编译与下载嵌入式系统的开发模式PC机编写程序编译程序运行程序嵌入式开发PC机编写程序编译程序嵌入式平台运行程序嵌入式软件开发流程工程建立和配置配置处理器类型配置设备编辑源文件汇编源程序C/C++源程序编译和链接链接脚本文件程序调试撰写调试记录命令脚本文件程序的固化程序调试过程PC机与目标板之间的连接USBcableJTAGcable硬件调试器电源线硬件跟踪流程5V电源跟踪单元目标平台软件控制硬件跟踪器目录2.1嵌入式系统开发模式2.1.1嵌入式系统开发概述2.1.2嵌入式Linux软件开发流程2.2嵌入式Linux开发环境构建2.2.1Linux操作系统的安装2.2.2交叉编译环境的构建2.2.3Minicom的配置与使用2.2.4网络文件系统(FTP、NFS)以及TFTP的配置2.2.5Bootloader和Linux的内核编译与下载VMware虚拟机的安装新建虚拟机VMware虚拟机使用要点VMware虚拟机的安装选择安装LinuxVMware虚拟机的安装选择虚拟机的名字选择虚拟机文件存放的位置VMware虚拟机的安装使用桥接的方式可以直接访问外部网络VMware虚拟机的安装修改虚拟机占用空间的大小VMware虚拟机的安装虚拟机的具体使用信息设定虚拟机内存大小一般设为512MB可以对串口和并口进行添加VMware虚拟机的安装设定并口使用主机的物理端口选择物理并口LPT1启动时联接并口设备VMware虚拟机的安装选择串口选择物理串口COM1启动时联接串口设备Linux操作系统安装RedHat9.0安装要点提示输入ENTER开始安装Linux操作系统安装使用工作站方式Linux操作系统安装在虚拟机下可以使用自动分区方式;在双系统下只能使用手动分区方式为前面分配的空间可通过新建的方式新建分区先添加/boot启动分区建立根目录分区建立交换分区可以加快运行速度Linux操作系统安装在这里可以选择GRUB、LILO中的一个启动引导器进行引导若安装双系统可选择优先启动的操作系统Linux操作系统安装如果有防火墙则bootp协议无法进行握手Linux操作系统安装我们一般采用完全安装的方式嵌入式Linux系统编译过程运行在PC机编写程序通过gcc编译运行程序运行在目标平台编写程序通过arm-linux-gcc编译运行程序BSP包内容介绍存放操作系统启动代码存放平台所有硬件芯片资料存放EELiod平台使用手册存放Linux的文件系统存放Linux已做好的镜像存放烧写Bootloader的Jflash工具存放LINUX的内核程序存放bootp、tftp协议配置文件存放bootp、tftp的安装包存放arm-linux-gcc交叉编译工具链配置交叉工具链将/EELiod/Toolchain中的xscalev1_010001.tar.gz拷贝到/opt目录下cp-rxscalev1_010001.tar.gz/opt解压/opt目录下的xscalev1_010001.tar.gztarxvfzxscalev1_010001.tar.gz使用vi修改/root下的.bash_profile,添加下行:PATH=$PATH:/opt/arm-linux/bin保存退出后,使其生效source.bash_profile检查arm-linux-gcc工具链是否已经配置成功whicharm-linux-gcc安装rpm包、网络配置将/EELiod/rpm下的bootp-2.4.3-7.i386.rpm、tftp-server-0.17-9.i386.rpm分别进行安装rpm-ivhbootp-2.4.3-7.i386.rpmrpm-ivhtftp-server-0.17-9.i386.rpm对/EELiod/Net_Config目录下的文件进行配置将bootp、tftp两个文件拷贝到/etc/xinetd.d目录下将bootptab文件拷贝到/etc目录下cpbootptftp/etc/xinetd.dcpbootptab/etc启动服务启用tftp、bootp协议点击开始即可生效服务配置完后可以看到/tftpboot目录Bootp协议BOOTP用于客户机从服务器得到自己的IP地址、服务器的IP地址、启动映象文件名、网关IP等目标机由BootLoader启动BOOTP,以广播形式用IP地址0.0.0.0向网络中发出IP地址查询请求请求帧中包含了目标机的网卡MAC地址PC上的BOOTP服务器接收到的请求帧后与bootptab中的MAC记录进行匹配若不匹配,则不响应请求若匹配,将FOUND帧发回目标板(FOUND帧中包含目标板IP地址、网关IP地址、目标板MAC地址、硬件类型)根据FOUND帧中信息通过TFTP服务器下载启动镜像文件网络配置点击此处进行网络配置双击网络就可以配置IP地址,需要与目标机的地址在同一网段设置IP地址、子网掩码、默认网关地址后,确定-激活-重启LinuxMinicom的配置与使用ftp服务配置文件传输协议ftp利用以太网进行传输由于传输速度快故上传较大的文件采用ftp来实现将上传的文件存于/var/ftp/pubPC机终端输入ftp192.168.0.96目标板与先前设定的IP地址保持一致输入用户名:anonymous密码:空在ftp下输入cd/var/ftp/pub输入gethello使用get命令进行文件下载必须跳转到/var/ftp/pub目录下nfs服务配置nfs可将PC机上文件系统作为目标机的资源弥补目标机存储空间的不足PC机配置在/mnt下创建nfs目录mkdir/mnt/nfs修改/etc/exports文件/mnt/nfs*(rw,no_root_squash,no_all_squash)将主机/mnt/nfs目录设置为所有用户都可以访问重启PC机nfs服务servicenfsrestart目标板上端口映射在目标板上新建nfs目录mkdir/mnt/nfs使用portmap进行端口映射目标板上挂载PC机的/mnt/nfs文件夹mount-tnfs192.168.0.96:/mnt/nfs/mnt/nfsmount-tnfs[宿主机ip]:[宿主机文件夹][目标板文件夹]Bootloader下载解压/EELiod/Bootloader/Boot-XSBase270_010005.tar.gztarxvfzBoot-XSBase270_010005.tar.gz解压/EELiod/Jflash/Jflash-XSBase270_010003.tartarxvfzJflash-XSBase270_010003.tar将光盘内容存于/EELiod中将/EELiod/Bootloader/Boot-XSBase270中的boot文件拷贝到/EELiod/Jflash/Jflash-XSBase270下cpboot/EELiod/Jflash/Jflash-XSBase270在/EELiod/Jflash/Jflash-XSBase270目录下输入./jflashmmboot即可进行烧写JTAG线必须连接好Linux内核编译首先进入含本平台驱动的内核目录/EELiod/Kernel/linux-2.4.21-51Board_EDR进入菜单选项进行配置makemenuconfig构建关系依赖链makedep构建内核makezImage编译完成后zImage在/arch/arm/boot可找到修改1:将XSbase270-DVK改为XSbase270-EDR修改2:GUI支持将Tinyx改成qtopia文件系统编译首先进入含本平台驱动的内核目录/EELiod/Filesystem/eeliod_2.4_qt_rootfs进入/EELiod/Filesystem/rootfs270将mkfs.jffs2文件拷贝到该目录中cp/EELiod/Filesystem/mkfs.jffs2./rootfs270先将eeliod_2.4_qt_rootfs.tar.gz进行解压,并将解压后的文件夹改名为rootfs270执行mkrootfs.sh./mkrootfs.sh生成jffs2文件系统格式的镜像文件mkrootfs.sh文件解析mkfs.jffs2-orootfs270.img-e0x40000-rrootfs270-p-l打开mkrootfs.sh可以看到vimkrootfs.sh使用jffs2工具进行生成默认为标准输出文件rootfs270.img为最终生成的文件名以块的大小256KB进行擦除从rootfs270目录构建文件系统以块字节进行输出小端方式Linux内核的下载将定制好的内核拷贝到/tftpboot目录下cd/EELiod/Kernel/linux-2.4.21-51Board_EDRcpzImage/tftpboot打开minicom、配置好串口minicom-s进入Bootloader菜单按a进行内核、文件系统改名必须与/tftpboot中内核、文件系统名保持一致在Bootloader菜单中操作按3、4、5、6分别进行内核和文件系统的下载3、4为下载内核5、6为下载文件系统Bootloader操作命令行模式可使用命令进行操作显示当前配置检查bootp是否握手下载内核镜像到SDRAM,再从SDRAM烧写到FLASH中下载文件系统到SDRAM再从SDRAM烧写到FLASH启动系统、重启系统设置内核文件名、文件系统文件名必须与/tftpboot中一致设置启动延迟时间