This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Questions about DSPC8681E

hi,all:

I know that desktop linux sdk give some examples to show how to develop dspc8681E.

Though,I still have some questions.

1.

why pc host side can load dsp image( out file ) from linux host? what's the principle?

2.

Well known,8681E has four 6678s.such as dsp0 dsp1 dsp2 dsp3.

Can 8681 visit dsp0 or dsp1 or dsp2 or dsp3's DDR memory using mmap from linux host side?

why?

3.

How can pc host linux access (write/read) the register that belongs to c6678?

Thanks

  • A1. Typically .out file is ELF or COFF format, it contains header info, code/data sections and memory locations, and you can load it into DSP via CCS and run. In the Desktop Linux SDK, the .out file is converted into data arrays which contains the same code/data sections and memory locations, since you have a PCIE link setup between PC and DSP card, DSP memory is mapped into PC memory. Then you can write those code/data sections to DSP memory location from your PC then let DSP start to run.

    A2, yes, If you use 6678EVM, the PC detects one PCIE device. If you use 8681E, it detects 4 PCIE devices, you can specify what device's DDR3 to access from Linux side.

    A3. In theory, host can access any DSP's memory mapped register that has a global address. The DSP side's pcie inbound address translation registers provides this capability. Not sure if the LINUX SDK provides the API examples to re-configure PCIE inbound address register, need to double check.

    Regards, Eric