第一操作系统对第二操作系统的dsp进行操作的方法及系统的制作方法

文档序号:6501759阅读:126来源:国知局
第一操作系统对第二操作系统的dsp进行操作的方法及系统的制作方法
【专利摘要】本发明公开了一种第一操作系统对运行于第二操作系统的DSP进行操作的方法及系统,包括:第一操作系统将命令写入共享缓冲区并向ARM处理器发送中断通知;所述ARM处理器接收到所述中断通知后,读取所述共享缓冲区中的所述命令,并判断出实现所述命令的功能的并运行于第二操作系统下的具有多个DSP子核的DSP中的目的DSP子核;所述ARM处理器将所述命令转发到所述目的DSP子核,以使所述目的DSP子核完成所述功能。本发明通过增加ARM处理器,使得第一操作系统的SDK所发出的命令能够通过所述ARM处理器转发到第二操作系统下的DSP,进而可实现在第一操作系统下对运行于第二操作系统的DSP的控制,使得Centaurus平台的视音频板卡能够应用于Windows操作系统。
【专利说明】第一操作系统对第二操作系统的DSP进行操作的方法及系 统

【技术领域】
[0001] 本发明涉及视频通信操作控制领域,特别涉及一种第一操作系统对第二操作系统 的DSP (Digital Signal Processing,数字信号处理单元)进行操作的方法及系统。

【背景技术】
[0002] Netra是德州仪器(TI)推出的一种视频片上系统(SoC,System on Chip),其 将高清多通道系统的所有捕获、压缩、显示和控制功能整合于单芯片上,其集成了 ARM CorteX-A8处理器、Ti C674x浮点DSP、若干二代可编程高清视频影像协处理器(HDVICP V2. 0)、以及一个高清视频处理子系统(HDVPSS,或者VPS)。
[0003] Centaurus是德州仪器基于Netra扩展的平台,集成了 Netra的特性,也更注重低 功耗设计。在Centaurus平台中,DSP特指由VID(HDVICP,可编程高清视频影像协处理器)、 C674x (Centaurus平台上的DSP运算处理器,C674x是业界最低功耗浮点DSP,基于C64x+ 平台,运行速度最高可达到750MHz)及高清视频处理子系统(HDVPSS,或者VPS)组成的多核 处理单元。其中,C674x是Centaurus平台上的DSP运算处理器,C674x是业界中最低功耗 浮点DSP,基于C64x+平台,运行速度最高可达750MHz。
[0004] DVR (Digital Video Recorder,硬盘录像机)是音视频存储处理的计算机系统,可 实现长时间录音、录像、远程监控等功能,DVR -般所运行的操作系统为linux。
[0005] 目前,基于Netra平台的DVR产品都是独立运行1 inux操作系统,在1 inux系统下, 主要以菜单形式控制DSP来实现各种功能。而基于Centaurus平台的视音频板卡则是属于 PC机的一部分,如果PC机运行Windows操作系统的话,则linux系统下的方案无法满足需 求,进而限制了 DVR产品在Windows操作系统下的应用。


【发明内容】

