公共代码库的链接映射方法、软件代码烧录方法及烧录主机技术

技术编号:18425958 阅读:20 留言:0更新日期:2018-07-12 01:54
本发明专利技术涉及一种公共代码库的链接映射方法、软件代码烧录方法及烧录主机。该链接映射方法包括:统计所述公共代码库内,每个代码段的调用频率;根据所述调用频率,确定所述代码段映射到二进制代码的链接映射方式,所述链接映射方式为绝对地址映射和调用时链接映射;为所述每一代码段添加对应的链接映射配置。该方法根据调用频率决定链接映射方式,可以很好的平衡空间占用与二进制代码一致性之间的矛盾。由此,有效的减少了软件工程更新代码时,对存储器(如Flash)的擦除烧录次数和数据传输量,节省电量和时间消耗。

Link mapping method, software code burning method and burning host of public code base

The invention relates to a link mapping method for common code base, a software code burning method and a burning host computer. The link mapping method includes: statistics the call frequency of each code segment in the public code library, determine the link mapping of the code segment to the binary code based on the calling frequency, the link mapping is the absolute address mapping and the link mapping when the call is called; add pairs for each of the code segments described. The link mapping configuration should be required. This method determines the contradiction between the space occupation and the consistency of binary code according to the link mapping method based on the call frequency. Thus, when the software engineering update code is effectively reduced, the number of erasure and data transmission of memory (such as Flash) and the amount of data transmission can be reduced, and the consumption of electricity and time are saved.

