一种运用于DSP的功能模块动态加载方法技术

技术编号:15638863 阅读:59 留言:0更新日期:2017-06-15 19:54
本发明专利技术公开了一种运用于DSP的功能模块动态加载方法,为主控逻辑和功能模块划分运行空间;明确功能模块的对外接口,确保具有相似功能的模块的接口或彼此可替换的功能模块的接口,都是一致的;分别形成主控逻辑的工程和功能模块的工程;完成功能模块的描述信息;形成功能模块的目标码;主控逻辑根据功能模块的目标码对功能模块进行加载、卸载、更新、删除操作。与现有技术相比,本发明专利技术的积极效果是:功能模块目标码与主控逻辑目标码可分别产生,单独更换;功能模块与主控逻辑基于接口进行交互,耦合性低;功能模块可存储变量或固化数据;主控逻辑可按需动态加载功能模块。

【技术实现步骤摘要】
一种运用于DSP的功能模块动态加载方法
本专利技术涉及一种运用于DSP的功能模块动态加载方法。
技术介绍
DSP芯片是一个通用模块,作为资源管理的核心功能模块,解决诸多项目的资源管理需求,并为项目设备提供个性功能服务(个性服务的功能数量不统一,运行参数不统一)。DSP需对诸多项目的需求进行分解,将通用功能固化在主控程序中,将各项目个性化的资源管理需求、功能需求以功能模块的形式“动态加载”,实现DSP芯片对项目的支撑。当前DSP功能模块动态加载时,其功能模块的大小、运行空间往往是事先固定的,当功能模块因变化需调整运行空间或大小时,DSP主控程序也需要做相应调整才能适应功能模块的变化。原有的功能模块执行码的产生方式也存在缺陷,无法在功能模块中增加变量或固化数据。上述缺点,给功能模块的管理和功能扩展带来不便。
技术实现思路
为了克服现有技术的上述缺点,本专利技术提供了一种运用于DSP的功能模块动态加载方法。本专利技术解决其技术问题所采用的技术方案是:一种运用于DSP的功能模块动态加载方法,包括如下步骤:第一步、为主控逻辑和功能模块划分运行空间;第二步、明确功能模块的对外接口,确保具有相似功能的模块的接口或彼此可替换的功能模块的接口,都是一致的;第三步、分别形成主控逻辑的工程和功能模块的工程:1)主控逻辑的代码单独形成一个独立工程;2)每个功能模块的代码单独形成一个独立工程;3)形成独立的主控逻辑目标码;4)形成功能模块的执行码;第四步、完成功能模块的描述信息;第五步、形成功能模块的目标码;第六步、主控逻辑根据功能模块的目标码对功能模块进行加载、卸载、更新、删除操作。与现有技术相比,本专利技术的积极效果是:(1)功能模块目标码与主控逻辑目标码可分别产生,单独更换;(2)功能模块与主控逻辑基于接口进行交互,耦合性低;(3)功能模块可存储变量或固化数据;(4)主控逻辑可按需动态加载功能模块。附图说明本专利技术将通过例子并参照附图的方式说明,其中:图1为本专利技术的工作原理示意图。具体实施方式DSP芯片属于嵌入式芯片,该芯片在无操作系统的情况下,其内存资源是全局一致的。在产生DSP的主控逻辑和功能模块时,只要预先规划好主控逻辑和功能模块的运行空间(内存范围),使两部分内存不存在交集,则主控逻辑和功能模块在运行时均可正常运行。其空间分配示意图如图1所示:(1)主控逻辑主控逻辑负责DSP的主要功能和共性功能,负责所有功能的调度,并维护DSP运行的状态。(2)功能模块独立分割出来的功能或多个功能的集合。首先需针对DSP做整体规划,划分出主控逻辑与功能模块的运行空间。其次,制定标准的功能模块目标码描述信息。该信息记录了具体功能模块的运行空间、模块特征等信息,并且该信息可被主控逻辑正确识别。主控逻辑根据此信息可正确加载功能模块,提取功能模块接口使用。第一步,为主控逻辑和功能模块划分运行空间。主控逻辑与功能模块的运行空间不要出现重叠,功能模块的运行空间尽量大,以便容纳足够的功能模块。第二步,明确功能模块的对外接口,需确保具有相似功能的模块的接口或彼此可替换的功能模块的接口,都是一致的。第三步,分别形成主控逻辑的工程和功能模块的工程。1)主控逻辑的代码单独形成一个独立工程。主控逻辑的独立工程,必须与第一步中规划的主控逻辑运行空间一致。2)功能模块的代码单独形成独立工程(如果需要多个功能模块,就每个功能模块形成一个独立工程)。每个功能模块的独立工程,都必须与第一步中规划的功能模块运行空间一致。如果有多个功能模块,需确保所有功能模块的运行空间,彼此不重叠,且均在第一步规划的功能模块运行空间中。DSP的工程编译完成后,常见的section包括.text、.const、.cinit、.far、.bss、.stack、switch和.sysmem。其中,.text、.const、.far、.bss、.switch是必须放置在规划的功能模块运行空间,且不与其它功能模块的运行空间重叠。而.cinit、.stack最终不会作为功能模块的目标码,可配置到任何空间。.sysmem根据功能模块实际情况选择,如无需使用,则可配置到任何空间。该功能模块的各函数接口,需使用自定义section定位到该功能模块运行空间的起始地址。3)形成独立的主控逻辑目标码。4)用本专利方法形成功能模块的执行码。功能模块的执行文件.out形成后,使用DSP的模拟器加载此执行文件,并运行到main函数入口。此时,使用DSP的内存存储功能,将该功能模块的内存空间中的有效数据(该数据大小,可根据.map文件获得),存储成二进制文件。此二进制文件就是功能模块的执行码。第四步,完成功能模块的描述信息。使用XML文件,对该功能模块进行描述,如:运行空间的起始地址,名称等,并可针对功能模块的特点,调整或添加描述信息。该描述信息,可使主控程序知悉功能模块的特点,并便于功能模块的扩展和管理。第五步,形成功能模块的目标码。将功能模块的描述信息和功能模块的执行码,用自定义结构“打包”,形成一个具有自描述信息的整体。该整体是功能模块的目标码。执行上述步骤后,主控逻辑可根据功能模块的目标码,得到功能模块的信息,便于根据具体的工作需求,随时对功能模块进行加载、卸载、更新、删除等操作。对于N选1方式使用功能模块,同一时间主控逻辑仅加载一个功能模块,降低了对芯片内存空间的需求。本文档来自技高网...
一种运用于DSP的功能模块动态加载方法

