优龙FS2410开发板学习过程遇到问题总结

2019-07-12 23:45发布

以下的问题及其解决办法是基于优龙FS2410开发板,不定期更新 ============================================================= 开发学习环境说明: 系统: Fedora22(64位) 开发板:优龙FS2410 参考书籍:《嵌入式Linux C语言应用程序设计(修订版)》 华清远见嵌入式培训中心 孙琼 编著  ============================================================= 1、笔记本没有RS232接口,因此在测试开发板时,发现不管连接RJ45网口还是USB或并口都没反应(理论上来说,上电后接USB,至少在PC端都应该有驱动安装的提示),就以为开发板是坏的 解决办法:在与优龙技术员咨询的过程中知道,只能通过串口RS232与PC连接,在串口中设置开发板的BIOS,才能正常使用。
2、笔记本等电脑没有RS232接口 解决办法:开发板上提供RS232公口,又提供了母-母连接线,因此只需要再买个10来块的USB转RS232即可 (USB-RS232公)-(母-母)-(开发板公口),在winPC端打开超级终端等串口工具,连接上后,重启开发板,在串口工具就能显示BIOS的选项,接下来的设置请参考开发手册
参考手册链接:以上传CSDN,还在审核,稍后更新

3、在64系统里执行32位程序出现/lib/ld-linux.so.2:  bad ELF interpreter: No such file or directory(在Fedora64位OS下,使用arm-linux-gcc出现的错误) 解决方法:安装下glic即可  sudo yum install glibc.i686(注意,一定要加.i686)
4、开发板提供的3.3.2交叉编译工具一直安装失败
开发指南的指导安装流程如下:
a、解压cross-3.3.2.tar.bz2得目录3.3.2 tar -jxv -f cross-3.3.2.tar.bz2 b、拷贝目录3.3.2及其目录下所有内容到/usr/local/arm/3.3.2 cp -r ~/3.3.2  /usr/local/arm/  c、修改PATH vi /etc/bashrc 在最后添加一行: export PATH=/usr/local/arm/3.3.2/bin:$PATH d、检查是否安装成功 bash下执行命令:arm-linux-gcc -v  #查看gcc的版本,如果正确修改PATH和安装3.3.2工具,则可用tab进行命令补充 那么我的问题来了,我按照一步一步操作,也正确查看到gcc版本,在尝试用arm-linux-gcc编译嵌入式linux内核却出现各种各样的问题,例如缺少32位的库,例如头文件编译不过(T_T),可惜我只记录了最后解决不了的一个问题。详见如下: cc1: error: unrecognized command line option “-mapcs-m32” cc1: error: unrecognized command line option “-malignment-traps" 经过find 发现cc1是一个二进制文件...网上说的解决办法是把这些“-mapcs-m32”“-malignment-traps"参数去掉就好了... 最后解决办法: 改装32位fedora 21(注意,我原先是64位fedora23,试过装32位fedora23,可能版本太新?依然不行,无奈装了就版本) 改装完后按照步骤来我是一点问题都没了,直接编译内核成功。 附上fedora官方各个版本下载ftp连接:http://archive.fedoraproject.org/pub/
5、哭死,改装系统前nfs能用,改装完后nfs不能使用,nfs安装方法网络有一大把,自己搜索 我的/etc/exports配置如下
home/GMPY/NFS  *(rw,sync,no_root_squash,no_all_squash,no_subtree_check)
nfs服务状态如下:#service nfs status
Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled) Active: active (exited) since Sun 2015-11-29 11:29:18 CST; 1h 3min ago Process: 5635 ExecStopPost=/usr/sbin/exportfs -f (code=exited, status=0/SUCCESS) Process: 5632 ExecStopPost=/usr/sbin/exportfs -au (code=exited, status=0/SUCCESS) Process: 5629 ExecStop=/usr/sbin/rpc.nfsd 0 (code=exited, status=0/SUCCESS) Process: 5644 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS) Process: 5642 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS) Main PID: 5644 (code=exited, status=0/SUCCESS) CGroup: /system.slice/nfs-server.service rpcblind服务状态如下:#service rpcblind status Redirecting to /bin/systemctl status rpcbind.service ● rpcbind.service - RPC bind service Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; static) Active: active (running) since Sun 2015-11-29 11:30:19 CST; 1h 3min ago Process: 5697 ExecStart=/sbin/rpcbind -w ${RPCBIND_ARGS} (code=exited, status=0/SUCCESS) Main PID: 5698 (rpcbind) CGroup: /system.slice/rpcbind.service └─5698 /sbin/rpcbind -w 防火墙已经关闭 在开发板mount -t nfs 192.168.1.1:/home/GMPY/NFS nfs/,错误提示如下: mount: RPC: Unable to receive; ernfs warning: mount version older than kernel NFS: mount program didn't pass remote address! rno = Connection refused mount: nfsmount failed: Bad file descriptor mount: Mounting 192.168.1.1:/home/GMPY/NFS on /dev/shm/nfs failed: Invalid argument 解决办法:这个问题我突然就解决了...找不到原因,也不明确怎么解决的
只是改了下ip,改为192.168.0.10(PC),192.168.0.100(开发板)
但是在挂载时还是有提示错误(实际是已经挂在成功),且要等待一段时间:
portmap: server localhost not responding, timed out RPC: failed to contact portmap (errno -5). lockd_up: makesock failed, error=-5 修改:经测试,挂在命令加上参数"-o nolock"即可无以上错误,且不用长时间等待挂载
例如:mount -t nfs -o nolock 192.168.1.1:/home/GMPY/NFS ~/nfs/
问题猜测:可能是接线接触不良?服务不知道哪里死机?开发板还没完全进入系统?(我是卡在QT触屏校准时按回车进入的命令行,印象中接通那一次,我是执行完了QT校准后,进入嵌入式LINUX的系统主界面,再按的Enter进入命令行就成了,但是我测试了下,复位后卡在QT也还是可以)