利用DSP/BIOS的数据管道功能(data pipes)/或者stream功能,我们可以实现上述HAL-C api。HalcGetEndpoint它的作用是使HC获得已被命名的终端句柄,然后这个句柄将被HAL-C API 的其他操作用作操作接口。我们使用PIP为每一个ENDPOINT 分配一个或者几个frame,这个frame代表了即将使用的终端的 地址。
halcSend是组件(HC)发送数据的方法。我们使用PIP_ALOC功能来实现HC发送数据,而具体发送到的地址则由管道来定向。
HalcReceive 是一个实现接收功能的面向连接的模块。我们使用PIP_get功能来实现,从哪儿得到数据由管道来定位。
HalcRegisterCallback
回调功能在没有组件接收调用的情况下,提供基层结构像组件发送数据的工具。这些数据可能来自某些特殊的终端,或者在基层结构的实现中以其他方式产生,比如事件,错误,等等。
基层结构在某些事件的驱动下,向组件发送数据,同样,我们也可以采用管道的方法,把发生的事件信息,通过管道发送给终端。
对于不同dsp之间的 组件的数据传输,ENDPOINT可以用来指向另外一块DSP,(把其中一块看作是另一块的外围器件),然后结合hwi swi实现通信。