开发搭建环境

来源:互联网 发布:php memcache set 编辑:程序博客网 时间:2024/06/05 20:53

昨天发生了很惨痛的事情,用来做毕设的虚拟机全线奔溃,鼠标点击不进去,命令行也不好用,用diskgenius也恢复不回来虚拟硬盘的东西,所以决定重新来过。


说到搭建开发环境,在这里无非是交叉编译器,nfs,tftp服务器的搭建还有内核的编译烧写。


在不熟悉的时候,通常在搭建tftp服务器的时候出现问题。还有就是最后在板卡端的配置问题,其余都比较轻松就能过。


Vmware版本:8.0.4

Ubuntu版本:10.04

版本都特别低,那是因为合众达的工程师说他们都是基于这个做的开发和测试,所以建议我们也照着一样的开发环境来搭建,

Ubuntu安装时间大概是40分钟,安装完成后其实Vmware Tools已经安装好了,不需要自己再安装。


第一次登录Ubuntu的用户进入的是普通用户账号,要获得root权限登录的话,在application---accessories---terminal输入以下

1、sodu passwd  //然后要输入当前用户密码,接着就可以输入root的密码,回车,再确认一次。PS.密码不会显示出来

在确认完密码后就可以重启虚拟机,再次登录时在other下输入root就可以进入超级用户。


来到这里我们才进入了真正的搭建开发环境部分


首先,从光盘见SDK包复制到Linux系统的opt目录下并解压

    cd /opt

    tar  zxvf SEED-DVS6467_SDK.tar.gz

开发包中包括dvsdk_1_40_02_33,mv_pro_4.0.1,nfs

在第一个目录下是DVEVM与DVSDK套件,包括cmem,dsplink,framework components,codec engine等

在第二个目录下是ARM端的armv5t交叉编译,linux内核以及目标文件系统

第三个目录则是配置完毕的NFS文件系统


2.修改/root/.bashrc文件

    gedit /root/.bashrc

 在文件最后加入如下语句:

PATH="/opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin:/opt/mv_pro_4.0.1/montavista/pro/bin:/opt/mv_pro_4.0.1

/montavista/common/bin:$PATH"   

 保存退出,并执行:

    source /root/.bashrc

3.测试工具链

    arm_v5t_le-gcc

 如命令行显示no input files则表示工具链已配置正确。


此时检查一下虚拟机是否可以上网,鼠标放在虚拟机右下方的一排小图标的第四个图标上是否显示Network Adapter:NAT

如果可以上网则进行一下操作,在命令行输入

1.sudo apt-get install tftp-hpa tftpd-hpa

2.sudo apt-get install nfs-kernel-server


然后修改Network Adapter,即点击上述第四个小图标,进入setting

将连接方式修改为Bridged,桥接模式

接着修改虚拟机的IP,在命令行输入

1.sudo gedit  /etc/network/interfaces

在interfaces中输入以下内容,注意IP地址要和PC机保持在同一网段,既IP前三位要和PC机的一致,而网关和子网和PC的一致就好

#auto lo
#iface lo inet loopback
auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
address 172.21.204.67
netmask 255.255.255.224
gateway 172.21.204.65


保存退出并在命令行输入

1./etc/init.d/networking restart

操作完成后重启虚拟机,此时应该可以ping通主机,在命令行输入ping


接下来接着进行tftp服务器的搭建工作

1.建立tftpboot目录,作为服务器的目录

    sudo mkdir /tftpboot

    释放权限:(服务器目录,需要设置权限为777,chomd 777)

    sudo chmod 777 /tftpboot

2.配置TFTP服务器

    sudo gedit /etc/default/tftpd-hpa

将原来的内容修改为:

   TFTP_DIRECTORY="/tftpboot"

   TFTP_OPTIONS="-l -c -s"

3.重新启动TFTP服务

    sudo service tftpd-hpa restart

4.测试TFTP

    Host # echo ' hello tftp service' > /tftpboot/tftp

   Host # tftp ###.###.###.###

   tftp> get tftp

   tftp> quit

   Host # cat tftp

   hello tftp service 

 其中get是取得文件,put是将文件上传到TFTP服务器上。

到这里就完成了tftp服务器的搭建工作啦~