【技术实现步骤摘要】
公共代码库的链接映射方法、软件代码烧录方法及烧录主机
本专利技术涉及软件烧录
,尤其涉及一种公共代码库的链接映射方法、软件代码烧录方法及烧录主机。
技术介绍
通常,软件工程会划分为公共代码库和应用代码两部分。其中,公共代码库中存储有许多不同的公共代码段。根据软件工程的需要,由应用代码对不同的公共代码段进行调用。公共代码库中包含的是一些基础性的,稳定的代码。在软件工程的使用过程中,公共代码部分基本不会发生变动,除非出现软件错误才需要进行相应的变更。在现有代码烧录过程中,通常会使用如下两种不同的方式与公共代码库进行链接。第一种方式是,无论公共代码库内的某些代码段是否会被使用,都将整个公共代码库完全映射在存储器中。第二种方式是,根据应用软件的实际需要,只将公共代码库内需要调用或者使用的代码段映射到存储器中。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:当使用第一种方式对公共代码库进行链接映射时,由于公共代码库全部被写入到存储器中,导致需要占用的存储空间比较大,耗费了存储器的空间。而使用第二种方式对公共代码库进行链接映射时,虽然可以节省占用的存储器空间,但是,由于公共代码库和应用代码在二进制代码层面上没有一致性,在需要对代码进行修改时,都需要将存储器内的所有代码全部擦除并进行更新,擦除以及更新的操作需要的耗费非常多的电量。
技术实现思路
为了解决上述技术问题,本专利技术实施例提供一种公共代码库的连接编辑方法、软件代码烧录方法及烧录主机,该方法能够平衡如上所说的、应用软件存在的空间占用多和二进制代码一致性差的矛盾。为解决上述技术问题,本专利技术实施例提供以下技术方案:一种公共代码库的链接映射方法。所述链接映射方法包括:统计所述公共代码库内,每个代码段的调用频率;根据所述每个代码段的调用频率,确定每个所述代码段的映射到二进制代码的链接映射方式,所述链接映射方式包括绝对地址映射和调用时链接映射;为所述每一代码段添加对应的链接映射配置。在一些实施例中,所述根据每个所述代码段的调用频率,分别确定每个所述代码段映射到二进制代码的链接映射方式,具体包括:当所述代码段的调用频率大于或等于预设阈值时,确定所述代码段的链接映射方式为绝对地址映射;当所述代码段的调用频率小于预设阈值时,确定所述代码段的链接映射方式为调用时链接映射。在一些实施例中,所述方法还包括:对所述公共代码库内的多个代码段进行分页,以将具有相同的调用频率的代码段划分在目标存储器的相同的一个或多个分页上。在一些实施例中,所述分页的长度为所述目标存储器的擦除最小单位的整数倍。在一些实施例中,所述方法还包括,为每个分页设置对应的校验值,所述校验值用于在将软件代码烧录至目标存储器时,确定是否将即将写入的软件代码中的一个或多个分页上的代码段烧录至所述目标存储器,其中,所述软件代码包含所述公共代码库中的代码段。在一些实施例中,所述确定是否将即将写入的软件代码中的一个或多个分页上的代码段烧录至所述目标存储器,具体包括:读取所述目标存储器中的每个分页的校验值和即将写入的软件代码中的每个分页的校验值;将所述目标存储区中的每个分页的校验值分别与所述即将写入的软件代码中的每个分页的校验值进行比较;将所述目标存储器中,与即将写入的所述软件代码中的所有分页的校验值均不相同的分页上的代码段擦除,并写入所述软件代码的对应的分页上的代码段。在一些实施例中,所述预设阈值的数值范围为80%-100%。为解决上述技术问题,本专利技术实施例还提供以下技术方案:一种软件代码的烧录方法,用于将软件代码烧录至目标存储器,所述软件代码包含公共代码和应用代码,所述公共代码由公共代码库中的代码段组成。所述烧录方法包括如下步骤:读取目标存储器中的每个分页的校验值和即将写入的软件代码中的每个分页的校验值;将所述目标存储器中的每个分页的校验值分别与所述即将写入的软件代码中的每个分页的校验值进行比较;将所述目标存储器中,与所述软件代码中的所有分页的校验值均不相同的分页上的代码段擦除,并写入所述软件代码的对应的分页上的代码段。在一些实施例中,所述方法还包括:统计所述公共代码库内,每个代码段的调用频率;根据所述每个代码段的调用频率,分别确定每个所述代码段映射到二进制代码的链接映射方式,所述链接映射方式包括绝对地址映射和调用时链接映射;为所述每个代码段添加对应的链接映射配置。在一些实施例中,所述根据所述每个代码段的调用频率,分别确定每个所述代码段映射到二进制代码的链接映射方式,具体包括:当所述代码段的调用频率大于或等于预设阈值时,确定所述代码段的链接映射方式为绝对地址映射;当所述代码段的调用频率小于预设阈值时,确定所述代码段的链接映射方式为调用时链接映射。在一些实施例中,所述方法还包括:对所述公共代码库内的多个代码段进行分页,以将具有相同的调用频率的代码段划分在目标存储器的相同的一个或多个分页上。在一些实施例中,所述公共代码库的多个代码段的分页的长度为所述目标存储器的擦除最小单位的整数倍。在一些实施例中,所述对所述公共代码库内的多个代码段进行分页,具体包括:将链接映射方式为绝对地址映射的代码段划分在相同的一个或多个分页上,并且/或者将链接映射方式为调用时链接映射的代码段划分在相同的一个或多个分页上。在一些实施例中,所述预设阈值的数值范围为80%-100%。在一些实施例中,所述方法还包括:将所述软件代码中的代码段划分为多个分页,为每个分页设置对应的校验值,所述校验值用于在对所述软件代码进行烧录时,确定是否将即将写入的软件代码中的一个或多个分页上的代码段烧录至所述目标存储器。为解决上述技术问题,本专利技术实施例还提供以下技术方案:一种烧录主机,其包括:处理器和存储器;所述存储器存储有计算机可执行程序,所述计算机可执行程序被处理器调用时,以使所述处理器执行如上所述的软件代码烧录方法。与现有技术相比较,本专利技术实施例的烧录方法中,代码段的链接映射方式由调用频率决定,可以很好的平衡空间占用与二进制代码一致性之间的矛盾。由此,有效的减少了软件工程更新代码时,对存储器(如Flash)的擦除烧录次数和数据传输量,节省电量和时间消耗。而且具有很好的适应性,可以从一般的烧录模式中简单的转换。【附图说明】一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。图1为本专利技术实施例的应用环境示意图;图2为本专利技术实施例提供的公共代码库的链接映射方法的方法流程图;图3为本专利技术实施例提供的公共代码库的示意图;图4为典型的代码结构示意图;图5为本专利技术实施例提供的代码结构示意图;图6为本专利技术实施例提供的软件代码的烧录方法的方法流程图。【具体实施方式】为了便于理解本专利技术,下面结合附图和具体实施例,对本专利技术进行更详细的说明。需要说明的是,当元件被表述“固定于”另一个元件,它可以直接在另一个元件上、或者其间可以存在一个或多个居中的元件。当一个元件被表述“连接”另一个元件,它可以是直接连接到另一个元件、或者其间可以存在一个或多个居中的元件。本说明书所使用的术语“上”、“下”、“内”、“外”、“底部”等指示的方位或位置关系为本文档来自技高网...

