一种单核DSP的集成运行系统和方法技术方案

技术编号:37814076 阅读:13 留言:0更新日期:2023-06-09 09:44
本发明专利技术涉及一种单核DSP的集成运行系统,该运行系统包括主控功能模块和多个服务功能模块,主控功能模块负责对服务功能模块的调度,服务功能模块用于实现控制装置功能;DSP中的监控功能模块在进行二级加载时,将存储于外部空间上的多个功能模块加载到预先规划的各自运行空间,先加载服务功能模块,最后加载主控功能模块;主控功能模块通过调用各服务功能模块预先分配好的接口函数地址,实现在单核DSP内的多功能模块部署及集成调度。本发明专利技术实现在单核DSP内运行多个功能模块,且各功能模块均可建立独立的CCS工程,编译生成独立的可执行bin文件,独立升级灌装;在功能模块联合调试时,增加了调试的便利性。增加了调试的便利性。增加了调试的便利性。

【技术实现步骤摘要】
一种单核DSP的集成运行系统和方法


[0001]本专利技术属于处理器
,尤其涉及一种单核DSP的集成运行系统和方法。

技术介绍

[0002]现有技术中单核DSP(中文名称,数字信号处理器)的功能扩展,往往采用建立单个CCS(Code Composer Studio)功能模块工程的方式,在该工程内完成该芯片执行的全部功能。当功能涉及多家用户且用户间存在不便于公开的核心时,针对此情形下的DSP功能开发往往采用如下两种方式:
[0003]方式一:各用户的功能模块均运行于独立的硬件资源上,如各功能模块分别占有多核DSP中的一个核或各自运行于独立的DSP上,该方案无法实现硬件资源的最大化利用,造成运算资源的浪费,最终造成硬件成本的增加。
[0004]方式二:各用户的功能模块建立独立的CCS工程,编译生成lib库文件,提供给系统集成单位,由系统集成单位统一编译,最终形成一个可执行bin文件灌装于DSP内。该方案的弊端在于,当任一使用方功能模块更新时,系统集成单位均需对各方lib库文件统一重新编译,造成功能模块维护过程繁琐,状态控制难度增加;此外,由于各用户提供的lib库文件不开放源代码,在功能模块联合调试时,无法采用断点调试方法,造成调试效率降低。

技术实现思路

