一种Linux下抽象硬件IO符号操作的方法与终端技术

技术编号:31508504 阅读:59 留言:0更新日期:2021-12-22 23:43
本发明专利技术公开了一种Linux下抽象硬件IO符号操作的方法与终端;根据用户输入的符号名称,在设备树中对CPU的每一个IO引脚进行对应命名;启动驱动程序,驱动程序读取设备树中已命名的各个IO引脚的符号名称,并在预设目录下生成文件名称为符号名称且与IO引脚映射关联的字符文件;接收GPIO操作请求,根据GPIO操作请求向对应的字符文件写入操作数据;驱动程序监测到字符文件的数据写入,获取操作数据并向与字符文件映射关联的IO引脚写入操作数据;本发明专利技术通过对IO引脚进行符号名称命名,实现从底层驱动层的屏蔽,在更换平台后,不再需要修改到驱动代码,且不需要对GPIO进行重复进行导出的操作,具有更好的可移植性,能够更好地兼容不同CPU平台。同CPU平台。同CPU平台。

【技术实现步骤摘要】
一种Linux下抽象硬件IO符号操作的方法与终端


[0001]本专利技术涉及设备通信
,特别涉及一种Linux下抽象硬件IO符号操作的方法与终端。

技术介绍

[0002]现有技术中,在操作GPIO引脚时,都是在/sys/class/gpio/目录下对对应IO编号的IO引脚进行操作。每次操作时,都要在业务层根据IO编号操作导出,然后才能对其进行操作,例如:
[0003]导出
[0004]echo 44>/sys/class/gpio/export
[0005]设置方向
[0006]echo out>/sys/class/gpio/gpio44/direction
[0007]设置值
[0008]echo 1>/sys/class/gpio/gpio44/value
[0009]其中,数字44为硬件IO引脚的对应IO编号。且在更换不同CPU后,由于各个模块对应IO引脚的IO编号可能发生变化,导致业务层进行逻辑控制时要对应去修改代码中的GPIO,且由于IO引脚的IO编号不同,需要对应重复进行导出的操作,可移植性差,无法很好的兼容不同CPU平台。

技术实现思路

