开发搭建环境
来源:互联网 发布: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服务器的搭建工作啦~
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_squash是NFS客户端分享目录使用者的权限,如果客户端使用的是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# savePS.除了以上还需要注意两点
•板卡的IP最好设置和PC的网关一致,最省事的方法
- 搭建Java开发环境
- 搭建Java开发环境
- 搭建J2ME开发环境
- Python开发环境搭建
- Appfuse 开发环境搭建
- 搭建FreeBSD开发环境
- liferay开发环境搭建
- J2ME 开发环境搭建
- 毕业设计开发环境搭建
- eclips- 开发环境搭建
- 搭建开发环境
- jsp 开发环境搭建
- Windows开发环境搭建
- 搭建J2ME开发环境
- 搭建Android开发环境
- gloox开发环境搭建
- 搭建MyEclipse开发环境
- gloox开发环境搭建
- [数据结构与算法]Huffman树及其应用
- myeclipse 打开关闭自动打开当前文件位置
- Eclipse 使用技巧
- 关于qt移植后在ARM平台运行时 line 1: syntax error: unexpected"("
- Hive的数据导入导出,插入,加载
- 开发搭建环境
- 网上投票系统刷票代码
- QML入门必备基础知识之——UI布局管理
- 使用 LDAP + Kerberos 实现集中用户认证及授权系统
- C++ 字符串排序
- 旅行的意义
- 【Ruby】Ruby的model学习——Active Record Associations
- PCA笔记
- 线程调度算法和优先级