接下来要进行的是NFS服务端的搭建

1.配置/etc/exports

    NFS允许挂载的目录及权限在文件/etc/exports中进行了定义。

        gedit  /etc/exports

    例如,我们要将根目录下的/opt/nfs目录共享出来,那么需要在/etc/exports文件末尾添加如下一行:

    /opt/nfs *(rw,sync,no_root_squash,no_all_squash)

     其中: /opt/nfs是要共享的目录,

           *代表允许所有的网络段访问,

            rw是可读写权限,sync是资料同步写入内存和硬盘,

           no_root_squashNFS客户端分享目录使用者的权限,如果客户端使用的是root用户,那么对于该共享目录而言,该客户端就具有root权限。

            no_all_squash不将远程访问普通用户及所属用户组都映射为匿名或用户组。

2.重启NFS服务

    sudo service nfs-kernel-server restart

3.测试NFS

   此时可以运行以下命令来显示一下共享出来的目录:

    showmount -e

在完成好上述各步骤后就开始进行Linxu内核编译,其实合众达已经给用户做好内核的配置,一般不熟悉的用户切记不要对他进行改动

在命令行输入

1.cd/opt/mv_pro_4.0.1/montavista/pro/devkit/lsp/ti-davinci/linux-2.6.10_mvl401_LSP_01_30_00_082

2.make ARCH=arm CROSS_COMPILE=arm_v5t_le- menuconfig

在进行第二条命令的时候记得要将虚拟机界面最大化,要不会告诉你像素不够打不开配置界面,保存退出后输入

3.make ARCH=armCROSS_COMPILE=arm_v5t_le- uImage

4.cp arch/arm/boot/uImage/tftpboot

接着就可以进行硬件连接了

     A、使用串口线将SEED-DVS6467T与PC机相连,一端接:SEED-DVS6467T的J18位置,另一端接:PC机的RS232口;

     B、使用网线将SEED-DVS6467T与PC连接到同一网络中,SEED-DVS6467T的网络接口位置是T8;

      C、DVS6467T平台的J11连接12V电源;

      D、给系统上电。

1、配置TFTP服务器IP地址:

   Target# setenv serverip xxx.xxx.xxx.xxx

   其中,xxx.xxx.xxx.xxx为TFTP服务器的IP地址;

2、配置SEED-DVS6467T平台的IP地址(板卡ip地址要与pc机ip同一网段的不同地址,与前面一样,三者的ip属于同一网段,但是必须不相同)

   Target# setenv ipaddr xxx.xxx.xxx.xxx

   其中,xxx.xxx.xxx.xxx为SEED-DVS6467T的IP地址;

3、配置网卡地址

    Target# setenv ethaddr 00:0C:29:94:D7:D6

4、配置设置启动方式

    Target# setenv bootcmd tftp

5、保存以上设置,并将SEED-DVS6467T重新上电

    Target# save

Note:重新上电的作用是使刚刚设置的MAC地址生效,这个很重要

6、配置启动参数,在提示符下输入以下配置参数:

    Target# setenv bootargs mem=120Mconsole=ttyS0,115200n8 noinitrd rw ip=172.21.204.65:255.255.255.224:172.21.204.65 root=/dev/nfs nfsroot=172.21.204.67:/opt/nfs video=dm64xxfb:output=pal↙

     Note:ip要根据实际情况设置;其中rwip后IP为SEED-DVS6467T平台的IP地址,nfsroot后IP为Linux服务器的IP地址;↙为回车;以上IP地址仅为参考;

7、配置自动启动并保存:

    Target# setenv autostart yes

    Target# save

8、下载内核:

    Target# tftp 0x80800000 uImage

Note:如果执行时错误,请执行如下命令后重新下载内核:

    Target# setenv loadaddr 0x80800000

   Target# save

PS.除了以上还需要注意两点

执行make ARCH=armCROSS_COMPILE=arm_v5t_le- menuconfig命令后报错,执行apt-get install libncurses5-dev命令
测试tftp时,tftp xxx.xxx.xxx.xxx中的xxxUbuntuIP
板卡的IP最好设置和PC的网关一致,最省事的方法




0 0
原创粉丝点击