一种驱动程序的归一化方法及设备技术

技术编号:19856981 阅读:27 留言:0更新日期:2018-12-22 11:35
本申请的目的是提供一种驱动程序的归一化方法及设备,本申请对SPI设备原有的驱动程序中的驱动参数进行归一化处理,得到归一化驱动参数和对应的归一化驱动程序,其中,所述归一化驱动程序中通过宏定义对不同类型的设备进行区分;当用户需要对一设备而进行驱动时,根据确定的待驱动的设备类型在归一化驱动程序中创建对应的宏定义,并为归一化驱动参数调用对应的设备驱动参数;基于设备驱动参数编译归一化驱动程序,实现了将SPI设备原有的一份驱动程序通过归一化处理后,可以适用于不同类型的设备所需的驱动程序,从而简化了代码维护,并节省了人力物力和时间投入。

【技术实现步骤摘要】
一种驱动程序的归一化方法及设备
本申请涉及计算机领域,尤其涉及一种驱动程序的归一化方法及设备。
技术介绍
现有技术中,在智能终端平台中为了进一步保护终端用户的个人隐私和数据,引入了芯片级的安全技术可信赖区域(TrustZone,TZ)技术,通过硬件和系统软件、驱动以及上层应用的合作,实现了一整套安全机制。对重要数据的访问被转移到可信执行环境(TrustedExecutionEnvironment,TEE)中进行,其最终执行结果被返回到富裕执行环境(RichExecutionEnvironment,REE),供正常使用。由于TZ技术的出现,导致串行外围接口(SerialPeripheralInterface,SPI)通信所依赖的SPI驱动通信功能部分从嵌入式Linux内核驱动架构中移出,作为替代,采用客户应用-可信赖应用(ClientApplicatin-TrustedApplicatin,CA-TA)机制来实现。即用户在CA中发起命令,TA中做出响应,并执行SPI通信相关的操作,获取到相关的结果后再返回给CA端使用,而在TA端运算的数据和一些中间结果通常都属于秘密信息,不会共享给CA端。这样,在新的TZ机制下,原有Linux内核驱动架构中的SPI驱动通信部分已经失去了原有的存在价值,新的SPI通信部分已经放在TEE端实现,且通常都是以库文件的形式提供,在TA端只要调用相应的接口即可访问SPI。作为结果,原有Linux内核驱动架构中的SPI驱动仅保留一些初始化操作以及对GPIO的操作、对外部中断响应的操作即可。而这些操作已经和SPI设备没有关系,所以,为了与原有的传统SPI驱动保持区分,将SPI设备用平台设备代替,这样便形成了TZ引入后Linux内核中SPI驱动的一般架构,即平台驱动方式。但由于在某些场景下,如智能终端只有REE环境,没有TEE环境,传统SPI驱动还有其存在的价值,故将普通SPI驱动和TZ环境下的平台驱动统一起来成为业界研究的主要课题。
技术实现思路
本申请的一个目的是提供一种驱动程序的归一化方法及设备,以解决现有技术中对不同的设备驱动形式下的驱动代码的维护繁琐且费时费力的问题。根据本申请的一个方面,提供了一种驱动程序的归一化方法,其中,所述方法包括:对SPI设备原有的驱动程序中的驱动参数进行归一化处理,得到归一化驱动参数和对应的归一化驱动程序,其中,所述归一化驱动程序中通过宏定义对不同类型的设备进行区分;确定待驱动的设备类型;根据所述设备类型在所述归一化驱动程序中创建对应的宏定义,并为所述归一化驱动参数调用对应的设备驱动参数;基于所述设备驱动参数编译所述归一化驱动程序。进一步地,上述方法中,所述归一化驱动参数包括设备相关参数和设备相关操作函数。进一步地,上述方法中,所述确定待驱动的设备类型,包括:根据用户需求确定待驱动的设备类型。进一步地,上述方法中,所述待驱动的设备类型包括SPI设备和平台设备。进一步地,上述方法中,若所述待驱动的设备类型为平台设备,则在所述归一化驱动程序中取消原有的宏定义,并创建用于指示所述平台设备的宏定义。根据本申请的另一方面,还提供了一种驱动程序的归一化设备,其中,所述设备包括:归一化装置,用于对SPI设备原有的驱动程序中的驱动参数进行归一化处理,得到归一化驱动参数和对应的归一化驱动程序,其中,所述归一化驱动程序中通过宏定义对不同类型的设备进行区分;确定装置,用于确定待驱动的设备类型;调用装置,用于根据所述设备类型在所述归一化驱动程序中创建对应的宏定义,并为所述归一化驱动参数调用对应的设备驱动参数;编译装置,用于基于所述设备驱动参数编译所述归一化驱动程序。进一步地,上述设备中,所述归一化驱动参数包括设备相关参数和设备相关操作函数。进一步地,上述设备中,所述确定待驱动的设备类型,包括:根据用户需求确定待驱动的设备类型。进一步地,上述设备中,所述待驱动的设备类型包括SPI设备和平台设备。进一步地,上述设备中,若所述待驱动的设备类型为平台设备,则在所述归一化驱动程序中取消原有的宏定义,并创建用于指示所述平台设备的宏定义。与现有技术相比,本申请通过对SPI设备原有的驱动程序中的驱动参数进行归一化处理,得到归一化驱动参数和对应的归一化驱动程序,其中,所述归一化驱动程序中通过宏定义对不同类型的设备进行区分,以便基于不同类型的设备对应在归一化驱动程序中的宏定义,来指示该归一化驱动程序被编译适用于对应类型的设备;当用户需要编译并驱动某设备时,则根据用户需求确定待驱动的设备类型;根据该设备类型在归一化驱动程序中创建对应的宏定义,并为归一化驱动参数调用对应的设备驱动参数;最后基于所述设备驱动参数编译所述归一化驱动程序,实现了在归一化驱动程序的编译过程中控制其编译为适用于待驱动的设备类型,以满足用户的不同需求,使得SPI设备原有的一份驱动程序通过归一化处理后,可以适用于不同类型的设备所需的驱动程序,从而简化了代码维护,并节省了人力物力和时间投入。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1示出根据本申请一个方面的一种驱动程序的归一化方法的流程示意图;图2示出根据本申请一个方面的一种驱动程序的归一化方法的一实际应用场景示意图;图3示出根据本申请一个方面的一种驱动程序的归一化设备的结构示意图。附图中相同或相似的附图标记代表相同或相似的部件。具体实施方式下面结合附图对本申请作进一步详细描述。图1示出根据本申请一个方面的一种驱动程序的归一化方法,该方法包括:步骤S11、步骤S12、步骤S13和步骤S14,其中,具体包括:所述步骤S11,对SPI设备原有的驱动程序中的驱动参数进行归一化处理,得到归一化驱动参数和对应的归一化驱动程序,其中,所述归一化驱动程序中通过宏定义对不同类型的设备进行区分,以便基于不同类型的设备对应在归一化驱动程序中的宏定义,来指示该归一化驱动程序被编译成适用于对应类型的设备。在所述步骤S11中,该SPI设备原有的驱动程序中的驱动参数可以包括但不限于该SPI设备原有的驱动程序中的、与该SPI设备相关的变量名称及相关操作函数等。所述步骤S11中的对SPI设备的原有的驱动程序中的驱动参数进行的归一化处理,用于指示将SPI设备的原有的驱动程序中的、与该SPI设备相关的变量名称及相关操作函数等进行抽象处理,以得到抽象处理后的且能够用于兼容SPI设备和与该SPI设备相互独立的其他设备(例如平台设备)的归一化驱动参数,当然,归一化驱动参数包括但不限于设备相关参数和设备相关操作函数。在对该SPI设备原有的驱动程序中的驱动参数进行抽象处理之后,得到包含有归一化驱动参数的该SPI设备原有的驱动程序对应的归一化驱动程序,即该SPI设备原有的驱动程序经过对驱动参数的抽象处理之后,归一化为包含有归一化驱动参数的归一化驱动程序,以满足不同类型的设备(例如,SPI设备及平台设备等)对驱动程序的驱动需求。本实施例中,下面以代码的形式来进一步解释说明所述步骤S11中的对SPI设备原有的驱动程序中的驱动参数进行归一化处理后得到归一化驱动参数:spi_device--->GSL_DEV_SEL_devicespi_d本文档来自技高网
...