[0005]本专利技术的目的是提供一种单核DSP的集成运行系统和方法,实现在单核DSP内运行多个功能模块,且各功能模块均可建立独立的CCS工程,编译生成独立的可执行bin文件,独立升级灌装;在功能模块联合调试时,可将硬件通过仿真器接入各研制单位的调试计算机独立调试对应代码,增加了调试的便利性。
[0006]本专利技术的技术方案是,一种单核DSP的集成运行系统包括主控功能模块和多个服务功能模块,主控功能模块负责对服务功能模块的调度,服务功能模块用于实现控制装置功能;DSP中的监控功能模块在进行二级加载时,将存储于外部空间上的多个功能模块加载到预先规划的各自运行空间,先加载服务功能模块,最后加载主控功能模块;主控功能模块通过调用各服务功能模块预先分配好的接口函数地址,实现在单核DSP内的多功能模块部署及集成调度。
[0007]所述一种单核DSP的集成运行系统的集成运行方法具体步骤如下:
[0008]第一步,多个功能模块存储空间分配:分配各功能模块的片内RAM、片外RAM运行空间及FLASH存储空间;即根据DSP的片内RAM、片外RAM及FLASH空间大小,为主控功能模块及服务功能模块分配适当的片内、片外RAM、FLASH运行空间;
[0009]第二步,功能模块间交互接口的确定;主控功能模块与服务功能模块之间交互接口包括接口函数和交互数据;接口函数包括接口地址获取函数和若干服务函数,接口地址获取函数运行于在第一步中分配好的片内RAM空间内,接口地址获取函数用于获取各服务函数地址;服务函数用于实现控制装置功能;交互数据通过共享内存实现,主控功能模块及
服务功能模块预先规定交互数据格式及空间大小,同时设置读写锁;
[0010]第三步,确定各类型功能模块约束:为确保本方法的正确执行,服务功能模块及DSP的监控功能模块遵从相应的约束;DSP的监控功能模块的运行约束,在二级加载应用功能模块时,首先搬运服务功能模块到指定的内存空间,最后搬运主控功能模块并跳转到主控功能模块执行。
[0011]第四步,确定多功能模块调用时序:主控功能模块进行服务功能模块调度时,首先调用各服务功能模块的接口地址获取函数,将各服务功能模块的服务函数地址导出;其次,主控功能模块调用硬件驱动服务,完成系统初始化、定时器设置、中断使能、外设接口初始化等;再次,调用各功能模块的初始化服务,绑定主控模块与各服务模块间的交互数据(包括公用数据及私有数据)的初始化;最后调用其他用于实现具体功能的功能模块中的服务函数。
[0012]第一步的具体内容如下:
[0013]首先为各个功能模块分配片内运行空间,即根据各个功能模块运行所需空间进行分配,分配的空间大小大于运行所需空间百分之二十,同时预留出一级加载程序、监控功能模块、cache的运行空间;其中每个服务功能模块的片内空间分成两部分,一部分为获取函数运行空间,另一部分为服务函数运行空间,并将分配空间结果编制在CCS工程内的lnk.cmd文件中;然后为主控功能模块和各个服务功能模块分配FLASH空间,分配的FLASH空间以扇区为单位。
[0014]第二步中所述接口地址获取函数定义为:
[0015]void*GetServiceEntry(int chn);
[0016]其中参数chn表示服务号,每个服务号对应特定的服务函数;接口函数的返回值代表指定的服务函数的地址,即各服务功能模块的接口地址获取函数的地址为指定地址;其余服务函数地址由CCS工程内的编译器自行分配,并通过接口地址获取函数将分配的服务函数地址返回;int为整型数,GetServiceEntry接口地址获取函数名称,void*为函数返回值;
[0017]所述交互数据是在主控功能模块内定义交互数据结构体,并在功能模块初始化阶段将结构体指针发送给服务功能模块,主控功能模块与服务功能模块交互时对同一交互数据结构体进行操作。
[0018]第三步中所述约束如下,1、不可使用堆内存空间,2、栈内存空间的使用需控制空间大小,主控功能模块的栈内存空间应大于各服务功能模块的栈内存空间总和;3、各服务功能模块不可使用中断;4、功能模块开发若采用C++语言,构造函数需为空函数,不允许使用虚函数;5、避免阻塞型功能模块存在。
[0019]本专利技术的有益效果是,本专利技术实现了在单核DSP内多功能模块的调度运行,主控功能模块及服务功能模块均可建立独立的CCS工程,各功能模块独立编译、升级,简化功能模块集成及升级链条,便于功能模块状态管控,节省人力成本;各功能模块对应独立的CCS工程,在功能模块联调时,可将硬件通过仿真器接入各研制单位的调试计算机独立调试对应代码,增加了调试的便利性;本专利技术实现了单核DSP内多功能模块集成运行。
附图说明
[0020]图1为本专利技术一种单核DSP的集成运行方法第四步骤中接口函数的调用示意图;
[0021]图2为本专利技术第四步骤中接口函数间的调用流程;
[0022]图3为本专利技术实施例中lnk.cmd文件。
具体实施方式
[0023]下面结合说明书附图对本专利技术技术方案做进一步详细描述。
[0024]本专利技术一种单核DSP的集成运行系统包括多个功能模块。多个功能模块包括主控功能模块和若干服务功能模块,主控功能模块负责对服务功能模块的调度,服务功能模块用于实现控制装置功能,控制装置功能是指控制舵机、电动泵和电气等的功能。DSP监控功能模块在进行二级加载时,将存储于外部空间上的多个功能模块加载到预先规划的各自运行空间,先加载服务功能模块,最后加载主控功能模块。主控功能模块通过调用各服务功能模块预先分配好的接口函数地址,实现在单核DSP内的多功能模块部署及集成调度。所述单本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种单核DSP的集成运行系统,其特征是:该运行系统包括主控功能模块和多个服务功能模块,主控功能模块负责对服务功能模块的调度,服务功能模块用于实现功能;DSP中的监控功能模块在进行二级加载时,将存储于外部空间上的多个功能模块加载到预先规划的各自运行空间,先加载服务功能模块,最后加载主控功能模块;主控功能模块通过调用各服务功能模块预先分配好的接口函数地址,实现在单核DSP内的多功能模块部署及集成调度。2.按照权利要求1所述一种单核DSP的集成运行系统的集成运行方法,其特征在于:该集成运行方法具体步骤如下:第一步,多个功能模块存储空间分配:分配各功能模块的片内RAM、片外RAM运行空间及FLASH存储空间;即根据DSP的片内RAM、片外RAM及FLASH空间大小,为主控功能模块及服务功能模块分配适当的片内、片外RAM、FLASH运行空间;第二步,功能模块间交互接口的确定;主控功能模块与服务功能模块之间交互接口包括接口函数和交互数据;接口函数包括接口地址获取函数和若干服务函数,接口地址获取函数运行于在第一步中分配好的片内RAM空间内,接口地址获取函数用于获取各服务函数地址;服务函数用于实现功能;交互数据通过共享内存实现,主控功能模块及服务功能模块预先规定交互数据格式及空间大小,同时设置读写锁;第三步,确定各类型功能模块约束:为确保本方法的正确执行,服务功能模块及DSP的监控功能模块遵从相应的约束;DSP的监控功能模块的运行约束,在二级加载应用功能模块时,首先搬运服务功能模块到指定的内存空间,最后搬运主控功能模块并跳转到主控功能模块执行。第四步,确定多功能模块调用时序:主控功能模块进行服务功能模块调度时,首先调用各服务功能模块的接口地址获取函数,将各服务功能模块的服务函数地址导出;其次,主控功能模块调用硬件驱动服务,完成系统初始化、定时器设置、中断使能、外设接口初始化等;再次,调用各功能模块的初始化服务,绑定主控模块与各服务模块间的交互数据(包...

【专利技术属性】
技术研发人员:董鹏飞黄晗宁国栋牛堉苑杨尚霖周冉支元祺
申请(专利权)人:北京机电工程研究所
类型:发明
国别省市:

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

1