一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

eMMC操作方法、装置、可读存储介质及电子设备与流程

2022-06-08 14:58:02 来源:中国专利 TAG:
emmc操作方法、装置、可读存储介质及电子设备
技术领域
1.本发明涉及存储器系统技术领域,尤其涉及一种emmc操作方法、装置、可读存储介质及电子设备。


背景技术:

2.目前查询emmc(embedded multimedia card,嵌入式非易失性存储器系统)信息需要在pc端使用命令行,ffu升级(field firmware update,在线固件升级)需要开卡器和升级软件,如图4和图5所示,整个过程比较繁琐,操作步骤较多,环境要求更高,且涉及到android framework(安卓框架)的修改,android framework为内核驱动和上层应用提供接口;现有技术存在以下问题:1.android framework修改会涉及到编译问题;2.如果需要移植到别的平台使用,也需要修改平台对应的android framework,否则无法移植,也就无法使用。


技术实现要素:

3.本发明所要解决的技术问题是:提供一种emmc操作方法、装置、可读存储介质及电子设备,能够提高emmc操作的便利性。
4.为了解决上述技术问题,本发明采用的一种技术方案为:一种emmc操作方法,包括步骤:接收emmc操作请求;确定所述emmc操作请求对应的应用程序;基于所述应用程序对所述emmc进行操作。
5.为了解决上述技术问题,本发明采用的另一种技术方案为:一种emmc操作装置,包括:请求接收模块,用于接收emmc操作请求;应用程序确定模块,用于确定所述emmc操作请求对应的应用程序;emmc操作模块,用于基于所述应用程序对所述emmc进行操作。
6.为了解决上述技术问题,本发明采用的另一种技术方案为:一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种emmc操作方法中的各个步骤。
7.为了解决上述技术问题,本发明采用的另一种技术方案为:一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种emmc操作方法中的各个步骤。
8.本发明的有益效果在于:确定接收的emmc操作请求对应的应用程序,基于应用程序对emmc进行操作,将emmc相关的查询和升级操作都移植到应用程序中,无需使用开卡器和开卡软件,直接操作应用程序即可实现对emmc的操作,可以在不同的平台安装应用程序使用,通用性更高,且对emmc进行操作的过程无需对安卓框架进行修改,降低了技术难度,
所有操作代码均封装在应用程序中,更有利于后续迭代和维护,从而提高了emmc操作的便利性。
附图说明
9.图1为本发明实施例的一种emmc操作方法的步骤流程图;图2为本发明实施例的一种emmc操作装置的结构示意图;图3为本发明实施例的一种电子设备的结构示意图;图4为现有技术的开卡器示意图;图5为现有技术的升级软件示意图;图6为本发明实施例的emmc操作方法中的应用程序示意图。
具体实施方式
10.为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
11.请参照图1,本发明实施例提供了一种emmc操作方法,包括步骤:接收emmc操作请求;确定所述emmc操作请求对应的应用程序;基于所述应用程序对所述emmc进行操作。
12.从上述描述可知,本发明的有益效果在于:确定接收的emmc操作请求对应的应用程序,基于应用程序对emmc进行操作,将emmc相关的查询和升级操作都移植到应用程序中,无需使用开卡器和开卡软件,直接操作应用程序即可实现对emmc的操作,可以在不同的平台安装应用程序使用,通用性更高,且对emmc进行操作的过程无需对安卓框架进行修改,降低了技术难度,所有操作代码均封装在应用程序中,更有利于后续迭代和维护,从而提高了emmc操作的便利性。
13.进一步地,所述接收emmc操作请求之前包括:接收应用程序生成请求,并根据所述应用程序生成请求生成与emmc对应的应用程序;接收内核权限修改请求,并根据所述内核权限修改请求修改系统的内核后对所述内核进行重新编译,得到刷机包;根据所述刷机包对预设平台进行刷机,得到刷机结果,并根据所述刷机结果将所述应用程序安装至所述预设平台上。
14.由上述描述可知,生成应用程序后,对系统的内核进行修改,然后将应用程序安装到预设平台上,即可利用应用程序对emmc进行操作,包括升级和查询相关信息等,便于后续维护和迭代。
15.进一步地,所述接收应用程序生成请求,并根据所述应用程序生成请求生成与emmc对应的应用程序包括:接收应用程序生成请求;根据所述应用程序生成请求创建jni接口,所述jni接口的参数存储与emmc对应的升级文件的路径;
基于所述jni接口生成java文件;基于所述java文件生成与emmc对应的应用程序。
16.由上述描述可知,创建jni接口,jni接口的参数存储与emmc对应的升级文件的路径,基于jni接口生成java文件,基于java文件生成应用程序,将emmc的相关查询和升级等操作移植到应用程序中,后续可直接利用应用程序对emmc进行操作,降低了emmc的操作要求,且jni接口的参数存储与emmc对应的升级文件的路径,利用jni接口可获取升级文件,以实现对emmc的升级操作。
17.进一步地,所述接收内核权限修改请求,并根据所述内核权限修改请求修改系统的内核后对所述内核进行重新编译,得到刷机包包括:接收内核权限修改请求;根据所述内核权限修改请求从系统的内核中确定权限拦截代码;将所述权限拦截代码进行注释,注释后对所述内核进行重新编译,得到刷机包;所述根据所述刷机包对预设平台进行刷机,得到刷机结果,并根据所述刷机结果将所述应用程序安装至所述预设平台上包括:根据所述刷机包对预设平台进行刷机,得到刷机结果;判断所述刷机结果是否为刷机成功,若是,则安装所述应用程序至所述预设平台。
18.由上述描述可知,只需对内核权限进行修改,修改后进行重新编译,得到刷机包,根据刷机包进行刷机,在刷机成功之后安装生成的应用程序,对内核驱动的改动较小,且无需对android framework进行修改,技术难度更低。
19.进一步地,所述基于所述应用程序对所述emmc进行操作包括:使用所述应用程序调用所述jni接口对native层进行访问,并基于所述native层对所述emmc进行操作。
20.由上述描述可知,使用应用程序调用jni接口对native层进行访问,并基于native层对emmc进行操作,使整个操作过程无需开卡器和开卡软件,也无需执行命令行,将所有代码都封装在了应用程序中,使用应用程序在native层中实现对emmc的访问,从而提高了emmc操作的便利性。
21.进一步地,所述emmc操作请求包括emmc升级请求;所述使用所述应用程序调用所述jni接口对native层进行访问,并基于所述native层对所述emmc进行操作之前包括:根据所述emmc升级请求获取升级文件,并保存所述升级文件至预设文件路径;根据所述预设文件路径确定所述jni接口的参数,得到参数确定后的jni接口;创建native层对应的第一预设文件和第二预设文件,并在所述第二预设文件中配置所述第一预设文件对应的第一文件路径;在所述应用程序中配置所述第二预设文件对应的第二文件路径;在所述第一预设文件中创建所述jni接口对应的方法。
22.由上述描述可知,根据升级文件确定jni接口的参数,以此通过jni接口能够获取到该文件路径下的升级文件,创建native层对应的第一预设文件和第二预设文件,并在第二预设文件中配置第一预设文件对应的第一文件路径,在应用程序中配置第二预设文件对应的第二文件路径,在第一预设文件中创建jni接口对应的方法,以此便于后续通过jni接
口调用到第一预设文件和第二预设文件,实现对native层的访问。
23.进一步地,所述emmc操作请求包括emmc查询请求;所述使用所述应用程序调用所述jni接口对native层进行访问,并基于所述native层对所述emmc进行操作包括:使用所述应用程序调用所述参数确定后的jni接口,并使用所述参数确定后的jni接口调用所述方法;将所述参数确定后的jni接口中的所述参数保存至所述方法中,并根据所述emmc查询请求和所述emmc升级请求基于所述native层使用所述方法调用设备控制接口函数进行emmc升级以及emmc查询。
24.由上述描述可知,在应用程序中调用jni接口,能够利用jni接口调用与其对应的方法,将jni接口中的参数传入方法中,调用到方法后,由于参数保存了升级文件的路径,可通过参数获取到升级文件,以此实现了从应用层到native层的访问,该访问能够将应用层中的升级文件传入到native层,便于在native层打开升级文件,然后,在native的与jni接口对应的方法中调用设备控制接口函数即可实现emmc的升级和查询,从而通过应用程序实现对emmc的操作,可在不同得平台安装应用程序使用,通用性和移植性更高,易于管理和后续的功能扩展。
25.请参照图2,本发明另一实施例提供了一种emmc操作方法,包括:请求接收模块,用于接收emmc操作请求;应用程序确定模块,用于确定所述emmc操作请求对应的应用程序;emmc操作模块,用于基于所述应用程序对所述emmc进行操作。
26.本发明另一实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种emmc操作方法中的各个步骤。
27.请参照图3,本发明另一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种emmc操作方法中的各个步骤。
28.本发明上述的emmc操作方法、装置、可读存储介质及电子设备能够适用于emmc中,以下通过具体实施方式进行说明:实施例一以android studio4.0、预设平台以及ubuntu(以桌面应用为主的开源gnu/linux操作系统)作为软件环境,其中,所述预设平台为mtk6762平台;请参照图1和图6,本实施例的一种emmc操作方法,包括步骤:s01、接收应用程序生成请求,并根据所述应用程序生成请求生成与emmc对应的应用程序,具体包括:s011、接收应用程序生成请求;s012、根据所述应用程序生成请求创建jni接口,所述jni接口的参数存储与emmc对应的升级文件的路径;s013、基于所述jni接口生成java文件;s014、基于所述java文件生成与emmc对应的应用程序;具体的,使用android studio4.0新建app(应用程序)项目,在app项目中创建java
文件,本层属于应用层,以实现ui(user interface,人机交互)界面,在java文件中创建jni接口do_ffu(string path);s02、接收内核权限修改请求,并根据所述内核权限修改请求修改系统的内核后对所述内核进行重新编译,得到刷机包,具体包括:s021、接收内核权限修改请求;s022、根据所述内核权限修改请求从系统的内核中确定权限拦截代码;具体的,根据所述内核权限修改请求从系统的内核(kernel)中确定权限拦截代码,以mtk6762平台为例,在kernel-4.9/drivers/mmc/card/block.c中,寻找到mmc_blk_ioctl_cmd方法,该方法中存在权限拦截代码;s023、将所述权限拦截代码进行注释,注释后对所述内核进行重新编译,得到刷机包;具体的,将权限拦截代码进行注释,注释后对kernel进行重新编译,即在源码环境下执行make命令,得到刷机包;s03、根据所述刷机包对预设平台进行刷机,得到刷机结果,并根据所述刷机结果将所述应用程序安装至所述预设平台上,具体包括:s031、根据所述刷机包对预设平台进行刷机,得到刷机结果;具体的,使用刷机工具根据刷机包在mtk6762平台进行刷机,得到刷机结果;s032、判断所述刷机结果是否为刷机成功,若是,则安装所述应用程序至所述预设平台;若否,则根据实际情况分析刷机失败原因,确定原因后重新进行刷机;刷机成功后才能在后续实现emmc的ffu(在线更新firmware);s1、接收emmc操作请求;其中,所述emmc操作请求包括emmc升级请求和emmc查询请求;s2、确定所述emmc操作请求对应的应用程序;s3、基于所述应用程序对所述emmc进行操作,具体包括:s31、根据所述emmc升级请求获取升级文件,并保存所述升级文件至预设文件路径;其中,所述预设文件路径为所述预设平台的任意包中,本实施例中,所述预设文件路径为mtk6762平台的sdcard/路径;具体的,根据emmc升级请求获取升级文件,即firmware(fw,固件)的bin文件,并保存fw的bin文件至mtk6762平台的sdcard/路径,这样应用层可以获取到sdcard路径下的文件;s32、根据所述预设文件路径确定所述jni接口的参数,得到参数确定后的jni接口;具体的,通过ui界面的控件触发事件,控件的类型包含按钮、文本框等,系统为这些控件提供了事件监听器,在事件调用jni接口do_ffu(string path),将预设文件路径sdcard/fw.bin作为jni接口do_ffu(string path)中的path参数,得到参数确定后的jni接口do_ffu(string path);s33、创建native层对应的第一预设文件和第二预设文件,并在所述第二预设文件中配置所述第一预设文件对应的第一文件路径;
其中,所述第一预设文件为c/c 文件,所述第二预设文件为cmakelists.txt文件;具体的,先在android studio4.0中使用工具栏中的file/settings下载ndk(native development kit,是 android的一个工具开发包)和cmake(跨平台的安装(编译)工具)的开发环境,jni接口的调用和c/c 文件依赖于cmake和ndk的开发环境;创建native层对应的c/c 文件和cmakelists.txt文件,并在cmakelists.txt文件中配置c/c 文件对应的第一文件路径,配置成功后jni接口才能调用到c/c 文件;s34、在所述应用程序中配置所述第二预设文件对应的第二文件路径;具体的,在应用程序中的build.gradle文件中配置cmakelists.txt文件对应的第二文件路径;s35、在所述第一预设文件中创建所述jni接口对应的方法;具体的,在c/c 文件中创建jni接口do_ffw(string path)对应的方法java_*_mainactivity_do_1ffu(jnienv *env, jobjectthiz, jstring path ),其中,jnienv *env和jobjectthiz为系统自带参数,jstring path为ffu操作参数;s36、使用所述应用程序调用所述jni接口对native层进行访问,并基于所述native层对所述emmc进行操作,具体包括:s361、使用所述应用程序调用所述参数确定后的jni接口,并使用所述参数确定后的jni接口调用所述方法;使用应用程序的ui界面中的控件触发事件调用jni接口do_ffu(string path),并使用jni接口do_ffu(string path)调用对应的方法java_*_mainactivity_do_1ffu(jnienv *env, jobjectthiz, jstring path );s362、将所述参数确定后的jni接口中的所述参数保存至所述方法中,并根据所述emmc查询请求和所述emmc升级请求基于所述native层使用所述方法调用设备控制接口函数进行emmc升级以及emmc查询;具体的,将jni接口do_ffu(string path)中的path参数保存在方法java_*_mainactivity_do_1ffu(jnienv *env, jobjectthiz, jstring path )的jstring path中,以此实现了应用层到native层的访问,该访问能够将fw的bin文件从应用层的文件路径传入到natvie层,在native层中可以打开fw的bin文件;调用函数open(path,o_rdwr)获取fw的bin文件的文件描述符,其中,path表示块设备文件的路径,o_rdwr表示读写权限,本实施例中,path为“/dev/block/mmcblk0”;调用系统函数read(arg1,buf,count)获取所述文件描述符的内容,其中,arg1表示块设备文件的文件描述符,即被更新的fw,buf表示所述文件描述符的存储的载体,count表示所述文件描述符的长度;根据emmc查询请求和emmc升级请求在方法java_*_mainactivity_do_1ffu(jnienv *env, jobjectthiz, jstring path)中调用设备控制接口函数ioctl(arg1,mmc_ioc_multi_cmd,arg3)实现emmc的升级,其中, mmc_ioc_multi_cmd表示系统提供的定义,arg3表示系统提供的结构体mmc_ioc_multi_cmd,所述结构体中存储了所述文件描述符的内容,存储的方法为调用系统提供的函数mmc_ioc_cmd_set_data(mmc_ioc_multi_cmd, buf),其中,buf为所述文件描述符的内容,所述设备控制接口函数会返回与emmc查询请求
对应的文件描述符的内容,将访问结果传回应用层,并在应用层中展示,如图6所示;本发明可以更方便地对emmc进行操作,包括升级和查询,对代码整体进行封装生成应用程序,不用改动android framework,且对内核改动较小,具有较高的移植性,易于管理和后续功能扩展。
29.实施例二请参照图2,一种emmc操作装置,包括:请求接收模块,用于接收emmc操作请求;应用程序确定模块,用于确定所述emmc操作请求对应的应用程序;emmc操作模块,用于基于所述应用程序对所述emmc进行操作。
30.实施例三一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可实现实施例一中emmc操作方法的各个步骤。
31.实施例四请参照图3,一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例一中emmc操作方法的各个步骤。
32.综上所述,本发明提供的一种emmc操作方法、装置、可读存储介质及电子设备,根据接收的应用程序生成请求生成与emmc对应的应用程序,再根据接收的内核权限修改请求修改系统的内核后对内核进行重新编译,得到刷机包,根据刷机包对预设平台进行刷机,得到刷机结果,并根据刷机结果将应用程序安装至预设平台上,可利用应用程序对emmc进行操作,包括升级和查询相关信息等,便于后续维护和迭代;确定emmc操作请求对应的应用程序,基于应用程序对emmc进行操作,以此将emmc相关的查询和升级操作都移植到应用程序中,无需使用开卡器和开卡软件,直接操作应用程序即可实现对emmc的操作,可以在不同的平台安装应用程序使用,通用性更高,且对emmc进行操作的过程无需对android framework进行修改,降低了技术难度,所有操作代码均封装在应用程序中,更有利于后续迭代和维护,从而提高了emmc操作的便利性。
33.在本技术所提供的上述实施例中,应该理解到,所揭露的方法、装置、计算机可读存储介质以及电子设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个组件或模块可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或组件或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
34.所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为组件显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部组件来实现本实施例方案的目的。
35.另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个组件单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
36.所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
37.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
38.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
39.以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献