一种Linux系统串口功能禁用的方法技术方案

技术编号:32015498 阅读:22 留言:0更新日期:2022-01-22 18:33
本申请提供了一种Linux系统串口功能禁用的方法,所述方法包括:调用Linux内核中的环境变量,获取环境变量中的串口开关参数,根据串口开关参数更改内核启动参数中的控制台参数;将更改后的控制台参数传递至Linux内核中,调用函数控制对应串口的动态开关。本申请修改Linux内核中的UBOOT,根据UBOOT的环境变量中开启/关闭串口的串口开关参数来调整内核启动参数中的控制台参数,Linux内核根据调整后的控制台参数使控制台映射给对应串口,动态打开串口打印,或者使控制台映射给其他虚拟端口,动态关闭串口打印,使得Linux系统的串口输出动态开启或关闭,且方法简单、方便,无需深入了解Linux系统。解Linux系统。解Linux系统。

【技术实现步骤摘要】
一种Linux系统串口功能禁用的方法


[0001]本申请涉及嵌入式设备
,尤其涉及一种Linux系统串口功能禁用的方法。

技术介绍

[0002]串口是嵌入式设备的主要调试工具,通常会有很多设备信息从串口输出,有些设备处于安全考虑,需要关闭串口功能,防止重要信息泄露,同时还要求能够动态开启串口功能,当设备出问题是便于定位问题。
[0003]目前基于Linux的嵌入式设备串口功能禁用方法是通过改变镜像源码来实现的,一旦工程编译完成,串口的开启/关闭状态已经确定,程序运行过程中无法改变。

技术实现思路

[0004]本申请实施例提供了一种Linux系统串口功能禁用的方法,以解决目前嵌入式设备的串口开关功能在程序运行过程中无法改变的问题。
[0005]本申请提供了一种Linux系统串口功能禁用的方法,包括:
[0006]调用Linux内核中的环境变量;
[0007]获取所述环境变量中的串口开关参数;
[0008]根据所述串口开关参数更改内核启动参数中的控制台参数;
[0009]将更改后的控制台参数传递至所述Linux内核中,调用函数控制对应串口的动态开关。
[0010]本申请提供的Linux系统串口功能禁用的方法包括:调用Linux内核中的环境变量,获取环境变量中的串口开关参数,根据串口开关参数更改内核启动参数中的控制台参数,将更改后的控制台参数传递至Linux内核中,调用函数控制对应串口的动态开关。本申请修改Linux内核中的UBOOT,根据UBOOT的环境变量中开启/关闭串口的串口开关参数来调整内核启动参数中的控制台参数console,Linux内核根据调整后的控制台参数console使控制台映射给对应串口,动态打开串口打印,或者使控制台映射给其他虚拟端口,动态关闭串口打印,如此能够使Linux系统的串口输出能够动态开启或关闭,且方法简单、方便,无需深入了解Linux系统。
附图说明
[0011]图1为根据一些实施例的Linux系统的结构框图;
[0012]图2为本申请实施例提供的一种Linux系统串口功能禁用的方法的流程图。
具体实施方式
[0013]为便于对申请的技术方案进行描述,以下首先在对本申请所涉及到的一些概念进行说明。
[0014]为了使本
的人员更好地理解本公开中的技术方案,下面将结合本公开实
施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
[0015]图1为根据一些实施例的Linux系统的结构框图。如图1所示,Linux系统一般包括内核、中间层与应用层,内核是靠近硬件的底层,且内核是Linux操作系统常驻内存部分;内核是一段计算机程序,这个程序直接管理硬件,包括CPU、内存空间、硬盘接口、网络接口等等,所有的计算机操作都要通过内核传递给硬件。中间层是内核之外的shell层,即操作系统的系统程序部分;应用层是最高层,即用户程序部分。
[0016]为了方便调用内核,Linux将内核的功能接口制作成系统调用,通过系统调用这个接口,Linux将上层的应用与下层的内核分离,隐藏了底层的复杂性,也提高了上层应用的可移植性。
[0017]Uart(Universal Asynchronous Receiver/Transmitter,串口)是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,Uart用来与PC进行通信,包括与监控调试器和其他器件,如EEPROM通信。
[0018]在嵌入式Linux系统中,串口被看成终端设备。终端就是处理计算机主机输入输出的一套设备,它用来显示主机运算的输出,并且接受主机要求的输入,典型的终端包括显示器、键盘套件、打印机、打字机套件等。
[0019]终端可分为本地终端、用串口连接的远程终端与用TCP/IP承载的远程终端,本地终端是用VGA连接主机和显示器,用PS/2或USB连接主机和键盘,这样的一个显示器/键盘组合;通过串口线把主机接到另外一个有显示器和键盘的主机,通过运行一个终端模拟程序,比如“Windows超级终端”来将这台主机的显示器和键盘借给串口对端的主机。用TCP/IP承载的远程终端类似telnet/ssh这般。
[0020]本地终端与用串口连接的远程终端都是在本地直接关联了物理设备,比如VGA、PS/2、串口等,这类终端叫做物理终端;用TCP/IP承载的远程终端在本地没有关联任何物理设备,这类不直接关联物理设备的终端叫做伪终端。
[0021]目前基于Linux的嵌入式设备串口功能禁用方法是通过改变镜像源码来实现的,具体地,Linux4.4 menuconfig中,通过使能/关闭“Enable support for printk”来开启或关闭内核打印“printk”。
[0022]‑‑‑
Configure standard kernel features(expert users)
[0023][*]Multiple users,groups and capabilities support
[0024][*]sgetmask/ssetmask syscalls support
[0025][*]Sysfs syscall support
[0026][]Sysctl syscall support
[0027][*]Load all symbols for debugging/ksymoops
[0028][*]Include all symbols in kallsyms
[0029][*]Enable support for printk
[0030][*]BUG()support
[0031][*]Enable ELF core dumps
[0032][*]Enable PC

Speaker support
[0033][*]Enable full

sized data structures for core
[0034][*]Enable futex support
[0035][*]Enable eventpoll support
[0036][*]Enable signalfd() system call
[0037][*]Enable timerfd() system call
[0038]在inittab文件中,“::askfirst:/sbin/getty

L ttys0 115200 vt100”用来初始化用户态串口打印,将此行屏蔽/打开来关闭/开启用户本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Linux系统串口功能禁用的方法,其特征在于,包括:调用Linux内核中的环境变量;获取所述环境变量中的串口开关参数;根据所述串口开关参数更改内核启动参数中的控制台参数;将更改后的控制台参数传递至所述Linux内核中,调用函数控制对应串口的动态开关。2.根据权利要求1所述的Linux系统串口功能禁用的方法,其特征在于,还包括:在Linux系统启动时,获取所述Linux内核中的环境变量;根据所述环境变量中的串口开关参数设置所述内核启动参数中的控制台参数;根据设置的所述控制台参数控制对应串口的动态开关。3.根据权利要求1所述的Linux系统串口功能禁用的方法,其特征在于,还包括:在Linux系统启动完成后,获取所述Linux内核中的环境变量;根据所述环境变量中的串口开关参数修改所述内核启动参数中的控制台参数;根据修改后的控制台参数控制对应串口的动态开关。4.根据权利要求1所述的Linux系统串口功能禁用的方法,其特征在于,还包括:在所述Linux内核中的环境变量中增设串口开关参数console_onoff。5.根据权利要求1所述的Linux...

【专利技术属性】
技术研发人员:王成
申请(专利权)人:青岛海信宽带多媒体技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1