嵌入式爱好者

查看: 6911|回复: 1

【火急】ok6410+linux bug总结、应用笔记、经验分享,不断更新中,请大家关注...

[复制链接]

0

主题

0

帖子

4

积分

扫一扫,手机访问本帖
发表于 2012-4-18 17:15:29 | 显示全部楼层 |阅读模式
本帖最后由 河谷吉他 于 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、修改配置
重新编译就可以了。
========我是美丽的分割线=========
回复

使用道具 举报

29

主题

9048

帖子

5593

积分

发表于 2012-4-18 21:03:57 | 显示全部楼层
谢谢楼主为大家提供信息
这个不算是bug。只是没有经过调试。
帖子我转到技术交流区。
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-11-25 03:36

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表