一种终端驱动升级的方法、 装置及设备 【技术领域】
本发明涉及通信领域技术, 尤其涉及一种终端驱动升级的方法、 装置及设备。背景技术 目前, 手机等移动终端都将驱动编译在终端版本, 升级驱动时, 需要重新升级版 本。 升级驱动可以采取 FOTA(firmware update over the air, 通过无线升级固件 ) 升级方 式, 通过 DM 协议下载前后终端版本的差分包, 以便更新终端中的驱动。当前后终端版本的 差别较小, 当该差别位于版本文件的后部, 终端下载的差分包仍然很大, 在终端中需要使用 较大的存储分区, 这样增加了终端的成本。而且, 如果在升级终端版本过程中, 因意外情况 ( 譬如断电等 ) 导致升级失败, 则该终端将也无法开机, 只能重新烧写版本。
发明内容
本发明实施例提供一种终端驱动升级的方法、 装置及设备, 通过使用终端版本中 的逻辑操作程序, 调用接收的驱动参数进行终端驱动升级, 既节省了终端的存储空间成本, 又避免了终端驱动升级失败导致终端无法工作的情况。
本发明实施例提供了一种终端驱动升级的方法, 该方法包括 :
解析接收的驱动升级参数文件, 将解析得到的驱动参数保存在内存中 ;
将所述内存中的驱动参数一次性写入驱动分区, 进行终端驱动升级 ;
启动重启程序, 触发终端版本中的逻辑操作程序调用所述驱动分区中的驱动参 数。
相应的, 本发明实施例提供了一种终端驱动升级的装置, 包括 :
解析单元, 用于解析接收的驱动升级参数文件, 将解析得到的驱动参数保存在内 存中 ;
写入单元, 用于将所述内存中的驱动参数一次性写入驱动分区, 进行终端驱动升 级;
重启单元, 用于启动重启程序, 触发终端版本中的逻辑操作程序调用所述驱动分 区中的驱动参数。
相应的, 本发明实施例提供了一种设备, 包括 : 驱动升级的装置 ;
所述驱动升级的装置, 包括 :
解析单元, 用于解析接收的驱动升级参数文件, 将解析得到的驱动参数保存在内 存中 ;
写入单元, 用于将所述内存中的驱动参数一次性写入驱动分区, 进行终端驱动升 级;
重启单元, 用于启动重启程序, 触发终端版本中的逻辑操作程序调用所述驱动分 区中的驱动参数。
本发明实施例提供了一种终端驱动升级的方法、 装置及设备, 用于解析接收的驱动升级参数文件, 将解析得到的驱动参数保存在内存中 ; 将所述内存中的驱动参数一次性 写入驱动分区, 进行终端驱动升级 ; 启动重启程序, 触发终端版本中的逻辑操作程序调用所 述驱动分区中的驱动参数。 使用本发明实施例提供的终端驱动升级的方法、 装置及设备, 通 过使用终端版本中的逻辑操作程序, 调用接收的驱动参数进行终端驱动升级, 既节省了终 端的存储空间成本, 又避免了终端驱动升级失败导致终端无法工作的情况。 附图说明
图 1 为本发明实施例中终端驱动升级的方法流程示意图 ;
图 2 为本发明另一实施例中终端驱动升级的方法流程示意图 ;
图 3 为本发明实施例中终端驱动升级的装置结构示意图。 具体实施方式
下面结合各个附图对本发明实施例技术方案的主要实现原理、 具体实施方式及其 对应能够达到的有益效果进行详细地阐述。
为了解决现有技术存在的问题, 本发明实施例提供一种终端驱动升级的方法, 预 先将终端版本中驱动代码的逻辑操作程序与驱动参数进行分离, 其中参数部分是指驱动代 码中经常变动的部分, 在逻辑操作部分将其使用变量代替, 然后将逻辑操作部分编译到终 端版本中, 之后只需要更新驱动参数即可, 如图 1 所示, 该方法包括以下步骤 : 步骤 101、 解析接收的驱动升级参数文件, 将解析得到的驱动参数保存在内存中 ;
具体的, 预先将终端版本中驱动参数与逻辑操作程序分离后, 在需要升级终端驱 动时, 终端接收驱动升级参数文件, 将其写入终端中的文件系统, 其中, 接收驱动升级参数 文件时, 终端可以通过 USB(Universal Serial Bus, 通用串行总线 ) 接口等从另一设备中 获取, 也可以在 WLAN(Wireless Local Area Network, 无线局域网 ) 中获取, 还可以通过 BTP(Bulk Transfer Protocol, 成批转移协议 )、 空中协议等协议进行获取。
将驱动升级参数文件写入文件系统后, 终端解析该驱动升级参数文件, 然后将解 析得到的驱动参数保存在内存中。较佳的, 保存时, 按照解析驱动参数的先后顺序, 将解析 得到的驱动参数保存在内存中。
步骤 102、 将内存中的驱动参数一次性写入驱动分区, 进行终端驱动升级 ;
具体的, 按照保存驱动参数的先后顺序, 对内存中的驱动参数进行数据打包, 然后 将打包后的数据包一次性写入驱动分区。该数据包内的驱动参数可以覆盖原驱动参数, 也 可以不覆盖, 而将原驱动参数作为备份保留。 若在将数据包写入驱动分区的过程中, 出现断 电等意外情况, 并不影响终端的正常工作。因为此时终端版本使用的驱动参数仍为原驱动 参数, 待终端重启时, 可以重新解析文件系统中的驱动升级参数文件。 若已经删除了文件系 统中驱动升级参数文件, 可以重新接收该驱动升级参数文件。
步骤 103、 启动重启程序, 触发终端版本中的逻辑操作程序调用驱动分区中的驱动 参数。
具体的, 终端重启后, 触发终端版本中的逻辑操作程序, 调用驱动分区中相应的驱 动参数行驱动升级, 例如, 逻辑操作程序为将参数 A 和参数 B 发送到中央处理器, 此时, 只需 调用驱动分区中参数 A 相应的参数 a、 参数 B 相应的参数 b, 并发送到中央处理器即可。
通过上述描述, 可以看出, 使用本发明实施例提供的终端驱动升级的方法, 通过预 先将驱动代码中的逻辑操作部分和驱动参数部分分离, 其中, 逻辑操作部分编译在终端版 本中, 使用变量代替驱动参数部分。驱动升级时, 只需要升级到新的驱动参数, 待终端重启 时, 逻辑操作部分调用该新的驱动参数即可。
下面通过具体实施例对本发明实施例提供的终端驱动升级的方法进行详细说明, 假设终端需要升级 LCD(Liquid Crystal Display, 液晶显示 ) 驱动, 一般 LCD 驱动可以实现 的功能包括初始化功能、 显示开功能、 显示关功能、 设置窗口功能等, 假设现有技术中, 调用 终端版本中的 LCD 驱动, 调节终端界面亮度的具体操作为 : 终端开机后, 经过 10 秒将终端屏 幕的 LCD 的电压调节为 1V。使用本发明实施例提供的方法时, 将终端版本中的 LCD 驱动的 逻辑操作程序与驱动参数分离, 在逻辑操作程序中使用变量代替具体的驱动参数, 如: 终端 开机后, 经过变量 A 将变量 B 的电压调节为变量 C, 变量 A 对应的驱动参数为 a(10 秒 ), 变 量 B 对应的驱动参数为 b(LCD), 变量 C 对应的驱动参数为 c(1V)。使用本发明实施例提供 的终端驱动升级的方法, 对终端中的 LCD 驱动进行升级时, 如图 2 所示, 包括以下步骤 :
步骤 201、 将接收的驱动升级参数文件写入文件系统 ;
具体的, 终端需要升级终端驱动时, 终端接收驱动升级参数文件, 然后将其写入终 端中的文件系统, 其中, 接收驱动升级参数文件时, 终端可以通过 USB 接口等从另一设备中 获取, 也可以在 WLAN 中获取, 还可以通过 BTP、 空中协议等协议进行获取。
步骤 202、 解析驱动升级参数文件, 将解析得到的驱动参数保存在内存中 ; 具体 的, 按照解析驱动参数的先后顺序, 将解析得到的驱动参数保存在内存中, 例如解析驱动升 级参数文件时, 先后解析出驱动参数 a1、 驱动参数 b1、 驱动参数 c1, 则先将驱动参数 a1 保存 在内存中, 然后将驱动参数 b1 保存在内存中, 最后将驱动参数 c1 保存在内存中。
步骤 203、 将内存中的驱动参数一次性写入驱动分区, 进行驱动升级 ; 具体的, 按 照保存驱动参数的先后顺序, 对内存中的驱动参数进行数据打包, 然后将打包后的数据包 一次性写入驱动分区, 例如内存中先后保存了驱动参数 a1、 驱动参数 b1、 驱动参数 c1, 则进 行数据打包时, 也按照驱动参数 a1、 驱动参数 b1、 驱动参数 c1 的顺序将驱动参数压缩到数 据包中。
步骤 204、 删除文件系统中的驱动升级参数文件 ;
上述步骤 203 和步骤 204 在执行时可以互换先后顺序。
若在将数据包写入驱动分区的过程中, 出现断电等意外情况, 并不影响终端的正 常工作。 因为终端版本使用的驱动参数仍为原驱动参数, 待终端重启时, 可以重新解析驱动 升级参数文件。若已经删除了文件系统中驱动升级参数文件, 可以重新接收该驱动升级参 数文件。
步骤 205、 终端启动重启程序, 调用驱动分区中的驱动参数。
具体的, 终端重启后, 启动逻辑操作程序, 调用驱动分区中相应的驱动参数, 例如 逻辑操作程序调用驱动分区中变量 A 相应的驱动参数 a1、 变量 B 相应的驱动参数 b1, 变量 C 相应的驱动参数 c1, 替换驱动分区中的驱动参数 a、 驱动参数 b、 驱动参数 c。
通过上述描述, 可以看出, 使用本发明实施例提供的终端驱动升级的方法, 通过预 先将驱动代码中的逻辑操作部分和驱动参数部分分离, 其中, 逻辑操作部分编译在终端版 本中, 使用变量代替驱动参数部分。驱动升级时, 只需要升级到新的驱动参数, 待终端重启时, 逻辑操作部分调用该新的驱动参数即可。
相应的, 本发明实施例还提供一种终端驱动升级的装置, 如图 3 所示, 具体包括 :
解析单元 301, 用于解析接收的驱动升级参数文件, 将解析得到的驱动参数保存在 内存中 ;
写入单元 302, 用于将所述内存中的驱动参数一次性写入驱动分区, 进行终端驱动 升级 ;
重启单元 303, 用于启动重启程序, 触发终端版本中的逻辑操作程序调用所述驱动 分区中的驱动参数。
具体的, 预先将终端版本中驱动参数与逻辑操作程序分离后, 在需要升级终端驱 动时, 终端接收驱动升级参数文件, 将其写入终端中的文件系统, 其中, 接收驱动升级参数 文件时, 终端可以通过 USB 接口等从另一设备中获取, 也可以在 WLAN 中获取, 还可以通过 BTP、 空中协议等协议进行获取。将驱动升级参数文件写入文件系统后, 解析单元 301 解析 该驱动升级参数文件, 然后将解析得到的驱动参数保存在内存中。按照保存驱动参数的先 后顺序, 对内存中的驱动参数进行数据打包, 然后写入单元 302 将打包后的数据包一次性 写入驱动分区。 该数据包内的驱动参数可以覆盖原驱动参数, 也可以不覆盖, 而将原驱动参 数作为备份保留。 若在将数据包写入驱动分区的过程中, 出现断电等意外情况使驱动升级中断, 并 不影响终端的正常工作。因为此时终端版本使用的驱动参数仍为原驱动参数, 待终端重启 时, 可以重新解析驱动升级参数文件。 若已经删除了文件系统中驱动升级参数文件, 可以重 新接收该驱动升级参数文件。终端重启后, 重启单元 303 启动逻辑操作程序, 调用驱动分区 中相应的驱动参数行驱动升级。
较佳的, 解析单元 301, 还用于按照解析驱动参数的先后顺序, 将解析得到的驱动 参数保存在内存中。
较佳的, 上述装置还包括 : 接收单元 304, 用于将接收的驱动升级参数文件写入文 件系统。
较佳的, 上述装置还包括 : 删除单元 305, 用于写入单元 302 将内存中的驱动参数 一次性写入驱动分区之后, 删除文件系统中的所述驱动升级参数文件。
通过上述描述, 可以看出, 使用本发明实施例提供的终端驱动升级的装置, 通过预 先将驱动代码中的逻辑操作部分和驱动参数部分分离, 其中, 逻辑操作部分编译在终端版 本中, 使用变量代替驱动参数部分。驱动升级时, 只需要升级到新的驱动参数, 待终端重启 时, 逻辑操作部分调用该新的驱动参数即可。
相应的, 本发明实施例还提供了一种设备, 包括 : 驱动升级的装置 ;
该驱动升级的装置, 包括 : 解析单元, 用于解析接收的驱动升级参数文件, 将解析 得到的驱动参数保存在内存中 ; 写入单元, 用于将所述内存中的驱动参数一次性写入驱动 分区, 进行终端驱动升级 ; 重启单元, 用于启动重启程序, 触发终端版本中的逻辑操作程序 调用所述驱动分区中的驱动参数。
具体的, 需要升级终端驱动时, 设备中的驱动升级的装置接收驱动升级参数文件, 将其写入终端中的文件系统, 解析该驱动升级参数文件, 然后将解析得到的驱动参数保存 在内存中。 按照保存驱动参数的先后顺序, 对内存中的驱动参数进行数据打包, 将打包后的
数据包一次性写入驱动分区。若在将数据包写入驱动分区的过程中, 出现断电等意外情况 使驱动升级中断, 并不影响终端的正常工作。因为此时终端版本使用的驱动参数仍为原驱 动参数, 待终端重启时, 可以重新解析驱动升级参数文件。 若已经删除了文件系统中驱动升 级参数文件, 可以重新接收该驱动升级参数文件。终端重启后, 启动逻辑操作程序, 调用驱 动分区中相应的驱动参数。
通过上述描述, 可以看出, 使用本发明实施例提供的终端驱动升级的方法、 装置及 设备, 通过预先将驱动代码中的逻辑操作部分和驱动参数部分分离, 其中, 逻辑操作部分编 译在终端版本中, 使用变量代替驱动参数部分。驱动升级时, 只需要升级到新的驱动参数, 待终端重启时, 逻辑操作部分调用该新的驱动参数即可。
显然, 本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样, 倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内, 则本发明也意图包含这些改动和变型在内。