[信息与通信]基于linux的DTU开发环境的搭建

上传人:桔**** 文档编号:571425421 上传时间:2024-08-10 格式:PPT 页数:41 大小:738KB
返回 下载 相关 举报
[信息与通信]基于linux的DTU开发环境的搭建_第1页
第1页 / 共41页
[信息与通信]基于linux的DTU开发环境的搭建_第2页
第2页 / 共41页
[信息与通信]基于linux的DTU开发环境的搭建_第3页
第3页 / 共41页
[信息与通信]基于linux的DTU开发环境的搭建_第4页
第4页 / 共41页
[信息与通信]基于linux的DTU开发环境的搭建_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《[信息与通信]基于linux的DTU开发环境的搭建》由会员分享,可在线阅读,更多相关《[信息与通信]基于linux的DTU开发环境的搭建(41页珍藏版)》请在金锄头文库上搜索。

1、基于基于linux的的DTU开发环境的搭建开发环境的搭建姓名:孟刚姓名:孟刚学号:学号:093107导师:时龙兴导师:时龙兴日期:日期:20101122目录目录nSEP4020 典型存储空间分配结构n搭建Linux主机开发环境n利用NandFlash烧写软件烧写U-Boot和kernaln搭建网络文件系统n内核的编译以及cramfs和yaffs的制作n利用U-Boot烧写Linux操作系统和Cramfs文件系统n利用NandFlash烧写软件烧写kernal和yaffs文件系统n各种文件系统下的应用开发简介第一部分第一部分SEP4020 典型存储空间分配结构SEP4020典型存储空间分配结构典

2、型存储空间分配结构U-BootU-Boot内核启动参数Linux内核根文件系统SDRAMSDRAMNAND NAND FlashFlashNOR NOR FlashFlashn说明:上图是SEP4020大开发板的典型存储结构。所给DTU的DEMO板中U-Boot是放在NandFlash中的,上电后从NandFlash启动U-Boot,通过U-Boot,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。第二部分第二部分搭建Linux主机开发环境在虚拟机上安装在虚拟机上安装Ubuntun具体步骤可以借鉴网上相关说明,

3、在此不做具体介绍安装交叉编译工具安装交叉编译工具n首先下载一个源码包:首先下载一个源码包:arm-linux-gcc-3.4.1.tar.bz2n解压到目录解压到目录/usr/local/arm下,解压后确认目下,解压后确认目录的顺序是否为录的顺序是否为/usr/local/arm/3.4.1/n添加环境变量到系统中:打开添加环境变量到系统中:打开/etc/bash.bashrc,并在,并在bashrc文件的最后一文件的最后一行添加:行添加:exportPATH=/usr/local/arm/3.4.1/bin:$PATH,保存,此时环境变量已经添入系统。,保存,此时环境变量已经添入系统。n此

4、时只要在终端中输入此时只要在终端中输入arm-linux-gccv,会出现,会出现一下信息的话代表交叉编译工具已经安装成功,如果一下信息的话代表交叉编译工具已经安装成功,如果没有下图信息,再检查前面几步有没有出错没有下图信息,再检查前面几步有没有出错Windows下安装串口调试工具下安装串口调试工具secureCRTn自己从网上下载一个secureCRT软件包后安装即可n另外也可以使用Windows自带的超级终端,看个人习惯第三部分第三部分利用NandFlash烧写软件烧写Uboot和kernal利用利用NandFlash烧写软件烧写烧写软件烧写Ubootn连接好J-Link调试器后打开Nan

5、dFlash烧写软件,连接成功后,如下图进行选择选择:(其中u-boot.bin文件是给定的)n点击“下载”按钮后,会显示烧写进度条,成功烧写后,会如下显示(如果下载时提示无法与服务程序通信 ,可以重启一下板子再进行烧写)nKernal的烧写过程相同:n注:U-Boot可以分别烧写,也可以同时烧写第四部分第四部分搭建网络文件系统主机端的nfs配置n首先设置虚拟机下Ubuntu的IP地址,比如我的是10.6.15.99n由于Ubuntu下默认是没有提供nfs服务的,所以你要自己下载并安装nfs服务程序,方法是执行命令apt-get install nfs-kernal-servern编辑文件编辑

6、文件/etc/exports添加添加nfs目录的支持:目录的支持:n/home/nfs/nfs10.6.15.94(rw,sync,no_root_squash)其中其中10.6.15.94是开发板的是开发板的ip。n其中:其中:n/nfs表示表示nfs共享目录,共享目录,它可以作为开发板的根文它可以作为开发板的根文件系统通过件系统通过nfs挂接;挂接;nrw表示挂接此目录的客户机对该目录有读写的权力表示挂接此目录的客户机对该目录有读写的权力nno_root_squash表示允许挂接此目录的客户机享有表示允许挂接此目录的客户机享有该主机的该主机的root身份身份n编辑/etc/hosts.de

7、ny文件n该文件用于设置拒绝相关IP的nfs的服务请求n编辑/etc/hosts.allow文件n该文件用于设置允许的IP对nfs服务de请求开发板端的开发板端的nfs配置配置n开发板端的配置比较简单,主要是修改开发板端的配置比较简单,主要是修改U-Boot的的bootargs参数,修改后的参数应为:参数,修改后的参数应为:nsetbootargsroot=/dev/nfsrwnfsroot=10.6.15.99:/home/nfs/nfsip=10.6.15.94:10.6.15.99:10.6.15.1:255.255.255.0console=ttyS0,115200mem=32mbn修

