Hi3518内核和文件系统烧写以及nfs挂载_第1页
Hi3518内核和文件系统烧写以及nfs挂载_第2页
Hi3518内核和文件系统烧写以及nfs挂载_第3页
Hi3518内核和文件系统烧写以及nfs挂载_第4页
Hi3518内核和文件系统烧写以及nfs挂载_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Hi3518内核和文件系统烧写以及NFS挂载当前版本V1.0密级文档编号总页数正文页数附录页数编制人*评审人*批准人编制日期2015.02.05评审日期批准日期修改履历序号状态版本修改内容修改位置修改人日期评审人日期批准人日期1C1.02M1.0*2015.1.2934567评阅意见状态:C创建文档,A增加内容,M修改内容,D删除内容第一步 编译内核和文件系统 文档说明:涉及到目录的请根据自己的实际情况进行更改,本文档仅根据笔者的测试进行举例说明。 1 安装交叉编译器 cd arm-hisiv100nptl-linux ./cross.install 说明:3518e推荐使用100nptl进行

2、编译,arm-hisiv100nptl-linux-(使用uclibc库,uclibc 工具链支持全规格版本和小型化版本 )arm-hisiv200-linux-(glibc 库glibc 工具链只支持全规格版本),实验时没有使用hisiv200,不确定会出什么问题,不推荐使用。 2 编译步骤 cd ./linux-3.0.y ./mk3518.sh mk3518.sh 脚本里面包含了编译linux内核所需的所有的命令,具体看mk3518.sh文件,编译成功将生成在目录arch/arm/boot/uImage文件,这个就是要烧录到板子上的 注意:大小大约为1M。大于1M也许会出问题,在实验前期

3、都是大于1M,烧录的时候出问题。 制作rootfs文件系统,使用的是最新的squashfs只读文件系统,使用的工具为mksquashfs,目录squashfs4.2为这个工具的代码 rm ./rootfs.squashfs /仅仅为了删除之前存在的文件系统,如果没有,可不执行这一步。 ./mksquashfs ./rootfs rootfs.squashfs -b 256K cp ./rootfs.squashfs ./tftpboot /可不用命令,自己拷贝,黏贴,文件夹根据自己实际情况所定。 生成的rootfs.squashfs这个就是要烧录到板子上的文件 注意:生成的文件大约为1.5M

4、地址空间说明 | 256K | 1M | 1.5M | |-|-|-| | boot | kernel | rootfs | 剩下5.25M可以由用户自由使用。可以看出如果文件超出限制,将会出现内存不够的错误。烧写前期遇到几次提示内存不足的错误。 第二步烧写内核和文件系统 1 烧写工具安装和配置 win7下 使用tftod32和secureCRT 进行烧写。 a、安装usb转串口的驱动 在/usb驱动/WIN7驱动2/Prolific_DriverInstaller_v110.exe目录下 安装后到设备管理器中查看是否安装成功。 注:有时系统会自己安装,安装以后只要secureCRT设置正确,

5、仍可以正常使用,如果不能正常使用,请尝试卸载系统自动安装的,使用hisi提供的驱动。 b、安装tftpd32软件,在百度上面随便搜索一个下载,安装后,打开tftpd32软件。 其中当前目录指的是安装tftpd32的安装目录,点击显示目录可以看到该目录下的内容。后面要烧录的镜像文件都是放在这个目录下的,在u-boot控制命令台加载镜像文件的时候,自动从该目录下搜索指定的镜像文件。 服务器IP地址指的是当前PC机的IP地址,当打开tftpd32软件的时候,会自动把你当前PC上的IP地址加载到此处。如果你想修改服务器的IP地址,直接把你的PC的IP地址修改后,打开tftpd32软件,会自动加载的。

6、注:烧录基本不用远程服务器,如果有兴趣可以研究使用远程服务器烧录,不推荐使用远程服务器。 c、安装SecureCTR软件,具体步骤请百度。 首先打开SecureCTR软件,选择快速链接,会弹出一个选项框。 在Protocla 下拉菜单中选择 serial ; Port的选择依据安装驱动时分配的com端口; 波特率选择115200 点击ok 当窗口出现绿色勾时表明链接成功。 d、重新启动开发板,按住ctrl+c进入u-boot的控制台,再根据烧录步骤,输入命令烧kernel和文件系统。但是一定要把相关镜像文件拷贝到tftpd32的安装目录下,不然找不到。 注。切记uImage和 rootfs一定

7、要拷贝到tftpd32的根目录下。 2 烧写过程 注:千万不要忘记把tftpd32打开并进行设置 uboot烧写内核 set serverip 00 mw.b 0x82000000 0xFF 0x100000 tftp 0x82000000 uImage sf probe 0 sf erase 0x40000 0x100000 sf write 0x82000000 0x40000 0x100000 烧写rootfs文件系统 mw.b 0x82000000 0xFF 0x180000 tftp 0x82000000 rootfs.squashfs sf probe 0

8、sf erase 0x140000 0x180000 sf write 0x82000000 0x140000 0x180000 设置启动参数和启动命令 setenv bootargs mem=32M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=squashfs mtdparts=hi_sfc:256K(boot),1M(kernel),1536K(rootfs),5376K(user) setenv bootcmd sf probe 0;sf read 0x82000000 0x40000 0x100000;bootm 0x82

