porting minicom移植 to S3C2440

发布时间:2024-06-14  

本以为网上应该有很多minicom成功移植的文档,找了一通才发现貌似网上还没有成功移植minicom的文档

minicom需要ncurses库的支持
arm-linux-gcc中并没有此库故需要交叉编译ncurses,否则出现很多头文件、库函数找不到。

ncurses的交叉编译
ncurses简单介绍:
Ncurses是一个能提供功能键定义(快捷键),屏幕绘制以及基于文本终端的图形互动功能的动态库,我们熟悉的内核配置界面就是用此库函数编写的。

本文要用到的相关文件ncurses-5.5.tar.gz 与minicom-2.3.tar.gz 下载

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /pub/2011/07/21/porting minicom移植 to S3C2440/

download ncurses-5.5.tar.gz
[root]#./configure CC=arm-linux-gcc --prefix=/usr/local/arm/3.4.1/arm-linux --host=arm-linux CPPFLAGS=-I/usr/local/arm/3.4.1/arm-linux/include LDFLAGS=-L/usr/local/arm/3.4.1/arm-linux/lib
这是写在一行的,费神啊
下面是分开写的,只要加一个"/",简单方便!
[root]#./configure /
>CC=arm-linux-gcc /
>--prefix=/usr/local/arm/3.4.1/arm-linux /
>--host=arm-linux /
>CPPFLAGS=-I/usr/local/arm/3.4.1/arm-linux/include /
>LDFLAGS=-L/usr/local/arm/3.4.1/arm-linux/lib /

[root]#make
[root]#make install
轻松编译通过

porting minicom2.3 

download minicom-2.3.tar.gz
[root]#tar zxvf minicom-2.3.tar.gz
[root]#./configure --help
//可以查看一下配置选项
[root]#./configure /
>CC=arm-linux-gcc /
>--prefix=/home/s2e/minicom /
>--host=arm-linux /
>CPPFLAGS=-I/usr/local/arm/3.4.1/arm-linux/include /
>LDFLAGS=-L/usr/local/arm/3.4.1/arm-linux/lib /
>--enable-cfg-dir=/etc/minicom /

[root]#make
提示:
window.c:31:21: termcap.h: No such file or directory
还是没有找到termcap.h
配置加一句CPPFLAGS=-I/usr/local/arm/3.4.1/arm-linux/include/ncurses
[root]#./configure /
>CC=arm-linux-gcc /
>--prefix=/home/s2e/minicom /
>--host=arm-linux /
>CPPFLAGS=-I/usr/local/arm/3.4.1/arm-linux/include /
>CPPFLAGS=-I/usr/local/arm/3.4.1/arm-linux/include/ncureses /
>LDFLAGS=-L/usr/local/arm/3.4.1/arm-linux/lib /
>--enable-cfg-dir=/etc/minicom /
[root]#make
minicom需要ncuses库的支持
arm-linux-gcc中并没有此库故需要交叉编译ncuses
[root]#make install
编译安装成功

板子上运行
[2440]#./minicom -s
本以为圆满了,结果提示
No termcap entry for vt102
//vt102没有termcap的入口,发现好多人都存在这个问题
查找源代码也无果,只好google
解决办法如下:
[2440]#echo $TERM
vt102
//此命令是敲在板子上shell的,显示TERM变量
[2440]#echo TERMINFO

//这个变量是NULL,问题就出在这里
在pc机中查找vt102存放的目录
我的在/usr/share/terminfo/v中
[2440]#mkdir /usr/share/terminfo
[2440]#cp -r pclinux/usr/share/terminfo/v /usr/share/terminfo
复制pc机上linux中的目录:/usr/share/terminfo/v to 2440中的目录:/usr/share/terminfo
设置环境变量:
[2440]#export TERMINFO=/usr/share/terminfo
此时minicom已经可以正常使用了
[2440]./minicom -s
//configure 中有一句--enable-cfg-dir=/etc/minicom
/etc/minicom此目录如果不存在需要自己mkdir,否则minirc.xx无法保存。
接下来就该开始研究minicom的code了!


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>