【技术保护点】
1.一种驱动程序的归一化方法,其中,所述方法包括:对SPI设备原有的驱动程序中的驱动参数进行归一化处理,得到归一化驱动参数和对应的归一化驱动程序,其中,所述归一化驱动程序中通过宏定义对不同类型的设备进行区分;确定待驱动的设备类型;根据所述设备类型在所述归一化驱动程序中创建对应的宏定义,并为所述归一化驱动参数调用对应的设备驱动参数;基于所述设备驱动参数编译所述归一化驱动程序。

【技术特征摘要】
1.一种驱动程序的归一化方法,其中,所述方法包括:对SPI设备原有的驱动程序中的驱动参数进行归一化处理,得到归一化驱动参数和对应的归一化驱动程序,其中,所述归一化驱动程序中通过宏定义对不同类型的设备进行区分;确定待驱动的设备类型;根据所述设备类型在所述归一化驱动程序中创建对应的宏定义,并为所述归一化驱动参数调用对应的设备驱动参数;基于所述设备驱动参数编译所述归一化驱动程序。2.根据权利要求1所述的方法,其中,所述归一化驱动参数包括设备相关参数和设备相关操作函数。3.根据权利要求1所述的方法,其中,所述确定待驱动的设备类型,包括:根据用户需求确定待驱动的设备类型。4.根据权利要求1所述的方法,其中,所述待驱动的设备类型包括SPI设备和平台设备。5.根据权利要求5所述的方法,其中,若所述待驱动的设备类型为平台设备,则在所述归一化驱动程序中取消原有的宏定义,并创建用于指示所述平台设备的宏定义。6.一种驱动程序的归一化设备,其...

【专利技术属性】
技术研发人员:彭凡
申请(专利权)人:上海思立微电子科技有限公司
类型:发明
国别省市:上海,31

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

1