9、000000 saveenv reset 注意有个ko没有加载成功,没有加载成功的原因未知,但是可以手动加载。加载办法为挂载完文件系统以后用insmod 加文件的绝对路径。第三步 挂载nfs 工具telnet 1 telnet启动办法 在命令提示符下输入telnet 05 ip为板子的ip出现如下错误可以在securtCRT里面输入telnetd打开板子的telnet端口。2 telnet的使用 a: 现修改板子的ip地址,确保pc,ubuntu,板子在同一个网段,板子ip地址修改可以在secureCRT中修改,修改使用命令 ifconfig eth0 192.168.

10、16.105 /配置板子的IP地址 ifconfig /查看网络状态 ping 00 /查看是否与PC机连通网络 连通的情况下,才能正确挂载nfs系统: ubuntu下修改ubuntu的ip地址同样使用ifconfig eth0进行修改。 修改以后用ping检查三者是否相互ping通,如果不能ping通,自行检查。 b: 在命令提示符下输入telnet 05 /ip地址为板子的ip C:UsersAdministratortelnet 05 正在连接05.无法打开到主机的连接。 在端口 23: 连接

11、失败 如果出现这个错误,为板子的telnet端口没有开启所至,在secureCRT中输入telnetd,打开板子的telnet端口。 连接以后需要输入板子的帐号密码。我们使用的hi3518e使用的帐号为root,密码为空。但是在淘宝或者公司卖的,uboot的密码一般是不告诉买家,为了防止查看他们的文件系统。如果自己买开发板练习,切记telnet连接以后不能加密。 c: 使用mount -t nfs -o nolock 02:/zhang/hi3518/nfs /mnt命令在telnet下进行挂载,ip地址为ubuntu的ip地址,因为我们把ubuntu下nfs文件夹挂载

12、到板子上,以后调试程序,可直接修改nfs文件夹下的文件,如同直接修改板子上的文件一样,但是这仅仅是挂载,并不修改板子的文件。 第四步: sample_venc 例子程序测试 1: mpp包编译 cd mpp/sample make /mpp/sample/venc 就是海思提供的同时编码的程序代码 /说明海思3518E受限硬件资源,最大只能编码1个码流、最大25帧(一个720P) 可以直接在ubuntu下编译,将编译好的mpp文件夹拷贝到nfs目录下,这就是nfs的好处,只需挂载一次,需要添加删除文件可直接在nfs目录下操作,如同在板子上添加删除文件一样。 2:加载驱动,生成H264码流文件。

13、 cd /ko ./load3518e /海思底层视频编码驱动加载 cd /mnt ./sample_venc 0 /海思提供的同时编码1个码流的例子,会在当前目录下写H264裸码流文件,播放裸码流请用VLC播放当前目录生成的H264文件(stream_chn0.h264) / VLC软件下载地址:/vlc/2.1.3/win32/vlc-2.1.3-win32.exe 挂载nfs也可以直接使用securtCRT进行挂载,挂载步骤1 烧写完文件系统和内核以后,用ifconfig eth0 进行设置板子的ip地址2 设置以后用ping检查能否ping通

14、板子3 ping通以后使用mount命令进行挂载4 用 cd /mnt 转到挂载目录下 用ls查看当年文件夹下的内容。如果内容和被挂载的文件一样,则挂载成功。在ubuntu下可以使用minicom进行挂载。(1)有些linux系统自带了minicom,直接用命令安装就行了: apt-get install minicom; 也可以从以下地址下载安装: /projects/minicom/ (2)安装完成后: 用指令rpm -qa | grep minicom来确认是否安装了minicom,回车后会显示minicom 的版本信息第一次 启动时:即输入

15、 minicom提示 错误。则 需: minicom -s启动出现配置菜单:选serial port setup进入串口配置输入A配置串口驱动为/dev/ttyS0(如果使用USB转接口,Serial Device要配置为/dev/ttyUSB0)输入E配置速率为115200 8N1输入F将 Hardware Flow Control 设 为 NO回车 退出由 于我们使用minicom作为超级终端控制路由器等设备, 而不是控制modem, 所以需要修改Modem and dialing, 将Init string, Reset string, Hang-up string设置为空. 设置完成后

16、选择Save setup as dfl将当前设置保存为默认设置.(若保存时出错,可能是因为权限不够,用root身份配置minicom则可)在配置菜单 选Save setup as df1保存(一定要记得这一步)选Exit退出下次在输入minicon 即可直接进入。命令minicom是进入串口超级终端画面,而minicom -s为配置minicom。说明/dev/ttyS0 对应为串口0 为你连接开发板的端口。注意:非正常关闭minicom,会在/var/lock下创建几个文件LCK*,这几个文件阻止了minicom的运行,将它们删除后即可恢复挂载NFS文件系统:1、在你的PC机上安装NFS服务

17、执行sudo apt-get install nfs-kernel-server查看nfs端口是否打开:netstat -tl可以看出nfs和sunrpc端口已经处于监听状态。启动和停止nfs命令如下:sudo /etc/init.d/nfs-kernel-server start(stop/restart)接下来对nfs服务器进行配置:打开/etc/exports文件,在末尾加入:/zhang/hi3518/nfs *(rw,sync,no_root_squash)注:nfs允许挂载的目录及权限,在文件/etc/exports中进行定义,各字段含义如下:/home/kevin:要共享的目录* :允许所有的网段访问rw :读写权限sync:资料同步写入内在和硬盘no_root_squash:nfs客户端共享目录使用者权限重启服务:#sudo /etc/init.d/portmap restart-重启portmap,#sudo /etc/init.d/nfs-kernel-server restart-重启nfs服务#showmount -e-显示共享出的目录注:nfs是一个RPC程序,使用它前,需要映射好端口,通过portmap设定命令执行情况

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论