全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210548606.3 (22)申请日 2022.05.20 (71)申请人 中国电子科技 集团公司第三十 研究 所 地址 610000 四川省成 都市高新区创业路6 号 (72)发明人 周悟强 余亚翔  (74)专利代理 机构 成都九鼎天元知识产权代理 有限公司 51214 专利代理师 张杰 (51)Int.Cl. G06F 9/445(2018.01) (54)发明名称 一种基于ARM处理器的无操作系统算法动态 加载方法 (57)摘要 本发明公开了一种基于ARM处理器的无操作 系统算法动态加载方法, 包括以下步骤: S1.将调 用算法的固件主程序固化到地址A, 将算法代码 指定到SRA M/RAM空间的地址B, 并在地址B首部放 置算法函数列表以获取函数; S2.在固件主程序 运行中需要调用算法时, 将算法代码加注到地址 B, 并使用指针函数指向地址B的首地址, 通过调 用指针函数获取算法函数列表, 从而实现算法动 态加载。 本发 明可实现程序运行过程中算法资源 实时动态加载技 术, 提高产品安全性和扩 展性。 权利要求书1页 说明书4页 附图1页 CN 114816581 A 2022.07.29 CN 114816581 A 1.一种基于ARM处 理器的无操作系统算法动态加载 方法, 其特 征在于, 包括以下步骤: S1.将调用算法的固件主程序固化到地址A, 将算法代码指定到SRAM/RAM空间 的地址B, 并在地址B首部放置算法函数列表以获取函数; S2.在固件主程序运行中需要调用算法时, 将算法代码加注到地址B, 并使用指针函数 指向地址B的首地址, 通过调用指针函数获取算法函数列表, 从而实现算法动态加载。 2.根据权利要求1所述的基于ARM处理器的无操作系统算法动态加载方法, 其特征在 于, 在ARM产品系统初始设计时, 对固件主程序和算法程序分别建立独立的工程, 每个工程 规划互不重 叠的程序运行内存空间。 3.根据权利要求2所述的基于ARM处理器的无操作系统算法动态加载方法, 其特征在 于, 将固件主程序的烧录文件规划存储在EFLASH或FLASH芯片可固化地址存储 区即地址A, 在上电后仅将DATA,BS S区域段初始化到掉电可丢失的SRAM /RAM空间, 配置程序堆栈地址 。 4.根据权利要求2所述的基于ARM处理器的无操作系统算法动态加载方法, 其特征在 于, 将算法程序的所有程序空间全部规划到SRAM/RAM空间地址即地址B, 不配置堆栈空间; 所述算法程序的所有程序空间包括CODE,DATA,BS S区域段。 5.根据权利要求1所述的基于ARM处理器的无操作系统算法动态加载方法, 其特征在 于, 在链接器生产嵌入式工程代码时, 指定算法函数列表获取函数存储在算法程序规划的 SRAM/RAM空间首地址 。 6.根据权利要求1 ‑5任一项所述的基于ARM处理器的无操作系统算法动态加载方法, 其 特征在于, 在固件主程序运行中需要调用算法服务时, 通过外部加载方式或内部搬移方式 将算法库代码加注到算法程序规划的SRAM /RAM空间即地址B。 7.根据权利要求6所述的基于ARM处理器的无操作系统算法动态加载方法, 其特征在 于, 所述外 部加载方式的载体包括介质和总线接口。 8.根据权利要求6所述的基于ARM处理器的无操作系统算法动态加载方法, 其特征在 于, 所述内部搬移方式的载体包括固化的内部 EFLASH或FLASH区。 9.根据权利要求6所述的基于ARM处理器的无操作系统算法动态加载方法, 其特征在 于, 将指针函数赋值为算法程序规划的SRAM/RAM空间首地址, 由外部传入算法函数列表数 组, 通过调用指针函数获取算法所提供的约定算法函数列表返回到算法函数列表数组中。 10.根据权利要求9所述的基于ARM处理器的无操作系统算法动态加载方法, 其特征在 于, 当成功获取到算法函数列表数组后, 固件主程序在需要调用算法服务时只需要调用约 定的数组函数即可。权 利 要 求 书 1/1 页 2 CN 114816581 A 2一种基于ARM处理 器的无操作系统算法动态加载 方法 技术领域 [0001]本发明涉及电数字数据处理技术领域, 尤其涉及一种基于ARM处理器 的无操作系 统算法动态加载 方法。 背景技术 [0002]在嵌入式小型安全产品设计时基于安全考虑一般将算法程序和业务调度主程序 分开实现, 在主程序启动运行后当需要调用算法时再动态加载到内存中运行, 实现算法程 序动态加载实时调用, 掉电后资源丢失。 由于操作(如Linux等)可通过动态库标准函数加载 资源, 这对实现算法动态加技术不存在技术障碍。 但在无操作系统的ARM小系统环境中, 由 于没有操作系统支持, 无法使用操作系统的动态库等加载技术实现目标算法程序的动态加 载。 如果使用传统方法将算法程序与固件一起整体编译又存在安全性低、 程序无法实时动 态更换、 算法更新需要更新整体固件后重启设备程序等诸多问题。 如果引入操作系统以支 持动态加载则可能需要升级处理器, 配置足够RAM, 这对于嵌入式低成本产品来说是无法忍 受的。 发明内容 [0003]为了解决上述问题, 针对无操作系统的ARM嵌入式微小型系统, 本发明提出一种基 于ARM处理器的无操作系统算法动态加载方法, 可实现程序运行过程中算法资源实时动态 加载技术, 提高产品安全性和扩展性。 [0004]本发明采用的技 术方案如下: [0005]一种基于ARM处 理器的无操作系统算法动态加载 方法, 包括以下步骤: [0006]S1.将调用算法的固件主程序固化到地址A, 将 算法代码指定到SRAM/ RAM空间的地 址B, 并在地址B首部放置算法函数列表以获取函数; [0007]S2.在固件主程序运行中需要调用算法时, 将算法代码加注到地址B, 并使用指针 函数指向地址B的首地址, 通过调用指针函数获取算法函数列表, 从而实现算法动态加载。 [0008]进一步地, 在ARM产品系统初始设计时, 对固件主程序和算法程序分别建立独立的 工程, 每个工程规划互不重 叠的程序运行内存空间。 [0009]进一步地, 将固件主程序的烧录文件规划存储在EFLASH或FLASH芯片可固化地址 存储区即地址A, 在上电后仅将DATA,BSS区域段初始化到掉电可丢失的SRAM/RAM空间, 配置 程序堆栈地址 。 [0010]进一步地, 将 算法程序的所有程序空间全部规划到SRAM/RAM空间地址即地址B, 不 配置堆栈空间; 所述 算法程序的所有程序空间包括CODE,DATA,BS S区域段。 [0011]进一步地, 在链接器生产嵌入式工程代码时, 指定算法函数列表获取函数存储在 算法程序规划的SRAM /RAM空间首地址 。 [0012]进一步地, 在固件主程序运行中需要调用算法服务时, 通过外部加载方式或内部 搬移方式将算法库代码加注到算法程序规划的SRAM /RAM空间即地址B。说 明 书 1/4 页 3 CN 114816581 A 3

.PDF文档 专利 一种基于ARM处理器的无操作系统算法动态加载方法

文档预览
中文文档 7 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共7页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于ARM处理器的无操作系统算法动态加载方法 第 1 页 专利 一种基于ARM处理器的无操作系统算法动态加载方法 第 2 页 专利 一种基于ARM处理器的无操作系统算法动态加载方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-17 23:59:14上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。