一种基于小容量处理器实现多应用的方法及设备的制造方法

文档序号:9865147阅读:352来源:国知局
一种基于小容量处理器实现多应用的方法及设备的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及一种基于小容量处理器实现多应用的方法及设备。
【背景技术】
[0002]flash是存储芯片的一种,flash存储器又称闪存,在带有微控制器或微处理器的电子设备中,微控制器或微处理器采用的是一个处理器芯片,在处理器芯片内部有内部flash,内部flash上的存储区域用于代码的存储和执行,通常内部flash比较昂贵,因此如果要开发多应用,需要使用内部flash芯片来存储多个应用程序代码,就必须给处理器芯片配置大容量的内部flash,这样必然会增加开发成本。

【发明内容】

[0003]本发明提出了通过使用廉价的外部flash芯片,配合具有小容量内部flash芯片的处理器,来实现设备的多应用功能,可有效解决现有技术中存在的缺陷。
[0004]本发明采用的技术方案具体如下:一种基于小容量处理器实现多应用的方法,包括以下步骤:
[0005]步骤S1:设备上电,初始化;
[0006]步骤S2:设备从外部存储区中读取应用标志位,根据应用标志位判断是否需要加载应用程序,是则根据所述应用标志位在外部存储区中存储的应用程序中确定要加载的应用程序,将确定的所述要加载的应用程序加载到内部存储区,然后执行步骤S3,否则直接执行步骤S3 ;
[0007]步骤S3:设备自检,并在自检成功后根据应用程序起始地址确定内部存储区中存储的应用程序,运行内部存储区中存储的应用程序。
[0008]所述方法还包括,当设备接收到用户切换应用的操作时,根据用户切换应用的操作设置应用标志位的值,然后执行步骤S2;所述步骤S2中所述设备根据应用标志位判断是否需要加载应用程序具体为,判断应用标志位的值,若等于默认值则不需要加载应用程序,若不等于默认值则需要加载应用程序;所述将要加载的应用程序加载到内部存储区之后还包括修改应用标志位的值为默认值。
[0009]上述步骤S2具体为,设备从外部存储区中读取第一应用标志位和第二应用标志位,根据第一应用标志位判断是否需要加载应用程序,是则根据所述第二应用标志位在外部存储区中存储的应用程序中确定要加载的应用程序,将确定的所述要加载的应用程序加载到内部存储区,然后执行步骤S3,否则直接步骤S3。
[0010]上述将确定的所述要加载的应用程序加载到内部存储区,具体包括:对所述要加载的应用程序对应的应用程序文件进行校验,若通过校验则清空内部存储区,从外部存储区中预设起始地址开始读取所述应用程序文件中的数据写入到内部存储区中,若未通过校验则加载失败。[0011 ]所述通过校验时还包括修改应用标志位的值为第一默认值;所述未通过校验时还包括修改应用标志位的值为第二默认值;所述第一默认值与当前加载到内部存储区中的应用程序对应,所述第二默认值与未加载之前内部存储区中的应用程序对应;所述设备根据应用标志位判断是否需要加载应用程序具体为,判断应用标志位的取值,若等于第一默认值或第二默认值则不需要加载应用程序,否则需要加载应用程序。
[0012]所述对所述要加载的应用程序对应的应用程序文件进行校验,具体为:
[0013]步骤al:根据预设起始地址和应用程序文件大小从外部存储区中得到应用程序文件,从所述应用程序文件中获取固件数据和摘要签名数据;
[0014]步骤a2:根据预设签名算法对所述摘要签名数据进行验签得到第一摘要值,根据预设哈希算法对所述固件数据计算摘要得到第二摘要值;
[0015]步骤a3:比较所述第一摘要值和所述第二摘要值是否相等,是则通过校验;否则未通过校验,清除外部存储区中的所述应用程序文件。
[0016]一种基于小容量处理器实现多应用的设备,包括处理器和外部flash芯片,所述处理器中包含有内部flash芯片,所述内部flash芯片的容量小于所述外部flash芯片;所述处理器中还包含有:初始化模块、读取模块、判断模块、加载模块、自检模块和运行模块;
[0017]所述初始化模块,用于设备上电后执行初始化操作;
[0018]所述读取模块,用于从外部存储区中读取应用标志位;所述外部存储区是位于所述外部flash芯片中的存储区域;
[0019]所述判断模块,用于根据所述读取模块读取的所述应用标志位判断是否需要加载应用程序,若判断为是则根据所述应用标志位在外部存储区中存储的应用程序中确定要加载的应用程序并触发加载模块工作,若判断为否则触发自检模块工作;
[0020]所述加载模块,用于从外部存储区中将所述要加载的应用程序加载到内部存储区,并触发自检模块工作;所述内部存储区是位于所述内部flash芯片中的存储区域;
[0021 ]所述自检模块,用于执行自检操作;
[0022]所述运行模块,用于所述自检模块执行自检操作成功后,运行内部存储区中存储的应用程序。
[0023]上述处理器还包括第一设置模块,用于当设备接收到用户选择应用的操作时,根据用户选择应用的操作设置应用标志位的值。还包括第二设置模块,用于当设备接收到用户切换应用的操作时,根据用户切换应用的操作设置应用标志位的值;
[0024]上述判断模块具体用于,判断所述读取模块读取的所述应用标志位的值,若等于默认值则不需要加载应用程序,若不等于默认值则需要加载应用程序;
[0025]所述加载模块,还用于加载成功后修改应用标志位的值为默认值。
[0026]上述读取模块具体用于从所述外部存储区中读取第一应用标志位和第二应用标志位;所述判断模块具体用于根据所述第一应用标志位判断是否需要加载应用程序,是则根据所述第二应用标志位在外部存储区中存储的应用程序中确定要加载的应用程序并触发加载模块工作,否则触发自检模块工作。
[0027]上述加载模块具体用于,对外部存储区中的所述应用程序对应的应用程序文件进行校验,若通过校验则清空内部存储区,从外部存储区中预设起始地址开始读取所述应用程序文件中的数据写入到内部存储区中并触发自检模块工作,若未通过校验则加载失败。
[0028]所述加载模块还用于当所述应用程序文件通过校验时修改应用标志位的值为第一默认值;用于当所述应用程序文件未通过校验时修改应用标志位的值为第二默认值;所述第一默认值与当前加载到内部存储区中的应用程序对应,所述第二默认值与所述加载模块未执行加载操作之前内部存储区中的应用程序对应;
[0029]上述判断模块具体用于,判断所述读取模块读取的所述应用标志位的值,若等于第一默认值或第二默认值则不需要加载应用程序,若不等于第一默认值或第二默认值则需要加载应用程序。
[0030]上述加载模块具体包括校验单元,所述校验单元用于对要加载的应用程序文件进行校验;
[0031 ]所述校验单元具体包括获取单元、计算单元和比较单元;
[0032]所述获取单元,用于根据预设起始地址、应用程序文件大小从外部存储区中获取到应用程序文件,从所述应用程序文件中获取固件数据和摘要签名数据;
[0033]所述计算单元,用于根据预设签名算法对所述摘要签名数据进行验签得到第一摘要值,根据预设哈希算法对所述固件数据计算摘要得到第二摘要值;
[0034]所述比较单元,用于比较所述第一摘要值和所述第二摘要值是否相等,是则通过校验;否则未通过校验,清除外部存储区中的所述应用程序文件。
[0035]本发明的有益效果如下:本发明提供的基于小容量处理器实现多应用的方法及设备,不仅扩展了设备可支持的应用功能,同时可降低设备的多应用的开发成本。
【附图说明】
[0036]图1是本发明提供的一种基于小容量处理器实现多应用的设备的组成结构示意图;
[0037]图2是实施例1提供的一种基于小容量处理器实现多应用的方法流程图;
[0038]图3是实施例1提供的从外部存储区加载第一应用程序到内部存储区的实现流程图;
[0039]图4是实施例1提供的从外部存储区加载第二应用程序到内部存储区的实现流程图;
[0040]图5是实施例2提供的一种基于小容量处理器实现多应用的方法流程图;
[0041]图6是实施例3提供的一种基于小容量处理器实现多应用的设备的使用方法流程图;
[0042]图7
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1