I have been trying to get my head wrapped around how to approach developing a system in which we are using both the ARM and the DSP in the 816x. So far, it is not really going that well.
In the system we are building, the ARM needs to boot Linux, then boot our DSP application. The DSP app will run for as long as the system is running, and will need to communicate bidirectionally with code running on the ARM. It does not fit into any of the higher level software infrastructures (like Codec engine or C6Accel/C6Run).
It appears that the sys/link framework is the right place to be starting, but honestly, I am having a very difficult time determining where to start. I am also concerned that it is changing quickly enough that code that I write today will not work on the next release without significant rework.
Assuming the following:
- I have the DDR2 EVM
- I have the ti-ezsdk_dm816x-evm_5_01_00_77
- I have a CCS license
- I have an XDS560v2 emulator
- I have no real experience with TI tools or ways of doing things (no DSP/BIOS or DSP/LINK experience, no CCS experience)
- I have plenty of experience with Linux and DSP programming in general
How do I go about starting to develop an application for the DSP that I can launch from an ARM based program that will not interfere with the other sys/link clients (e.g. the video and graphics subsystems)?
Do I do this in the ezsdk environment?
Do I do it in CCS?
How do I debug the DSP code?
If in ezsdk, do I need to put my code within the syslink directory?
If not, what do I need to copy out of the syslink directory to create a build environment for my application?
If there is an existing document within the Wiki or the ezsdk that details all of this, please let me know and I will work through it. I have been searching, but so far I have not found it. The syslink install guide may very well include all of this information, but I am having a hard time seeing the forest for the trees. It seems like this document is really written more for experts who are also TI internal folks (for example, many of the links are to documents that are TI internal, and are not accessible by customers -- on another note, the TI folks really should check for this stuff before sending out releases; it is completely unclear if access to these files is required or not).
If no such document exists, can someone please post a short "step-by-step" list of how to create a project to build a simple DSP application that can be launched by a corresponding linux app, ideally that is as self-contained as possible.
Thanks in advance!
BR,
B.J.