当前位置: 首页 > news >正文

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

以下的问题及其解决办法是基于优龙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也还是可以)




转载于:https://www.cnblogs.com/gmpy/p/5656551.html

相关文章:

  • linux信号量
  • android:supportsRtl=true
  • Linux安装卸载软件
  • Swift是花拳绣腿吗?——谈谈开发语言与程序员的职业发展
  • sqlite打印结果集函数
  • Linux内核中的时间
  • 写好注释的方法小结
  • 如何把Access中数据导入Mysql中 (转)
  • 隐藏windows7/8“卸载或更改程序”里的软件
  • C# 5.0中新增特性
  • nw.js桌面软件开发系列 第0.1节 HTML5和桌面软件开发的碰撞
  • android 介绍
  • 前端性能--指标分析
  • 参加2012 OpenStack亚太技术大会
  • LVS笔记,(一)
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 2017 年终总结 —— 在路上
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • Angular 2 DI - IoC DI - 1
  • Docker下部署自己的LNMP工作环境
  • egg(89)--egg之redis的发布和订阅
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • JS数组方法汇总
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • QQ浏览器x5内核的兼容性问题
  • XML已死 ?
  • 聊聊hikari连接池的leakDetectionThreshold
  • 马上搞懂 GeoJSON
  • 算法系列——算法入门之递归分而治之思想的实现
  • 通信类
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 最简单的无缝轮播
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • $.ajax中的eval及dataType
  • (02)vite环境变量配置
  • (11)MSP430F5529 定时器B
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (待修改)PyG安装步骤
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)计算机毕业设计大学生兼职系统
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (剑指Offer)面试题34:丑数
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (转)Mysql的优化设置
  • (转载)虚函数剖析
  • 、写入Shellcode到注册表上线
  • .NET Core 中的路径问题
  • .Net Core缓存组件(MemoryCache)源码解析
  • .NET MVC之AOP
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)