在RV1126开发板上移植minicom
在做测试机项目的时候,使用cat /dev/ttyS4
命令查看串口接收的数据只能看到字符形式的数据,导致我不能看到上位机发送十六进制的全貌,能不能在嵌入式板子上看到HQ上位机发送的十六进制数据具体是什么?于是萌生了在开发板上安装minicom这个串口工具。下面记录了我移植minicom时的过程和踩的坑。
移植ncurses
minicom 需要用到 ncurses,因此需要先移植 ncurses,首先在ubuntu中 创建一个目录来存放我们要移植的文件 , 我这里是在/home/目录下创建了一个名为“linuxTool”的目录来存放所有的移植文件。然后下载 ncurses 源码,(源码正点原子的IMX6ULL开发板的资料里有提供,路径在:例程源码-》7、第三方库源码-》ncurses-6.0.tar.gz),将 ncurses-6.0.tar.gz 拷贝到 Ubuntu 中创建的linuxTool目录下,然后进行解压,解压命令如下:
tar -vxzf ncurses-6.0.tar.gz
解压完成以后就会生成一个名为“ncurses-6.0”的文件夹,此文件夹就是 ncurese 的源码文件夹。在 linuxTool 目录下新建名为“ncurses”目录,用于保存 ncurses 编译结果,一切准备就绪以后就可以编译 ncureses 库了。进入到 ncureses 源码目录下,也就是刚刚解压出来的 ncurses-6.0 目录中,首先是配置 ncureses,输入如下命令:
./configure
--prefix=/home/linuxTool/ncurses
--host=arm-linux-gnueabihf
--target=arm-linux-gnueabihf
--with-shared --without-profile --disable-stripping
--without-progs --with-manpages --without-tests
上述是一条完整的命令,为了好看我加上了回车,configure 就是配置脚本。
- --prefix 用于指定编译结果的保存目录,这里肯定将编译结果保存到我们前面创建的“ncurses”目录中。
- --host 用于指定编译器前缀,这里设置为 “arm-linux-gnueabihf”,
- --target 用于指定目标,这里也设置为“arm-linux-gnueabihf”。
这里的交叉编译器arm-linux-gnueabihf路径要在环境变量里设置,设置方法是在~/.bashrc
下添加交叉编译器路径
然后输入source ~/.bashrc
使环境变量生效。这里如果没有设置好,后面配置minicom的时候会报错。
配置命令写好以后点击回车键,等待配置完成,配置成功以后如下图所示
随后输入make编译,然后输入make install命令安装,安装的意思就是将编译出来的结果拷贝到--prefix所指定的目录里。安装成功以后,查看ncurses目录下会多出这么一些东西。
我们需要将上图中include、lib和share这三个目录中存放的文件分别拷贝到开发板根文件系统中的/usr/include、/usr/lib 和/usr/share 这三个目录中,如果哪个目录不存在的话需要自行创建!!使用如下adb命令将文件push到rv1126的开发板对应目录中
adb push .\lib\. /usr/lib/
adb push .\share\. /usr/share/
adb push .\include\. /usr/include/
adb想要把整个文件夹下所有的文件都push到开发板中需要在文件夹后面加.
而不是像在linux中加*
,还有一点就是使用adb push命令push链接文件的时候会报找不到这个文件的错误,在使用上述命令会报这个错误,由于上述文件中的链接文件的源文件也在同一个目录下,这个错误可以忽略。
然后在开发板根目录的/etc/profile(没有的话自己创建一个)文件中添加如下所示内容:
#!/bin/sh
LD_LIBRARY_PATH=/lib:/usr/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
export TERM=vt100
export TERMINFO=/usr/share/terminfo
移植minicom
同样的,同样在该路径下创建一个叫做minicom的文件夹,将正点原子提供资料的这个路径下的:例程源码-》7、第三方库源码-》minicom-2.7.1.tar.gz 拷贝到 ubuntu 中的linuxTool目录下,然后使用如下命令进行解压:
tar -vxzf minicom-2.7.1.tar.gz
解压完成以后会生成一个叫做 minicom-2.7.1 的文件夹,这个就是 minicom 的源码,进入到此目录中,然后配置 minicom,配置命令如下
cd minicom-2.7.1 //进入 minicom 源码目录
./configure CC=arm-linux-gnueabihf-gcc --prefix=/home/linuxTool/minicom
--host=arm-linux-gnueabihf
CPPFLAGS=-I/home/zuozhongkai/linuxTool/ncurses/include
LDFLAGS=-L/home/zuozhongkai/linux/IMX6ULL/tool/ncurses/lib
-enable-cfg-dir=/etc/minicom //配置
CC 表示要使用的 gcc 交叉编译器,
- --prefix 指定编译出来的文件存放目录,肯定要存放到我们前面创建的 minicom 目录中。
- --host 指定交叉编译器前缀
- CPPFLAGS 指定 ncurses 的头文件路径
- LDFLAGS 指定 ncurses 的库路径
配置成功以后输入make
编译。输入make install
安装。这时看到minicom文件夹下会有以下文件
将minicom目录中bin子目录下的所有文件拷贝到开发板根目录中的usr/bin目录下,使用的adb命令如下
adb push .\bin\. /usr/bin
完成以后在开发板中输入minicom -v
会报没有执行权限的错误,这是因为从adb push上来的文件都没可执行权限,到/usr/bin下输入命令chmod +x minicom
赋予其可执行权限。重新输入命令minicom -v
,会看到如下结果。
输入minicom -s
1. 如果报以下错误
遇到这种情况在/etc里面添加passwd文件
vi /etc/passwd
#内容如下
root:x:0:0:root:/root:/bin/sh
2. 如果报以下错误
这里输入命令echo $TERMINFO
检查一下有没有TERMINFO这个变量,
实际上前面我们在开发板更改/etc/profile文件的时候已经命名了,只是我们忘记source了,这里source /etc/profile
一下,重新运行命令minicom -s
,出现如下配置界面
选到Serial port setup,配置串口
输入A,将文字为/dev/ttyS4,回车确认。
到screen and keyboard选项,
输入S,让Hex Display选项变为yes,这样就可以让数据以16进制的形式显示。在windows端的HQ串口助手向串口发送命令,
RV1126的minicom得到如下显示:
可以看到是以16进制显示的,而且数据一致。
退出minicom输入ctrl+A,然后输入Z,然后输入X,跳出退出提示,选中yes,回车即可。
- 分享
- 举报
-
浏览量:4761次2022-06-11 13:46:26
-
浏览量:2064次2023-04-07 17:30:05
-
浏览量:1380次2023-07-21 17:25:16
-
浏览量:2812次2023-04-14 09:29:35
-
浏览量:7912次2022-07-29 18:09:52
-
浏览量:1253次2023-08-31 16:23:55
-
浏览量:2488次2023-11-29 08:59:50
-
浏览量:2582次2023-08-16 14:52:32
-
浏览量:4943次2022-11-07 14:06:56
-
浏览量:687次2023-11-30 19:11:02
-
浏览量:3383次2022-11-07 15:13:05
-
2022-11-07 14:56:46
-
浏览量:3984次2021-06-18 16:05:42
-
浏览量:1115次2024-02-29 16:04:02
-
2022-11-08 12:06:09
-
浏览量:1423次2024-01-09 17:43:28
-
浏览量:782次2023-12-25 14:23:01
-
浏览量:975次2023-11-10 15:08:11
-
浏览量:655次2023-12-21 16:28:56
-
7篇
- 基于瑞芯微RV1109 Linux触摸屏GT911驱动调试心得(二)-设备树刷厂商给的触摸屏固件
- librtmp推流库在瑞芯微RV1109平台上的移植和应用(一)
- 1-易百纳A201 rv1126开发板rknn Python搭建(固件准备)
- 嵌入式开发环境问题-docker容器开发RV1126
- 瑞芯微RK1126平台编译zlib gpac 使用GPAC将H264 H265保存为MP4文件录像
- 人脸识别还能怎么玩?独有明星搜索娱乐引擎开启!【指尖上的RK3288芯】
- 【今天推荐的是!】RK3288平板-PIPO P4
- 喂!你回头试试——中国芯国际范儿之联想A10篇
- 【征文活动】基于AI视觉方向,面向所有社区用户征文,快来报名吧
- 提升核酸检测效率,研华推出搭载瑞芯微RK3399单板电脑
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
JQ
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明