【技术保护点】
1.一种公共代码库的链接映射方法,其特征在于,包括:统计所述公共代码库内,每个代码段的调用频率;根据所述每个代码段的调用频率,分别确定每个所述代码段映射到二进制代码的链接映射方式,所述链接映射方式包括绝对地址映射和调用时链接映射;为所述每个代码段添加对应的链接映射配置。

【技术特征摘要】
1.一种公共代码库的链接映射方法,其特征在于,包括:统计所述公共代码库内,每个代码段的调用频率;根据所述每个代码段的调用频率,分别确定每个所述代码段映射到二进制代码的链接映射方式,所述链接映射方式包括绝对地址映射和调用时链接映射;为所述每个代码段添加对应的链接映射配置。2.根据权利要求1所述的方法,其特征在于,所述根据每个所述代码段的调用频率,分别确定每个所述代码段映射到二进制代码的链接映射方式,具体包括:当所述代码段的调用频率大于或等于预设阈值时,确定所述代码段的链接映射方式为绝对地址映射;当所述代码段的调用频率小于预设阈值时,确定所述代码段的链接映射方式为调用时链接映射。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:对所述公共代码库内的多个代码段进行分页,以将具有相同的调用频率的代码段划分在目标存储器的相同的一个或多个分页上。4.根据权利要求3所述的方法,其特征在于,所述分页的长度为所述目标存储器的擦除最小单位的整数倍。5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括,为每个分页设置对应的校验值,所述校验值用于在将软件代码烧录至目标存储器时,确定是否将即将写入的软件代码中的一个或多个分页上的代码段烧录至所述目标存储器,其中,所述软件代码包含所述公共代码库中的代码段。6.根据权利要求5所述的方法,其特征在于,所述确定是否将即将写入的软件代码中的一个或多个分页上的代码段烧录至所述目标存储器,具体包括:读取所述目标存储器中的每个分页的校验值和即将写入的软件代码中的每个分页的校验值;将所述目标存储区中的每个分页的校验值分别与所述即将写入的软件代码中的每个分页的校验值进行比较;将所述目标存储器中,与即将写入的所述软件代码中的所有分页的校验值均不相同的分页上的代码段擦除,并写入所述软件代码的对应的分页上的代码段。7.根据权利要求2-6任一项所述的方法,其特征在于,所述预设阈值的数值范围为80%-100%。8.一种软件代码的烧录方法,用于将软件代码烧录至目标存储器,所述软件代码包含公共代码和应用代码,所述公共代码由公共代码库中的代码段组成,其特征在于,所述方法包括:读取目标存储器中的每个分页的校验值和即将写入的软件代码中的每个分页的校验值;将所述目标存储器中的每个分页的校验值分别与所述即将写入的软件代码中的每个分页的校验值进行比较;将所述目标存储器中,与所述软件代码中的所有分页的校验值均不相同的分页上的代码段擦...

【专利技术属性】
技术研发人员:张子煜
申请(专利权)人:深圳市道通科技股份有限公司
类型:发明
国别省市:广东,44

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

1