[0006] 有鉴于此,本发明提供一种第一操作系统对运行于第二操作系统的DSP进行操作 的方法及系统,进而实现Centaurus平台的视音频板卡在Windows操作系统下的应用。
[0007] 本申请的技术方案是这样实现的:
[0008] -种第一操作系统对运行于第二操作系统的DSP进行操作的方法,包括:
[0009] 第一操作系统将命令写入共享缓冲区并向ARM处理器发送中断通知;
[0010] 所述ARM处理器接收到所述中断通知后,读取所述共享缓冲区中的所述命令,并 判断出实现所述命令的功能的并运行于第二操作系统下的具有多个DSP子核的DSP中的目 的DSP子核;
[0011] 所述ARM处理器将所述命令转发到所述目的DSP子核,以使所述目的DSP子核完 成所述功能。
[0012] 进一步,所述第一操作系统通过该第一操作系统的SDK将命令写入共享缓冲区并 向ARM处理器发送中断通知。
[0013] 进一步,所述方法还包括:
[0014] 所述ARM处理器设置等待接收中断通知的超时时间;
[0015] 当所述ARM处理器等待接收所述中断通知的等待时间达到了所设置的超时时间, 并且所述ARM处理器没有接收到所述中断通知时,所述ARM处理器查询所述共享缓冲区以 确认所述共享缓冲区中是否有所述SDK写入的新的命令;
[0016] 若所述共享缓冲区中没有所述新的命令,则所述ARM处理器继续等待接收新的中 断通知;
[0017] 若所述共享缓冲区中有所述新的命令,则所述ARM处理器读取所述共享缓冲区中 的所述新的命令并判断出实现所述新的命令的功能的目的DSP子核;所述ARM处理器将所 述新的命令转发到所述目的DSP子核,以使所述目的DSP子核完成所述功能。
[0018] 进一步,所述超时时间为20ms。
[0019] 进一步,在读取所述共享缓冲区中的所述命令后,判断出实现所述命令的功能的 目的DSP子核之前,还包括:
[0020] 对所述命令进行校验;
[0021] 若校验成功则判断出实现所述命令的功能的目的DSP子核;否则,等待SDK再次向 ARM处理器发送中断通知。
[0022] 进一步,所述判断出实现所述命令的功能的并运行于第二操作系统下的具有多个 DSP子核的DSP中的目的DSP子核,是根据命令转发矩阵表判断出实现所述命令的功能的目 的DSP子核,以及命令执行时间和需要反馈的目的DSP子核等实现的。
[0023] 进一步,所述命令转发矩阵表包括:
[0024] _retCoreFlg_ :用于判断实现所述命令的功能的目的DSP子核;
[0025] _recevCoreFlg_ :用于判断返回信息的DSP子核;
[0026] _wait_ :用于记录所述命令的等待时间,若在所设定的时间内不能完成所述命令, 则报告错误;
[0027] _bPara_ :命令的参数,用于实现命令参数的传递;
[0028] _bRetPara_ :命令的反馈参数,用于实现命令返回参数的传递;
[0029] _buf_ :命令的缓冲区,用于放置参数信息;
[0030] _retBuf_ :命令的反馈缓冲区,用于放置返回参数等信息;
[0031] _func_ :命令对应的实现功能的函数指针。
[0032] 进一步,所述DSP子核包括:VID、VPS和C674X。
[0033] 进一步,所述DSP为Centaurus平台中的多核DSP。
[0034] 一种第一操作系统对运行于第二操作系统的DSP进行操作的系统,包括:
[0035] 第一操作系统的SDK,用于将命令写入共享缓冲区并向ARM处理器发送中断通知;
[0036] ARM处理器,用于接收所述中断通知,读取所述共享缓冲区中的所述命令,并判断 出实现所述命令的功能的并运行于第二操作系统下的具有多个DSP子核的DSP中的目的 DSP子核,并将所述命令转发到所述目的DSP子核,以使所述目的DSP子核完成所述功能; 以及
[0037] DSP,运行于第二操作系统下,具有多个DSP子核。
[0038] 从上述方案可以看出,本发明的第一操作系统对运行于第二操作系统的DSP进行 操作的方法及系统,通过在第一操作系统的SDK和第二操作系统的DSP之间增加 ARM处理 器,使得第一操作系统所发出的命令能够通过该ARM处理器转发到所述DSP,进而可实现在 第一操作系统例如Windows操作系统下对所述DSP的控制,使得Centaurus平台的视音频 板卡能够应用于Windows操作系统。

【专利附图】

【附图说明】
[0039] 图1为本发明的第一操作系统对运行于第二操作系统的DSP进行操作的方法的流 程图;
[0040] 图2为本发明的方法中的命令传输流程示意图;
[0041] 图3为本发明的方法应用于Centaurus平台时的流程示意图;
[0042] 图4为本发明的方法的一个具体实施流程图;
[0043] 图5为本发明的第一操作系统对运行于第二操作系统的DSP进行操作的系统结构 示意图。