[0010]本专利技术所要解决的技术问题是:提供一种Linux下抽象硬件IO符号操作的方法与终端,能够更好地兼容不同的CPU平台。
[0011]为了解决上述技术问题,本专利技术采用的技术方案为:
[0012]一种Linux下抽象硬件IO符号操作的方法,包括步骤:
[0013]S1、根据用户输入的符号名称,在设备树中对CPU的每一个IO引脚进行对应命名;
[0014]S2、启动驱动程序,所述驱动程序读取所述设备树中已命名的各个所述IO引脚的符号名称,并在预设目录下生成文件名称为所述符号名称且与所述IO引脚映射关联的字符文件;
[0015]S3、接收GPIO操作请求,根据所述GPIO操作请求向对应的所述字符文件写入操作数据;
[0016]S4、所述驱动程序监测到所述字符文件的数据写入,获取所述操作数据并向与所述字符文件映射关联的所述IO引脚写入所述操作数据。
[0017]为了解决上述技术问题,本专利技术采用的另一种技术方案为:
[0018]一种Linux下抽象硬件IO符号操作的终端,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0019]S1、根据用户输入的符号名称,在设备树中对CPU的每一个IO引脚进行对应命名;
[0020]S2、启动驱动程序,所述驱动程序读取所述设备树中已命名的各个所述IO引脚的符号名称,并在预设目录下生成文件名称为所述符号名称且与所述IO引脚映射关联的字符文件;
[0021]S3、接收GPIO操作请求,根据所述GPIO操作请求向对应的所述字符文件写入操作数据;
[0022]S4、所述驱动程序监测到所述字符文件的数据写入,获取所述操作数据并向与所述字符文件映射关联的所述IO引脚写入所述操作数据。
[0023]本专利技术的有益效果在于:本专利技术通过对IO引脚进行符号名称命名,即进行了符号抽象,直接从底层驱动层进行屏蔽,不论如何更换CPU平台,只要修改下DTS中IO引脚的名称,不再需要修改到驱动代码,且通过字符文件进行操作,不需要对GPIO进行重复进行导出的操作,具有更好的可移植性,能够更好地兼容不同CPU平台。
附图说明
[0024]图1为本专利技术实施例的一种Linux下抽象硬件IO符号操作的方法的流程图;
[0025]图2为本专利技术实施例的一种Linux下抽象硬件IO符号操作的终端的结构图;
[0026]标号说明:
[0027]1、一种Linux下抽象硬件IO符号操作的终端;2、处理器;3、存储器。
具体实施方式
[0028]为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图予以说明。
[0029]请参照图1,一种Linux下抽象硬件IO符号操作的方法,包括步骤:
[0030]S1、根据用户输入的符号名称,在设备树中对CPU的每一个IO引脚进行对应命名;
[0031]S2、启动驱动程序,所述驱动程序读取所述设备树中已命名的各个所述IO引脚的符号名称,并在预设目录下生成文件名称为所述符号名称且与所述IO引脚映射关联的字符文件;
[0032]S3、接收GPIO操作请求,根据所述GPIO操作请求向对应的所述字符文件写入操作数据;
[0033]S4、所述驱动程序监测到所述字符文件的数据写入,获取所述操作数据并向与所述字符文件映射关联的所述IO引脚写入所述操作数据。
[0034]从上述描述可知,本专利技术的有益效果在于:本专利技术通过对IO引脚进行符号名称命名,即进行了符号抽象,直接从底层驱动层进行屏蔽,不论如何更换CPU平台,只要修改下DTS中IO引脚的名称,不再需要修改到驱动代码,且通过字符文件进行操作,不需要对GPIO进行重复进行导出的操作,具有更好的可移植性,能够更好地兼容不同CPU平台。
[0035]进一步地,所述步骤S2具体为:
[0036]启动驱动程序,所述驱动程序读取所述设备树中已命名的各个所述IO引脚的符号名称,生成索引文件,并在预设目录下生成名称与所述IO引脚的符号名称相同的字符文件,通过所述索引文件对所述字符文件和所述IO引脚进行映射关联。
[0037]由上述描述可知,通过字符文件的名称与IO引脚的符号名称相同,并建立索引文件,从而将字符文件与IO引脚进行映射关联,使后续在需要对IO引脚进行操作时,不需要在进行导出,仅直接对字符文件进行操作数据写入即可,驱动监测到对字符文件进行操作数据写入后,即向对应的IO引脚进行相应操作。
[0038]进一步地,所述步骤S4具体为:
[0039]所述驱动程序在监测到所述字符文件的数据写入后触发处理函数,由所述处理函数获取所述操作数据,并根据所述字符文件的符号名称在所述索引表中进行查找,得到对应的所述IO引脚,而后向所述IO引脚写入操作数据。
[0040]由上述描述可知,处理函数在获取到操作数据后,根据字符文件的符号名称在索引表中进行查找,通过所述索引表找到对应的IO引脚,从而进行操作数据的写入。
[0041]进一步地,所述驱动程序读取所述设备树中已命名的各个所述IO引脚的符号名称具体为:
[0042]所述驱动程序调用所述设备树的OF函数接口获取所述设备树中已命名的各个是IO引脚的符号名称。
[0043]由上述描述可知,驱动程序通过Linux系统中设备树的OF函数接口来解析得到与IO引脚对应的字符名称。
[0044]进一步地,所述符号名称的格式为模块外设的名称加上引脚功能名称。
[0045]由上述描述可知,所有符号名称均以模块外设的名称加上引脚功能名称命名,能够直本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Linux下抽象硬件IO符号操作的方法,其特征在于,包括步骤:S1、根据用户输入的符号名称,在设备树中对CPU的每一个IO引脚进行对应命名;S2、启动驱动程序,所述驱动程序读取所述设备树中已命名的各个所述IO引脚的符号名称,并在预设目录下生成文件名称为所述符号名称且与所述IO引脚映射关联的字符文件;S3、接收GPIO操作请求,根据所述GPIO操作请求向对应的所述字符文件写入操作数据;S4、所述驱动程序监测到所述字符文件的数据写入,获取所述操作数据并向与所述字符文件映射关联的所述IO引脚写入所述操作数据。2.根据权利要求1所述的一种Linux下抽象硬件IO符号操作的方法,其特征在于,所述步骤S2具体为:启动驱动程序,所述驱动程序读取所述设备树中已命名的各个所述IO引脚的符号名称,生成索引文件,并在预设目录下生成名称与所述IO引脚的符号名称相同的字符文件,通过所述索引文件对所述字符文件和所述IO引脚进行映射关联。3.根据权利要求2所述的一种Linux下抽象硬件IO符号操作的方法,其特征在于,所述步骤S4具体为:所述驱动程序在监测到所述字符文件的数据写入后触发处理函数,由所述处理函数获取所述操作数据,并根据所述字符文件的符号名称在所述索引表中进行查找,得到对应的所述IO引脚,而后向所述IO引脚写入操作数据。4.根据权利要求1所述的一种Linux下抽象硬件IO符号操作的方法,其特征在于,所述驱动程序读取所述设备树中已命名的各个所述IO引脚的符号名称具体为:所述驱动程序调用所述设备树的OF函数接口获取所述设备树中已命名的各个是IO引脚的符号名称。5.根据权利要求1所述的一种Linux下抽象硬件IO符号操作的方法,其特征在于,所述符号名称的格式为模块外设的名称加上引脚功能名称。6.一种Linux下抽象硬件IO符号操作的终端,包括处理器、存储器以及...

【专利技术属性】
技术研发人员:陈金乐欧新木黄继波付春启洪慰
申请(专利权)人:福州富昌维控电子科技有限公司
类型:发明
国别省市:

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

1