您的位置:首页 > 其它

交叉编译minicom for ARM

2016-05-23 11:28 363 查看
minicom需要ncurses库的支持
arm-none-linux-gnueabi-gcc 中并没有此库故需要交叉编译ncurses,否则出现很多头文件、库函数找不到。

所以首先下载并交叉编译 ncurses,因为minicom版本更新很慢,所以ncurses不要下载太新的版本。

点击打开链接 这里选择ncurses-5.5.tar.gz 

tar xzvf ncurses-5.5.tar.gz
cd ncurses-5.5/
./configure CC=arm-none-linux-gnueabi-gcc --host=arm-none-linux-gnueabi --prefix=/home/name/tanda/board/arm-2010q1 CPPFLAGS=-I/home/name/tanda/board/arm-2010q1/include LDFLAGS=-L/home/name/tanda/board/arm-2010q1/lib


交叉编译安装到交叉工具链目录中。
make && make install

下载minicom:点击打开链接  这里选择 minicom-2.3.tar.gz 

tar xzvf minicom-2.3.tar.gz
cd minicom-2.3/
./configure CC=arm-none-linux-gnueabi-gcc --host=arm-none-linux-gnueabi --prefix=/home/name/Downloads/minicom-2.3/install CPPFLAGS=-I/home/name/tanda/board/arm-2010q1/include LDFLAGS=-L/home/name/tanda/board/arm-2010q1/lib CPPFLAGS=-I/home/name/tanda/board/arm-2010q1/include/ncurses


make  出错:
arm-none-linux-gnueabi/libc/usr/include/stdio.h:651: note: previous declaration of 'getline' was here

这是因为minicom.c 中的getline 与系统中的库函数名字冲突。

查看 getline 出现的地方:

grep -nr 'getline' *

替换

sed -i 's/getline/getlines/g' src/minicom.c

还有同样的问题照次处理。

make 又出错:

/home/name/tanda/board/arm-2010q1/include/ncurses/termcap.h:42: fatal error: ncurses/ncurses_dll.h: No such file or directory

vim /home/name/tanda/board/arm-2010q1/include/ncurses/termcap.h 

#include <ncurses/ncurses_dll.h> 改成:

#include "ncurses_dll.h" 

make && make install 成功。

将安装目录下的minicom bin文件拷到板子上运行提示:

 ./minicom 

minicom: WARNING: configuration file not found, using defaults

No termcap entry for vt100

解决办法如下:

[board#echo $TERM

vt102

//此命令是敲在板子上shell的,显示TERM变量

[board]#echo TERMINFO

//这个变量是NULL,问题就出在这里
在pc机中查找vt102存放的目录
我的在/usr/share/terminfo/v中
cp /usr/share/terminfo/v/vt102
 到板子/data/bin/terminfo/v 目录

执行export TERMINFO=/data/bin/terminfo

设置环境变量,在执行

echo $TERMINFO

/data/bin

已经看到不为空了。

运行minicom 成功
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  minicom 交叉编译 arm