天天看點

minicom移植到arm

minicom需要ncurses庫的支援

arm-linux-gcc中并沒有此庫故需要交叉編譯ncurses,否則出現很多頭檔案、庫函數找不到。

ncurses的交叉編譯

ncurses簡單介紹:

Ncurses是一個能提供功能鍵定義(快捷鍵),螢幕繪制以及基于文本終端的圖形互動功能的動态庫,我們熟悉的核心配置界面就是用此庫函數編寫的

詳細介紹:

http://www.linuxfocus.org/ChineseGB/March2002/article233.shtml

下載下傳位址:http://directory.fsf.org/project/ncurses/ 

download ncurses-5.7.tar.gz

1.配置ncurses

[[email protected] ncurses-5.7]#./configure CC=arm-none-linux-gnueabi-gcc CXX=arm-none-linux-gnueabi-g++ RANLIB=arm-none-linux-gnueabi-ranlib LD=arm-none-linux-gnueabi-ld AR=arm-none-linux-gnueabi-ar --prefix=/home/ivy /minicom/ncurses-5.7/install --host=arm-linux --with-share CPPFLAGS=-I/opt/arm/toolchain/arm-2007q1/arm-none-linux-gnueabi/include LDFLAGS=-L/opt/arm/toolchain/arm-2007q1/arm-none-linux-gnueabi/lib

2.編譯

[[email protected] ncurses-5.7]#make&&make install

minicom2.1 交叉編譯 (交叉編譯2.4一直沒有成功過,是以嘗試2.1,成功! )

下載下傳位址:http://alioth.debian.org/projects/minicom/ 

download minicom-2.1.tar.gz 

[[email protected] minicom-2.1]#tar zxvf minicom-2.1.tar.gz

1.配置

[[email protected] minicom-2.1]# ./configure CC=arm-none-linux-gnueabi-gcc --prefix=/home/ ivy /minicom-2.4/istall--host=arm-linux CPPFLAGS=-I/home/ ivy /minicom/ncurses-5.7/install/include/ncurses LDFLAGS=-L/home/ ivy/minicom/ncurses-5.7/install/lib --enable-cfg-dir=/tmp

2.編譯

執行make進行編譯

編譯minicom 出錯

minicom.c:156:13: error: conflicting types for ‘getline’

這是因為minicom.c 中的getline 與系統中的庫函數名字沖突。

檢視 getline 出現的地方:

grep -nr 'getline' *

替換

sed -i 's/getline/getlines/g' src/minicom.c 重新編譯

[[email protected] minicom-2.1]#make

編譯成功  ./src/minicom 就是我們需要的,cpoy到開發闆上進行測試

at91sam9260開發闆上調試:

[[email protected] minicon-2.1] cp src/minicom /work/root/bin     //将可執行檔案minicom複制到我們nfs/yaffs2檔案系統bin目錄下

/ # minicom -s                // 在開發闆上再次執行minicom

You don't exit,go away!   //提示這樣的資訊 參照此連結修改:

[[email protected] root]# cp /etc/passed /work/root/etc/    //将本機上/etc/passwd copy 到開發闆上/etc目錄下   

/ # minicom -s             // 在開發闆上再次執行minicom

minicom: WARNING: configuration file not found, using defaults 

No termcap entry for vt102    //提示這樣的資訊 

/ # echo $ TERM

vt102

/ # mkdir /usr/share/terminfo    //copy 本機/usr/share/terminfo/v 到開發闆檔案系統/usr/share/terminfo目錄下

[[email protected] root]#cp -a /usr/share/ terminfo/v /work/root/usr/share/terminfo/

/ #export TERMINFO=/usr/share/terminfo    // 設定環境變量

或者:在/etc/目錄下建立一個profile檔案用于儲存環境變量,避免每次重新開機後需要重新設定環境變量

/ #vim etc/profile

添加一行: export TERMINFO=/usr/share/terminfo 

儲存退出,重新開機開發闆

/# minicon -s

繼續閱讀