Hi!
I've read corresponding documentation:
http://processors.wiki.ti.com/index.php/Changing_DSPLink_Memory_Map
http://processors.wiki.ti.com/index.php/Troubleshooting_DSPLink_configuration_issues
http://processors.wiki.ti.com/index.php/DSPLink_FAQs
and dsplink datasheets, but still cannot make my samples work after memory re-allocation.
Supposed memory map:
0x80000000 - 0x8fffffff - memory for linux (limited by mem=256M arg in u-boot)
0x90000000 + 0x80 - reset vector of DSPLink
0x90000080 + 0xFFF80 - DSPLink code memory
0x90100000 + 0x80000 - DSPLink shared mem 1
0x90180000 + 0x80000 - DSPLink shared mem 2
0x90200000 + 0x9E00000 - memory for large data sharing
0x9a000000 + 0x6000000 - memory reserved for DMA
Here is configuration files: 2308.q2.zip
So, what is working now:
DMA (GPMC->memory) runs OK only when:
1) memory is allocated by CMEM_alloc with CMEM_HEAP, not CMEM_POOL. I don't understand why.
2) memory is allocated above 0x9a000000 (DMA channel generates error while passing addresses below 0x9a000000). I don't understand why.
3) I'm forced to CMEM_alloc 0x90000000 - 0x99ffffff before allocation for DMA, and CMEM_free that range then. (I cannot allocate memory starting from desirable start address other way).
But It works somehow. What's the problem: I cannot run any code contained GPP-DSP interaction. PROC_setup, PROC_attach, PROC_load, PROC_start is ok, but then even notify has no desirable effect.
Maybe I'm trying something fundamentally wrong? Please, could you check DSPLink configuration at least?
P.S. DM3730 chip, linux kernel v. 2.6.37, DSPLink v.1.65.01.05 from TI PSP