DSP gateway Architecture in Detail (Mr. Yoshitaka Hirase Nokia Japan) [Translator's comment: see powerpoint presentation material DSPGateway_Celf_Jamboree6.ppt (in English)] * What is DSP gateway? Gateway to use DSP from Linux side. * What is OMAP? ARM based processor, for mobile devices omap has its own tree in linux, maintained by a NOKIA employee. * Features of DSP GW Open source Hard to reduce overhead between ARM and DSP Task management for codec etc. For movie, more than one tasks can operate (video, audio, ...) [on DSP] "Dynamic Loader" enters/delete tasks. DSP gateway is being developed on community basis * DSP interface Device "DSP task device" is created. Through this device, DSP is accessed. * Inter Processor Communication Uses mailbox Put a command in DSP-understandable protocol into the mailbox, and DSP processes it. * commands using mailbox Commands are in the table on DSP Choose one from the table and use * task mngment : dynamic loader DSP ARM ------------------- ------------------------------- DSP executes Application on Linux writes command onto corresponding command device(dsp supplied device) with open() =================== ============================== DSP gateway <-> DSP gateway ------------------- ------------------------------ * Demo Login 770 with ssh, and replay music From log, can see the DSP processing block sent data. As paused, task on DSP is hold. Once terminated, task on DSP becomes "notask". Replaying movie shows multiple tasks running on DSP * performavce evaluation To implement onto a product, perfomance evaluation has been severe while developing. * Q&A - I guess there is overhead when loading a task onto DSP. What did you do? Did you keep memory open, or gain performance by keeping tasks on memory? Memory was used for replaying contents as much as possible. Otherwise, as memory shared, memory becomes tight. - Do you have any plan for the case where DSP actively updates command/data? We are thinking of Voice over IP, and then we have to study it. - As DSP is not always running, is its memory area released? Kernel area for DSP is allocated on bootup, and kept on. It would be difficult to release it.