交叉编译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
交叉编译安装到交叉工具链目录中。
make && make install
下载minicom:点击打开链接 这里选择 minicom-2.3.tar.gz
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 成功
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 成功
相关文章推荐
- #新闻拍一拍# IBM 招聘广告要求应聘者具备至少 12 年 K8S 使用经验
- vivi下重新调整分区
- ARM Linux系统启动
- Linux及ARM Linux程序开发笔记(零基础入门篇)
- 零基础入门篇之Linux及Arm-Linux程序开发笔记
- 提升Python程序运行效率的6个方法
- golang交叉编译
- cocos2dx 交叉编译 iconv库 protobuf库
- 我的 ARM+Linux 学习路线
- 64位Ubuntu 14.04上使用musleabi最小化交叉编译Android版PHP7
- Linux下的命令行串口工具minicom安装和使用教程
- 关于ARM启动的一篇文章
- ARM 的堆栈初始化详解
- ARM条件码与CPSR标志位的关系
- 加载/存储指令
- 关于ARM 汇编的一些疑问
- ARM汇编伪指令介绍
- linux的防火墙及arm与虚拟机共享
- 编译单个驱动的Makefile文件。
- Linux下minicom的配置和使用方法