【具体实施方式】
[0044] 为了使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例, 对本发明作进一步详细说明。
[0045] 如图1所示,本发明的第一操作系统对运行于第二操作系统的DSP进行操作的方 法主要包括以下步骤:
[0046] 第一操作系统将命令写入共享缓冲区并向ARM处理器发送中断通知;
[0047] 所述ARM处理器接收到所述中断通知后,读取所述共享缓冲区中的所述命令,并 判断出实现所述命令的功能的并运行于第二操作系统下的具有多个DSP子核的DSP中的目 的DSP子核;
[0048] 所述ARM处理器将所述命令转发到所述目的DSP子核,以使所述目的DSP子核完 成所述功能。
[0049] 其中,所述第一操作系统通过该第一操作系统的SDK (Software Development Kit,软件开发工具包)将命令写入共享缓冲区并向ARM处理器发送中断通知。以下以 Windows操作系统作为第一操作系统,第二操作系统为Linux操作系统为例,对本发明的方 法进行具体说明。
[0050] SDK是软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软 件的开发工具的集合。对于Windows(视窗)操作系统来说,微软每推出一个重要的Windows 版本,一般都会同时推出一个SDK。SDK包含了开发该Windows版本所需的Windows函数和 常数定义、API函数说明文档、相关工具和示例。
[0051] 本发明【具体实施方式】中的SDK为Windows系统的SDK,所述DSP为Centaurus平台 中的多核DSP,该DSP运行于Linux系统之下。
[0052] 利用本发明的方法,通过ARM处理器的命令转发可以实现Windows系统下用户对 DSP的功能调用。如图2所示,首先用户使用SDK提供的一系列功能接口向下发送命令;ARM 处理器端接收到SDK命令后将命令转发到DSP中相应的DSP子核,例如VPS、VID以及C674X 等,最终实现对DSP的操作。
[0053] 本发明的方法应用于Centaurus平台,使得在Windows系统下用户也可以对DSP 进行操作和控制,以实现DSP的相应功能。如图3所示,本发明的方法中,ARM处理器通过从 SDK进行命令接收,再将命令转发至DSP中相应的DSP子核,ARM处理器实质上是作为SDK 到DSP的命令转发模块,在SDK和DSP之间建立起一座命令传送的桥梁,进而通过识别和转 发实现了在Windows系统下对DSP的控制。
[0054] 本发明的方法,通过在SDK和DSP之间增加 ARM处理器,使得SDK所发出的命令能 够通过该ARM处理器转发到所述DSP,进而可实现在Windows系统下对所述DSP的操作和控 制,使得Centaurus平台的视音频板卡能够应用于Windows操作系统。
[0055] 在实际运行中,对于ARM处理器来说,有可能出现中断的丢失,即SDK向ARM处理 器发送的中断通知可能因为某些原因而没有被ARM处理器获得。为避免中断的丢失,本发 明的方法还进一步包括:
[0056] 所述ARM处理器设置等待接收中断通知的超时时间;
[0057] 当所述ARM处理器等待接收所述中断通知的等待时间达到了所设置的超时时间, 并且所述ARM处理器没有接收到所述中断通知时,所述ARM处理器均查询一次所述共享缓 冲区以确认是否有所述SDK向所述共享缓冲区写入的新的命令;
[0058] 若所述共享缓冲区中没有所述新的命令,则所述ARM处理器继续等待接收新的中 断通知,当所述ARM处理器等待接收新的中断通知的等待时间达到了所设置的超时时间 时,所述ARM处理器再次查询所述共享缓冲区以确认是否有所述SDK向所述共享缓冲区写 入的新的命令;
[0059] 若所述共享缓冲区中有所述新的命令,则所述ARM处理器读取所述共享缓冲区中 的所述新的命令并判断出实现所述新的命令的功能的目的DSP子核;
[0060] 所述ARM处理器将所述新的命令转发到所述目的DSP子核,以使所述目的DSP子 核完成所述功能。
[0061] 由上述方案可以看出,本发明的方法在设置超时时间周期后,ARM处理器便可在每 个超时时间周期结束时均查询一次共享缓冲区。这样,当出现中断的丢失状况时,只要SDK 已向共享缓冲区中写入了命令,ARM处理器都可以从共享缓冲区中读取SDK写入的最新的 命令,进而完成对DSP的操作,从而可避免中断丢失而造成ARM处理器的长时间等待,甚至 不能读取共享缓冲区的问题。
[0062] 本发明的方法中,为防止所读取命令产生错误,在读取所述共享缓冲区中的所述 命令后,判断出实现所述命令的功能的目的DSP子核之前,还包括:
[0063] 对所述命令进行校验;
[0064] 若校验成功则判断出实现所述命令的功能的目的DSP子核;否则,等待SDK再次向 ARM处理器发送中断通知。
[0065] 另外,本发明的方法中,所述判断出实现所述命令的功能的并运行于第二操作系 统下的具有多个DSP子核的DSP中的目的DSP子核,是根据命令转发矩阵表判断出实现所 述命令的功能的目的DSP子核,以及命令执行时间和需要反馈的目的DSP子核等等实现的。
[0066] 图4所示实施例为本发明的方法进行具体应用时的一具体逻辑流程,以下对图4 所示实施例流程进行详细说明。
[0067] 步骤a、ARM处理器进行初始化,以建立共享缓冲区、创建命令转发任务,之后执行 步骤b。
[0068] 本步骤a的初始化过程包括:(1)建立共享缓冲区,指定固定的内存地址作为SDK 和DSP的命令共享缓冲区,并将该内存地址对应的物理地址通知DSP以用于DSP访问;(2) 创建命令转发任务,用于监听SDK的中断通知以及向DSP转发所接收的命令。
[0069] 步骤b、ARM处理器等待SDK发送的中断通知,并设置等待的超时时间;当所述ARM 处理器接收到所述中断通知后,或者当等待时间达到了所设置的超时时间后,执行步骤c。
[0070] 本步骤b中,ARM处理器处于等待状态,等待SDK所发送来的中断通知。当用户调 用SDK接口向ARM处理器发送中断通知后,ARM处理器产生中断并读取共享缓冲区以判断 出是否有新命令。为了避免中断丢失造成长时间等待,步骤b中设置了一个超时时间,当到 达超时时间后ARM处理器将自动查询共享缓冲区,判断出是否有新命令。作为一个具体实 施例,超时时间设置为20ms。
[0071] 步骤c、ARM处理器判断是否等待到中断通知,如果是则执行步骤f,否则执行步骤 d〇
[0072] 当在步骤b中,ARM处理器接收到中断通知,则直接进入本步骤c,无需等待到超时 时间后再进入步骤c,此时在步骤c中ARM处理器将判断出等待(接收)到了中断通知,随后 便直接进入步骤f。当在步骤b中,ARM处理器没有接收到中断通知,并且等待时间达到了 所设置的超时时间后,则进入本步骤c,此时在步骤c中ARM处理器将判断出没有等待到中 断通知,随后便进入步骤d。
[0073] 步骤d、查询共享缓冲区,以确认所述共享缓冲区中是否有所述SDK写入的新的命 令,并执行步骤e。
[0074] 步骤e、判断共享缓冲区中是否有所述SDK写入的新的命令,如果有则执行步骤f, 否则执行步骤b。
[0075] 从前述步骤b、步骤c的流程可以看出,步骤d、步骤e的执行是在ARM处理器没有 等待到中断的情况下才触发的。在本发明的方法进行实际应用中,对于ARM处理器来说,有 可能出现中断丢失,即SDK向ARM处理器发送的中断通知可能因为某些原因而没有被ARM 处理器获得,并且此时SDK是有可能已经向共享缓冲区写入了新的命令。因此,步骤b中超 时时间的设置以及步骤c、步骤d和步骤f的设置能够有效地防止因为中断丢失情况发生时 所导致意外的发生。
[0076] 在步骤e中,当判断出共享缓冲区中没有所述SDK写入的新的命令时,表明了在达 到超时时间的这段时间周期内,ARM处理器既没有接收到中断通知,也没有在共享缓冲区中 查询到新的命令,此时可认为SDK在达到超时时间的这段时间周期内没有发出命令。在这 种情况下,ARM处理器回到步骤b的执行状态,在一个新的超时时间周期中重新等待SDK发 送的中断通知。
[0077] 在步骤e中,当判断出共享缓冲区中有所述SDK写入的新的命令时,表明了在达到 超时时间的这段时间周期内,ARM处理器虽然没有接收到中断通知,但是SDK已经在共享缓 冲区中写入了新的命令,此时可认为SDK在达到超时时间的这段时间周期内发出了命令, 但是由于某种(些)原因造成了中断通知的丢失。在这种情况下,ARM处理器的下一步处理同 步骤c中等待到中断通知后的处理一样,认为SDK已发出了命令,进而进行步骤f的执行。
[0078] 步骤f、对命令进行校验,之后执行步骤e。
[0079] 步骤g、判断命令校验是否成功,如果是则执行步骤h,否则执行步骤b。
[0080] 步骤f和步骤g的设置可以防止命令错误。当步骤g中判断出步骤f对命令校验 没有成功,即校验失败时,可认为该次SDK所发送的命令是错误的,遂重新回到步骤b,进而 避免了一次DSP错误的执行命令,这样可有效防止错误命令对DSP造成错误的控制。
[0081] 步骤h、ARM处理器根据命令转发矩阵表,将命令转发到目的DSP子核,以使所述目 的DSP子核完成所述命令的功能。
[0082] 由于前述步骤b至步骤g的设置,使得执行到本步骤h时,SDK所发出的命令才可 以确认为是对DSP进行控制的正确命令。此时执行步骤h才能够真正获得SDK所发出命令 通过ARM处理器的转发后在DSP所实现的功能。
[0083] 结合图4所示,经过步骤b,当SDK将命令写入共享缓冲区并向ARM处理器发送中 断通知,所述ARM处理器接收到所述中断通知后,在步骤c中,ARM处理器判断出等待(接 收)到了中断通知,随后ARM处理器读取所述共享缓冲区中的所述命令,并判断出实现所述 命令的功能的目的DSP子核。在ARM处理器读取所述共享缓冲区中的所述命令,并判断出 实现所述命令的功能的目的DSP子核的过程中,将经历步骤f和步骤g的对命令进行校验 的过程。当在步骤g中校验不成功,则回到步骤b的执行。
[0084] 结合图4所示,于步骤b中ARM处理器设置等待的超时时间;经过步骤b、步骤c 后,当所述ARM处理器等待接收所述中断通知的等待时间达到了所设置的超时时间,并且 所述ARM处理器没有接收到所述中断通知时,则执行步骤d,所述ARM处理器查询所述共享 缓冲区以确认所述共享缓冲区中是否有所述SDK写入的新的命令;
[0085] 在步骤e中,若所述共享缓冲区中没有所述新的命令,则回到步骤b,所述ARM处 理器继续等待接收新的中断通知,当再次经过步骤b、步骤c,所述ARM处理器等待接收新的 中断通知的等待时间达到了所设置的超时时间时,继续执行步骤d,所述ARM处理器再次查 询所述共享缓冲区以确认是否有所述SDK向所述共享缓冲区写入的新的命令,如此反复执 行;
[0086] 在步骤e中,若所述共享缓冲区中有所述新的命令,则所述ARM处理器读取所述共 享缓冲区中的所述新的命令并判断出实现所述新的命令的功能的目的DSP子核;所述ARM 处理器将所述新的命令转发到所述目的DSP子核,以使所述目的DSP子核完成所述功能。针 对图4所示实施例,其中还包括了对所述新的命令进行校验的过程。
[0087] 本发明中,对所述命令进行校验的过程是在读取所述共享缓冲区中的所述命令 后,判断出实现所述命令的功能的目的DSP子核之前进行的。具体可参见图4中步骤f、步 骤g和步骤f。
[0088] 本发明中,判断出实现所述命令的功能的具体DSP子核以及将所述命令转发到所 述目的DSP子核是根据命令转发矩阵表实现的,所述命令转发矩阵表包括:
[0089] _retC〇reFlg_(执行核标识参数):用于判断实现所述命令的功能的目的DSP子核;
[0090] _recevCoreFlg_ (返回核标识参数):用于判断返回信息的DSP子核;
[0091] _wait_ (等待时间参数):用于记录所述命令的等待时间,若在所设定的时间内不 能完成所述命令,则报告错误;
[0092] _chanType_ (通道类型参数):用于记录所述命令的通道类型、通道数量,以用于对 所述命令进行校验;
[0093] _bPara_ (命令参数):命令的参数,用于实现命令的传递;
[0094] _bRetPara_ (命令反馈参数):命令的反馈参数,用于实现命令返回的参数的传递;
[0095] _buf_ (命令缓冲参数):命令的缓冲区,用于放置参数信息;
[0096] _retBuf_ (命令反馈缓冲参数):命令的反馈缓冲区,用于放置返回参数等信息;
[0097] _func_ (执行函数参数):命令对应的实现功能的函数指针。
[0098] 其中_chanType_是可有可无的,其他的所有参数必不可少。但需要注意,有些命 令用不到_retBuf_ (命令反馈缓冲参数),_retBufj^t这些用不到_retBuf_的命令是没有 用的,但对其他命令则可能是有用的。
[0099] 如上所述命令转发矩阵表中的各参数,命令转发矩阵表记录了命令所需的全部信 息。SDK通过ARM处理器向DSP下发命令时只需提供命令号及必要的设置参数即可,从而屏 蔽了命令设置的详细细节。ARM处理器通过命令序号可在命令转发矩阵表中查找到相应命 令,该处详细记录了执行该相应命令的DSP子核、需要反馈信息的DSP子核、执行命令的等 待时间、命令的类型(编码、解码或显示)、执行命令的函数指针等信息。进而ARM处理器将 命令及相应参数下发到对应的DSP子核,并通过命令转发矩阵表中的函数指针在该子核调 用相应的函数完成命令。最后DSP子核将反馈信息写入转发矩阵表中命令的反馈缓冲区(_ retBuf_)和反馈参数(_bRetPara_),从而完成SDK和多核DSP的交互。
[0100] 本发明的方法,通过在第一操作系统和第二操作系统下的DSP之间增加 ARM处理 器,使得第一操作系统所发出的命令能够通过该ARM处理器转发到所述DSP,进而可实现在 第一操作系统(如Windows系统)下对所述DSP的控制,进而使得Centaurus平台的视音频 板卡能够应用于Windows操作系统。
[0101] 依据上述方法,本发明还提供了一种第一操作系统对运行于第二操作系统的DSP 进行操作的系统,如图5所示,包括:第一操作系统的SDK,用于将命令写入共享缓冲区并向 ARM处理器发送中断通知;
[0102] ARM处理器,用于接收所述中断通知,读取所述共享缓冲区中的所述命令,并判断 出实现所述命令功能的并运行于第二操作系统下的具有多个DSP子核的DSP中的目的DSP 子核,并将所述命令转发到所述目的DSP子核,以使所述目的DSP子核完成所述功能;以及
[0103] DSP,运行于第二操作系统下,具有多个DSP子核,例如VID、VPS和C674X等。该 DSP为Centaurus平台中的多核DSP。
[0104] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1. 一种第一操作系统对运行于第二操作系统的DSP进行操作的方法,包括: 第一操作系统将命令写入共享缓冲区并向ARM处理器发送中断通知; 所述ARM处理器接收到所述中断通知后,读取所述共享缓冲区中的所述命令,并判断 出实现所述命令的功能的并运行于第二操作系统下的具有多个DSP子核的DSP中的目的 DSP子核; 所述ARM处理器将所述命令转发到所述目的DSP子核,以使所述目的DSP子核完成所 述功能。
2. 根据权利要求1所述的方法,其特征在于:所述第一操作系统通过该第一操作系统 的SDK将命令写入共享缓冲区并向ARM处理器发送中断通知。
3. 根据权利要求2所述的方法,其特征在于,所述方法还包括: 所述ARM处理器设置等待接收中断通知的超时时间; 当所述ARM处理器等待接收所述中断通知的等待时间达到了所设置的超时时间,并且 所述ARM处理器没有接收到所述中断通知时,所述ARM处理器查询所述共享缓冲区以确认 所述共享缓冲区中是否有所述SDK写入的新的命令; 若所述共享缓冲区中没有所述新的命令,则所述ARM处理器继续等待接收新的中断通 知; 若所述共享缓冲区中有所述新的命令,则所述ARM处理器读取所述共享缓冲区中的所 述新的命令并判断出实现所述新的命令的功能的目的DSP子核;所述ARM处理器将所述新 的命令转发到所述目的DSP子核,以使所述目的DSP子核完成所述功能。
4. 根据权利要求3所述的方法,其特征在于:所述超时时间为20ms。
5. 根据权利要求3所述的方法,其特征在于,在读取所述共享缓冲区中的所述命令后, 判断出实现所述命令的功能的目的DSP子核之前,还包括: 对所述命令进行校验; 若校验成功则判断出实现所述命令的功能的目的DSP子核;否则,等待SDK再次向ARM 处理器发送中断通知。
6. 根据权利要求1所述的方法,其特征在于:所述判断出实现所述命令的功能的并运 行于第二操作系统下的具有多个DSP子核的DSP中的目的DSP子核,是根据命令转发矩阵 表判断出实现所述命令的功能的目的DSP子核,以及命令执行时间和需要反馈的目的DSP 子核实现的。
7. 根据权利要求6所述的方法,其特征在于,所述命令转发矩阵表包括: _retCoreFlg_ :用于判断实现所述命令的功能的目的DSP子核; _recevCoreFlg_ :用于判断返回信息的DSP子核; _?&^_:用于记录所述命令的等待时间,若在所设定的时间内不能完成所述命令,则报 告错误; _bPara_ :命令的参数,用于实现命令参数的传递; _bRetPara_ :命令的反馈参数,用于实现命令返回参数的传递; _buf_ :命令的缓冲区,用于放置参数信息; :命令的反馈缓冲区,用于放置返回参数等信息; _func_ :命令对应的实现功能的函数指针。
8. 根据权利要求1至7任一项所述的方法,其特征在于,所述DSP子核包括:可编程高 清视频影像协处理器VID、高清视频处理子系统VPS和C674X。
9. 根据权利要求1至7任一项所述的方法,其特征在于:所述DSP为Centaurus平台 中的多核DSP。
10. -种第一操作系统对运行于第二操作系统的DSP进行操作的系统,其特征在于,包 括: 第一操作系统的SDK,用于将命令写入共享缓冲区并向ARM处理器发送中断通知; ARM处理器,用于接收所述中断通知,读取所述共享缓冲区中的所述命令,并判断出实 现所述命令的功能的并运行于第二操作系统下的具有多个DSP子核的DSP中的目的DSP子 核,并将所述命令转发到所述目的DSP子核,以使所述目的DSP子核完成所述功能;以及 DSP,运行于第二操作系统下,具有多个DSP子核。
【文档编号】G06F15/163GK104102619SQ201310125921
【公开日】2014年10月15日 申请日期:2013年4月11日 优先权日:2013年4月11日
【发明者】张海龙, 王微, 周春晖 申请人:杭州海康威视数字技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1