優龍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也還是可以)




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章