【技术保护点】
一种运用于DSP的功能模块动态加载方法,其特征在于:包括如下步骤:第一步、为主控逻辑和功能模块划分运行空间;第二步、明确功能模块的对外接口,确保具有相似功能的模块的接口或彼此可替换的功能模块的接口,都是一致的;第三步、分别形成主控逻辑的工程和功能模块的工程:1)主控逻辑的代码单独形成一个独立工程;2)每个功能模块的代码单独形成一个独立工程;3)形成独立的主控逻辑目标码;4)形成功能模块的执行码;第四步、完成功能模块的描述信息;第五步、形成功能模块的目标码;第六步、主控逻辑根据功能模块的目标码对功能模块进行加载、卸载、更新、删除操作。

【技术特征摘要】
1.一种运用于DSP的功能模块动态加载方法,其特征在于:包括如下步骤:第一步、为主控逻辑和功能模块划分运行空间;第二步、明确功能模块的对外接口,确保具有相似功能的模块的接口或彼此可替换的功能模块的接口,都是一致的;第三步、分别形成主控逻辑的工程和功能模块的工程:1)主控逻辑的代码单独形成一个独立工程;2)每个功能模块的代码单独形成一个独立工程;3)形成独立的主控逻辑目标码;4)形成功能模块的执行码;第四步、完成功能模块的描述信息;第五步、形成功能模块的目标码;第六步、主控逻辑根据功能模块的目标码对功能模块进行加载、卸载、更新、删除操作。2.根据权利要求1所述的一种运用于DSP的功能模块动态加载方法,其特征在于:主控逻辑的独立工程与第一步中规划的主控逻辑运行空间一致。3.根据权利要求1所述的一种运用于DSP的功能模块动态加载方法,其特征...

【专利技术属性】
技术研发人员:李超刘国伟周悟强
申请(专利权)人:中国电子科技集团公司第三十研究所
类型:发明
国别省市:四川,51

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

1