CN106843925A - 一种运用于dsp的功能模块动态加载方法 - Google Patents

一种运用于dsp的功能模块动态加载方法 Download PDF

Info

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
Application number
CN201611165869.7A
Other languages
English (en)
Other versions
CN106843925B (zh
Inventor
李超
刘国伟
周悟强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 30 Research Institute
Original Assignee
CETC 30 Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CETC 30 Research Institute filed Critical CETC 30 Research Institute
Priority to CN201611165869.7A priority Critical patent/CN106843925B/zh
Publication of CN106843925A publication Critical patent/CN106843925A/zh
Application granted granted Critical
Publication of CN106843925B publication Critical patent/CN106843925B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic 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的功能模块动态加载方法。
本发明解决其技术问题所采用的技术方案是:一种运用于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的功能模块动态加载方法,其特征在于:形成功能模块的目标码的方法为:将功能模块的描述信息和功能模块的执行码,用自定义结构打包形成一个具有自描述信息的整体,即得到功能模块的目标码。
CN201611165869.7A 2016-12-16 2016-12-16 一种运用于dsp的功能模块动态加载方法 Active CN106843925B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 邦彦技术股份有限公司 一种可节省存储芯片的集中存储方法及多功能模块***

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
牛小兵,许爱德,王丹编著: "《DSP控制器实用教程》", 31 January 2007, 国防工业出版社 *

Cited By (3)

* Cited by examiner, † Cited by third party
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