8、改后敲入修改后敲入save命令,将开发板和主机用直连命令,将开发板和主机用直连网线相连接,开启板子会看到已经把网线相连接,开启板子会看到已经把nfs文件文件系统挂载上去了系统挂载上去了n n说明:其中10.6.15.94为开发板的IP10.6.15.99为Ubuntu的IPn有的kernal可能不支持nfs,这是需要对内核重新编译,可以用make menuconfig 命令选中相关选项后重新编译。n由于debo板给的内核支持nfs,所以在此不做详细介绍,感兴趣的话请查阅相关资料说明:在挂载所给的nfs时,出现Warning: unable to open an initial console.

9、解决方法:在虚拟机终端输入mknod /nfs/dev/console c 5 1,其中/nfs是你nfs所在的目录 第五部分第五部分内核的编译以及cramfs和yaffs的制作内核的配置与编译内核的配置与编译n首先进入linux内核目录n注:如果无法正常输入make相关命令,需要按照提示安装相关软件n执行make menuconfig命令n利用空格选中或不选中相关选项,选中的选项前面会有“*”,表示编译进内核,有的选项会显示“M”表示将该选项编译为模块;之前提到的要让kernal支持nfs,需要选中如下几项:n配置完后保存退出n执行make命令进行编译,编译好的内核位于/linux/arch

10、/arm/boot/zImagen刚刚生成的内核还是不能直接给我们的板子使用,为了让U-Boot能准确认出我们的内核,必须给我们的内核再进行一条命令,在执行这条命令前首先要将mkimage这个程序拷贝到/bin目录下,这个程序在上也能下到。n可能直接拷进去会出现权限不够的提示,在终端下输入命令chmod 777 /bin/mkimagen在终端中输入命令:nmkimage -n Kernel 2.6.16 -A arm -O linux -T kernel -C none -a 30007fc0 -e 30008000 -d ./arch/arm/boot/zImage vmlinux.img

11、n这时在当前目录下就生成了我们想要的vmlinux.img文件,该文件可直接烧录进flash中运行。n如果想恢复之前的默认配置只需执行makesep4020_defconfigCramfs文件系统的制作文件系统的制作n挂载nfs完成应用程序的开发后,需要将nfs转换为可以在开发板上运行的文件系统,其中转换为cramfs的方法如下:n首先要将mkcramfs这个程序拷贝到/bin目录下n在nfs当前目录下执行mkcramfs /nfs nfs.cramfs命令,即可生成我们想要的nfs.cramfs文件Yaffs文件系统的制作文件系统的制作n方法同cramfs文件系统的制作n首先要将mkyaff

12、simage这个程序拷贝到/bin目录下n在nfs当前目录下执行mkyaffsimage /nfs nfs.yaffs命令,即可生成我们想要的nfs.yaffs文件第六部分第六部分利用U-Boot烧写Linux内核和Cramfs文件系统内核的烧录内核的烧录n在U-Boot已经烧写好的情况下可以用tftp命令将vmlinux.img传到sdram中,然后用nand write命令将vmlinux.img文件烧录到相应的地址空间中。n方法:n启动板子,进入U-Boot命令行n设置好ipaddr(板子的IP)和serverip(主机的IP)n在主机端打开tftpd32软件,并指定vmlinux.im

13、g所在目录n在U-Boot命令行中顺序执行命令 tftp 31000000 vmlinux.imgnand erase 0x00100000 0x00200000nand write 0x31000000 0x00100000 0x00200000这样内核就烧录到了相应的地址空间中 Cramfs文件系统的烧录文件系统的烧录n方法同上,顺序执行如下命令:nand erase 0x600000 0x1e00000tftp 31000000 nfs.cramfsnand write 0x31000000 0x600000 0xd00000第七部分第七部分利用NandFlash烧写软件烧写kernal

14、和yaffs文件系统n说明:其实也可以用tftp的方式烧录yaffs但是既然提供了方便的NandFlash烧写软件,完全可以利用好该软件n方法与之前烧录U-Boot的方法相同,只是注意如下选项:第八部分第八部分各种文件系统下的应用开发简介Cramfs下的应用开发下的应用开发n在U-Boot里设置启动参数如下set bootargs root=/dev/mtdblock2 console=ttyS0,115200 rootfstype=cramfs mem=32mbnsave后resetn这样系统就挂载了cramfsn此时可以将交叉编译后的应用程序tftp传输到开发板上运行。(主机要打开tftp

15、d32软件,并将相应的可执行程序放入制定目录中)ntftp命令如下:n从主机到开发板的传输:tftp gr filename PC_IP (例如 tftp gr hello 10.6.15.99)n从开发板到主机的传输:tftp p l filename PC_IP(例如 tftp p l hello 10.6.15.99)说明:因为cramfs为只读的所以,只能进入tmp目录进行下载! Yaffs下应用程序开发下应用程序开发n方法同cramfs下应用开发,由于yaffs为可读可写文件系统,所以开发时相对cramfs方便的多。n具体方法同上,不同的是可以进入任何目录下载运行Nfs下的应用程序开发下的应用程序开发n用cramfs和yaffs开发时,每次都要将应用程序下载,不太方面,在开发时推荐挂载虚拟机下的NFS分区作为根文件系统n挂载nfs的方法之前已经介绍了,当挂载nfs成功后,只要将应用程序交叉 编译,开发板端就可直接执行,相当方便。Thanks!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号