- 积分
- 4
贡献37
飞刀2 FD
注册时间2017-7-13
在线时间0 小时
扫一扫,手机访问本帖
|
本帖最后由 河谷吉他 于 2012-5-21 17:26 编辑
开发板:OK6410-A
使用系统:linux2.6.*
学习期间遇到好多问题,为方便大家一起学习,所以特意开本贴一起交流,大家有什么BUG解决的可以跟上本帖,求助的请另开贴,勿跟本帖,谢谢,请谅解!!![/font]
目录:
1.ubuntu10.10 tftp安装调试
2.ubuntu10.10 nfs搭建 经验分享
3.cpu利用率测试
4.ubuntu环境变量设置
5.uImage 无法生成已解决
6.tftp、nfs自动挂载
7.QT4.4.3编译问题解决
========我是美丽的分割线=========
问题1:
1.ubuntu10.10 tftp安装调试
解决方案:
安装程序
#sudo apt-get install xinetd
#sudo apt-get install netkit-inetd
10.10会提示让你安装inetutils-inetd 、openbsd-inetd,那就把这两个安装了
#sudo apt-get install tftp tftpd
另外还有一个安装包是:tftp-hpa tftpd-hpa,这个和上面选一个就可以
#mkdir /tftpboot
#chmod 777 /tftpboot
#cp uImage /tftpboot
修改/etc/inetd.conf
tftp dgram upd wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot
重新加载inetd进程
#sudo /etc/init.d/inetd reload
#cd /etc/xinetd.d/
新建文件tftp
service tftp
{
disable = no
socket_type = dgram
protocol = upd
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot -c
per_source = 11
cps = 100 2
}
重新启动服务
#sudo /etc/init.d/xinetd restart
#sudo in.tftpd -l /tftpboot
然后就是测试了
开发板上电后,启动uboot后
#tftp c0800000 uImage
注意:serverip 的设置
========我是美丽的分割线=========
问题2:
2.ubuntu10.10 nfs搭建 经验分享
Step1:pc端安装nfs服务器
apt-get install nfs-kernel-server
//有的教程中还让格外安装nfs-common,其实没必要
step2:ip配置
1.命令格式为:ifconfig eth0 IP地址 netmask 子网掩码 up ;
2.虚拟机需要改为桥接模式;
3.Vmnet和本地网卡的ip可以不用设置,只设置虚拟机的和开发板的,保证两者能ping通即可,如本例设施主机ip:192.168.2.1/24 开发板ip:192.168.2.10/24
4.Windows杀软与防火墙需关掉,不然会出现mount之后长时间没反应;
Step3: pc端配置
1.修改/etc/exports,在末尾添加:/root/nfs 192.168.2.*(rw,sync,no_root_squash)
// /root/nfs 服务器端共享目录,可自定义,权限需设置为777
// 192.168.2.* 允许访问nfs服务器共享目录的ip范围,可自定义
// rw客户机对共享目录权限
// sync同步写入存储器,可选
// no_root_squash允许客户机享有主机root身份,可选
// 括号中的三个参数之间不可有空格
// /root/nfs与 192.168.2.*间有一个空格
2.重启nfs服务:service nfs-kernel-server
sudo /etc/init.d/nfs-kernle-server restart
3.使以上改动生效:exportfs –a
Step4:开发板挂载
mount –t nfs –o nolock 192.168.2.1:/root/nfs /mnt
// /mnt为开发板上挂载点
接触挂载命令为:
umount 192.168.2.1:/root/nfs /mnt
Tips:
如果不成功主要考虑:
1.共享目录权限;
2.Ip设置;
3.防火墙与杀软;
========我是美丽的分割线=========
问题3:
3.cpu利用率测试
在调试视频解压缩时,不知道怎么测cpu利用率,下面给大家分享:
在主机上用telnet远程登录开发板系统
#telnet 192.168.1.35(开发板ip)
login:root
password:(空)
用top -d 1
另外在pc的运行里面或者cmd命令窗口,和linux终端操作一样
这样就可以测试了,谢谢关注!
========我是美丽的分割线=========
问题4:
4.ubuntu环境变量设置
第一步:在profile里最下面加入一句:export PATH=$PATH:/usr/local/arm/4.3.2/bin(这个路径是arm-linux-gcc的所在位置)。
#gedit /etc/profile
.......
fi
fi
export PATH=$PATH:/usr/local/arm/4.3.2/bin
umask 022
第二步:在environment中加入::/usr/local/arm/4.3.2/bin。
#gedit /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin"
保存退出
#source /etc/profile
这样就设置好了,就这么简单!
========我是美丽的分割线=========
问题5:
5.uImage 无法生成已解决
bug问题:"mkimage" command not found - U-Boot images will not be built
解决:使用make uImage 则能生成由uboot引导的内核文件,需要用到uboot/tools/mkimage,
uboot/tools目录下有mkimage这个工具,需要编译才能生成
uboot#cp mkimage /usr/bin/
在/etc/profile 添加环境变量
pathmunge /usr/bin #source /etc/profile
然后在编译内核就会生成uImage
========我是美丽的分割线=========
问题6:
6.tftp、nfs自动挂载
方法一:由超级终端改变uboot环境变量
启动uboot后
#setenv bootcmd ‘tftp c0800000 uImage \;bootm c0800000’
#setenv bootargs ‘root=/dev/nfs rw nfsroot=192.168.0.155:/ok6410/rootfs ip=192.168.0.10 rw console=ttySAC0 mem=256M’
可由printenv查看,saveenv保存
方法二:改变smdk6410.h生成u-boot.bin
SMDK6410.H文件里的:
#define CONFIG_BOOTARGS "root=/dev/nfs rw nfsroot=192.168.0.200:/ok6410/rootfs ip=192.168.0.232:192.168.0.1:255.255.255.0 console=ttySAC0,115200 init=/linuxrc mem=256M"
#define CONFIG_ETHADDR 00:40:5c:26:0a:5c
#define CONFIG_NETMASK 255.255.255.0
#define CONFIG_IPADDR 192.168.0.232
#define CONFIG_SERVERIP 192.168.0.200
#define CONFIG_GATEWAYIP 192.168.0.1
很下边:
#define CONFIG_BOOTCOMMAND "tftp 0xc0800000 uImage;bootm 0xc0800000"
注意:ok6410-A zImage的地址为0x50008000,uImage为0xc0800000
然后屏蔽掉跟他对应的原来的设置。然后就好了。
========我是美丽的分割线=========
问题7:
5.QT4.4.3编译问题解决 .
编译QT4.4.3的时候,出现如下问题:
Bootstrap QBuild: .. FAIL
In file included from ../../../qt-extended-4.4.3/qbuild/src/main.cpp:37:
../../../qt-extended-4.4.3/qbuild/src/options.h: In constructor 'Options::Options()':
../../../qt-extended-4.4.3/qbuild/src/options.h:52: error: call of overloaded 'QString(int)' is ambiguous
/usr/include/qt4/QtCore/qstring.h:428: note: candidates are: QString:String(const QByteArray&)
/usr/include/qt4/QtCore/qstring.h:426: note: QString:String(const char*)
/usr/include/qt4/QtCore/qstring.h:727: note: QString:String(const QString&)
/usr/include/qt4/QtCore/qstring.h:106: note: QString:String(QChar)
/usr/include/qt4/QtCore/qstring.h:105: note: QString:String(const QChar*)
../../../qt-extended-4.4.3/qbuild/src/main.cpp: In function 'void createProject()':
../../../qt-extended-4.4.3/qbuild/src/main.cpp:49: warning: ignoring return value of 'int chdir(const char*)', declared with attribute warn_unused_result
make[1]: *** [main.o] Error 1
make exited with value 2 at /QT4/qt-extended-4.4.3/src/build/bin/configure line 2355
make: *** [src/build/mkconf/configure] Error 1
./build: line 53: bin/qbuild: No such file or directory
./build: line 54: bin/qbuild: No such file or directory
问题解决:
1、我之前安装了QT Creator,首先卸载QT Creator
2、使用sudo apt-get autoremove命令删除没有卸载干净的库文件
3、修改配置
重新编译就可以了。
========我是美丽的分割线========= |
|