历史上的今天
今天是:2024年12月29日(星期日)
2021年12月29日 | 迅为iTOP-4418开发板串口虚拟控制台配置为普通串口
2021-12-29 来源:eefocus
如何将 iTOP-4418 的串口控制台配置为普通串口。在最终的产品中,如果需要额外的串口,可以将调试用的控制台串口作为普通串口使用,因为交付给最终用户手中的产品,一般不需要调试串口。屏蔽串口控制台需要做内核和文件系统的控制台屏蔽。注意:本文档中的 uboot 配置,也是为了屏蔽 uboot 设置的环境变量传递到内核和 android 系统中,本质上也是为了屏蔽内核和文件系统中的串口控制台。
1 内核配置
如下图所示,在 4418 的 android 源码目录中,使用命令“cd kernel”进入内核源码目
录,使用“export ARCH=arm”命令配置目标平台为 arm,接着使用“make
menuconfig”命令(注意操作这一步,首先要配置好缺省文件),进入内核配置,如下图所示。

使用“make menuconfig”之后,如下图所示。
如下图所示,找到“Device Drivers --->”。

进入“Device Drivers --->”,如下图所示。

如下图所示,找到“Character devices --->”。

进入“Character devices --->”,如下图所示。

如下图所示,找到“Serial drivers --->”。

进入“Serial drivers --->”,如下图所示。

如下图所示,找到“Support for console on AMBA serial port”。

将“Support for console on AMBA serial port”选项去掉,如下图所示。

退出 menuconfig,并保存,得到新的“.config”配置文件。
接着使用命令“vim .config”打开缺省文件,搜索关键词“android”,找到
“CONFIG_CMDLINE”配置选项,如下图所示。

删除掉“androidboot.console=ttyAMA0”,如下图所示。

然后保存,内核配置完成。
2 uboot配置
如下图所示,在 4418 的 android 源码目录中,使用命令“cd u-boot”进入 uboot源
码目录,使用命令“vim board/s5p4418/drone2/board.c”打开环境变量配置的文件。

搜索“console=ttyAMA0,115200n8”,如下图所示,去掉“sprintf(bootargs,
"console=ttyAMA0,115200n8 androidboot.hardware=drone2
androidboot.console=ttyAMA0 androidboot.serialno=0123456789abcdef
initrd=0x49000000,0x1000000 init=/init lcdtype=%s", p);”中的
“console=ttyAMA0,115200n8”和“androidboot.console=ttyAMA0”。注意:一共有
三处,需要全部修改。

修改完成之后的 uboot,重新烧写到开发板之后,如下图所示,在 uboot 中,使用命令
“printenv”,可以看到环境变量的参数改变了。

3 android系统测试
如上配置之后,uboot,内核以及文件系统重新编译烧写,启动开发板,控制台如下图所
示,“Starting kernel ...”

作者使用 360 手机助手安装测试的 app,打开测试 app。关掉默认的串口助手,使用压
缩包中的串口助手,如下图所示(测试的 app 是“serialtest.zip”压缩包的目录/bin 中下的
“serialtest.apk”)。

如下图所示,配置。串口号根据用户实际情况配置。

如果点击“打开串口”有如下图所示的提示框,拔插一下串口的 usb 端。再点击“打开
串口”。

在测试 app 对话框中输入字符,点击“SEND”按钮,在串口助手中会看到有字符输出,
如下图所示。

在 pc 上的串口助手上,“字符串输入框”中输入字符,然后点击发送,然后在开发板
app 上点击按钮“RECV”,可以看到有字符输入到开发板上。

到此,android的测试完毕。
4 最小linux系统和qt系统测试
qte 系统测试方法和最小 linux 系统测试方法类似,本节只介绍最小 linux 系统的完整的
测试方法,qte 系统可以参考最小 linux 系统。
对内核以及文件系统的处理方法和 android系统一模一样,也是内核配置和 uboot 配
置。测试例程的代码在压缩包的“minilinux-c 测试程序.zip”中。
最小 linux 系统文件系统需要修改一下,开机运行我们的测试例程,不然没有办法运行测
试程序。
最小 linux 系统的文件系统“etc/init.d/rcS”文件最后一行添加“/bin/Uart_ttyAMA0
&”。
如下图所示,开机之后会打印“helloworld”,表明串口可以输出;打印完之后,在串口
控制台中输入任意字符,会打印“receive char!”,表明串口接收到了数据(代码中接收到
数据就会打印字符串,具体可以看测试例程)。

史海拾趣
|
作者:applevista 前两天,父亲在庙会上买了两个黑猫神牌电子驱蚊灭鼠器,5块一个。 前两年,见过这样东西,样子不一样,也提醒父亲这是骗人的,还是被骗了。 要是一块一个倒也不错,它其实就是一个简单的彩灯。 这个与卫星增台器、节电器一样 ...… 查看全部问答> |
|
请教各位高手 我在画原理图时(orcad) 有下列两个疑问: 1、请问处理器(在page1上)上的一个引脚如A1需要连接两个外围芯片x,y 可是芯片X我是用层次法(层次图上层在page1上)画的,与芯片y的连接是用平坦式画法 ...… 查看全部问答> |
|
在使用Altera的FPGA时候,由于系统需求,需要在管脚的内部加上上拉电阻。Quartus II软件中在Assignment Editor中可以设置。具体过程如下:1. 在菜单Assignments中选择Assignment Editor. 2. 在弹出的界面里选择I/O Features.找到Node. 3. 选择Node ...… 查看全部问答> |
|
网上找来的,可能有好多错误。 相关链接:https://bbs.eeworld.com.cn/upfiles/img/20076/2007626163328342.pdf… 查看全部问答> |
|
ARM处理器寻址方式 寻址方式是根据指令中给出的地址码字段来实现寻找真实操作数地址的方式,ARM 处理器有9种基本寻址方式。 寄存器寻址 操作数的值在寄存器中,指令中的地址码字段指出的是寄存器编号,指令执行时直 接取出寄存器值操作。 ...… 查看全部问答> |
|
最近想用氨气和硫化氢传感器,国内便宜的就炜盛的MQ系列的,100出头,再上去就要500~600了 他们文档只提供了这个曲线图 有几个问题想请教下用过的前辈 1:这个系列能不能用来做定量测量,还是只能用来定性 2:输出的模拟电压怎么转换成浓度 3 ...… 查看全部问答> |




