CN106843925A - 一种运用于dsp的功能模块动态加载方法 - Google Patents
一种运用于dsp的功能模块动态加载方法 Download PDFInfo
- Publication number
- CN106843925A CN106843925A CN201611165869.7A CN201611165869A CN106843925A CN 106843925 A CN106843925 A CN 106843925A CN 201611165869 A CN201611165869 A CN 201611165869A CN 106843925 A CN106843925 A CN 106843925A
- Authority
- CN
- China
- Prior art keywords
- functional module
- master control
- control logic
- dsp
- applying
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开了一种运用于DSP的功能模块动态加载方法,为主控逻辑和功能模块划分运行空间;明确功能模块的对外接口,确保具有相似功能的模块的接口或彼此可替换的功能模块的接口,都是一致的;分别形成主控逻辑的工程和功能模块的工程;完成功能模块的描述信息;形成功能模块的目标码;主控逻辑根据功能模块的目标码对功能模块进行加载、卸载、更新、删除操作。与现有技术相比,本发明的积极效果是:功能模块目标码与主控逻辑目标码可分别产生,单独更换;功能模块与主控逻辑基于接口进行交互,耦合性低;功能模块可存储变量或固化数据;主控逻辑可按需动态加载功能模块。
Description
技术领域
本发明涉及一种运用于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方式使用功能模块,同一时间主控逻辑仅加载一个功能模块,降低了对芯片内存空间的需求。
Claims (6)
1.一种运用于DSP的功能模块动态加载方法,其特征在于:包括如下步骤:
第一步、为主控逻辑和功能模块划分运行空间;
第二步、明确功能模块的对外接口,确保具有相似功能的模块的接口或彼此可替换的功能模块的接口,都是一致的;
第三步、分别形成主控逻辑的工程和功能模块的工程:
1)主控逻辑的代码单独形成一个独立工程;
2)每个功能模块的代码单独形成一个独立工程;
3)形成独立的主控逻辑目标码;
4)形成功能模块的执行码;
第四步、完成功能模块的描述信息;
第五步、形成功能模块的目标码;
第六步、主控逻辑根据功能模块的目标码对功能模块进行加载、卸载、更新、删除操作。
2.根据权利要求1所述的一种运用于DSP的功能模块动态加载方法,其特征在于:主控逻辑的独立工程与第一步中规划的主控逻辑运行空间一致。
3.根据权利要求1所述的一种运用于DSP的功能模块动态加载方法,其特征在于:每个功能模块的独立工程与第一步中规划的功能模块运行空间一致。
4.根据权利要求3所述的一种运用于DSP的功能模块动态加载方法,其特征在于:多个功能模块的运行空间彼此独立或重叠,且均在第一步规划的功能模块运行空间中。
5.根据权利要求1所述的一种运用于DSP的功能模块动态加载方法,其特征在于:形成功能模块的执行码的方法为:功能模块的执行文件.out形成后,使用DSP的模拟器加载此执行文件,并运行到main函数入口;使用DSP的内存存储功能,将该功能模块的内存空间中的有效数据存储成二进制文件,该二进制文件即为功能模块的执行码。
6.根据权利要求1所述的一种运用于DSP的功能模块动态加载方法,其特征在于:形成功能模块的目标码的方法为:将功能模块的描述信息和功能模块的执行码,用自定义结构打包形成一个具有自描述信息的整体,即得到功能模块的目标码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611165869.7A CN106843925B (zh) | 2016-12-16 | 2016-12-16 | 一种运用于dsp的功能模块动态加载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611165869.7A CN106843925B (zh) | 2016-12-16 | 2016-12-16 | 一种运用于dsp的功能模块动态加载方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106843925A true CN106843925A (zh) | 2017-06-13 |
CN106843925B CN106843925B (zh) | 2020-10-23 |
Family
ID=59140236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611165869.7A Active CN106843925B (zh) | 2016-12-16 | 2016-12-16 | 一种运用于dsp的功能模块动态加载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106843925B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107656846A (zh) * | 2017-09-19 | 2018-02-02 | 郑州云海信息技术有限公司 | 一种设备的硬件信息的获取方法及装置 |
CN114816581A (zh) * | 2022-05-20 | 2022-07-29 | 中国电子科技集团公司第三十研究所 | 一种基于arm处理器的无操作***算法动态加载方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130058412A1 (en) * | 2011-09-06 | 2013-03-07 | Mediatek Inc. | Dynamic Load Balancing for Video Decoding Using Multiple Processors |
CN103116522A (zh) * | 2013-01-31 | 2013-05-22 | 广州海格通信集团股份有限公司 | Dsp芯片的内核动态切换方法及控制*** |
CN104090804A (zh) * | 2014-07-15 | 2014-10-08 | 四川航天***工程研究所 | 一种实时dsp嵌入式***虚拟内存扩容方法 |
CN105446770A (zh) * | 2015-11-13 | 2016-03-30 | 邦彦技术股份有限公司 | 一种可节省存储芯片的集中存储方法及多功能模块*** |
-
2016
- 2016-12-16 CN CN201611165869.7A patent/CN106843925B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130058412A1 (en) * | 2011-09-06 | 2013-03-07 | Mediatek Inc. | Dynamic Load Balancing for Video Decoding Using Multiple Processors |
CN103116522A (zh) * | 2013-01-31 | 2013-05-22 | 广州海格通信集团股份有限公司 | Dsp芯片的内核动态切换方法及控制*** |
CN104090804A (zh) * | 2014-07-15 | 2014-10-08 | 四川航天***工程研究所 | 一种实时dsp嵌入式***虚拟内存扩容方法 |
CN105446770A (zh) * | 2015-11-13 | 2016-03-30 | 邦彦技术股份有限公司 | 一种可节省存储芯片的集中存储方法及多功能模块*** |
Non-Patent Citations (1)
Title |
---|
牛小兵,许爱德,王丹编著: "《DSP控制器实用教程》", 31 January 2007, 国防工业出版社 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107656846A (zh) * | 2017-09-19 | 2018-02-02 | 郑州云海信息技术有限公司 | 一种设备的硬件信息的获取方法及装置 |
CN114816581A (zh) * | 2022-05-20 | 2022-07-29 | 中国电子科技集团公司第三十研究所 | 一种基于arm处理器的无操作***算法动态加载方法 |
CN114816581B (zh) * | 2022-05-20 | 2023-06-02 | 中国电子科技集团公司第三十研究所 | 一种基于arm处理器的无操作***算法动态加载方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106843925B (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100407206C (zh) | 不同版本的配置数据间进行转换的方法和*** | |
CN102541521B (zh) | 基于结构化查询语言的操作指令自动生成装置及方法 | |
CN103324503A (zh) | 一种数据烧录***及方法 | |
CN101504672A (zh) | 一种动态配置实体数据表的方法和*** | |
CN101645010A (zh) | 代码自动生成***及方法 | |
CN102467488A (zh) | 一种文字处理文档异步加载的方法 | |
CN104424030A (zh) | 多进程操作共享内存的方法和装置 | |
CN102609252A (zh) | 基于测量仪器的逻辑菜单资源智能配置方法 | |
CN104111994A (zh) | 一种基于混合数据源的标签数据筛选方法及装置 | |
CN105630812A (zh) | 集群应用缓存刷新方法及装置 | |
CN103971036A (zh) | 页面栏位权限控制***及方法 | |
CN110109868A (zh) | 用于索引文件的方法、装置和计算机程序产品 | |
CN104572153A (zh) | 一种用于车辆刷新的刷新数据转换方法 | |
CN107015914A (zh) | 数据标定方法及*** | |
CN104809018A (zh) | 一种嵌入式***软件注入热补丁的方法及*** | |
CN106843925A (zh) | 一种运用于dsp的功能模块动态加载方法 | |
CN105573774A (zh) | 应用程序参数管理及配置方法 | |
CN103942280A (zh) | 一种基于数据结构自动生成代码的方法 | |
CN104657164A (zh) | 软件升级处理方法和装置 | |
CN103645888A (zh) | 一种自动构建操作***的***及方法 | |
CN105426635A (zh) | 一种自动建立差分线伴随地孔的Skill程序实现方法 | |
CN101714096A (zh) | 一种配置信息更新方法和装置 | |
CN1980447A (zh) | 一种通信***软件版本的平滑升级方法 | |
CN111414422B (zh) | 一种数据分布方法、装置、设备和存储介质 | |
CN105550349A (zh) | 持久层装置及数据库操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |