Hi all,
I am using Davinci DM6446 and I want to build an aplication in the ARM that uses DSPLink for sending and receiving information from the DSP. I am running an Integrity OS in the ARM, although the case would be the same for Linux. The problem that I am experiencing is related to PROC_Load function, which returns error 8000800c (DSP_EMEMORY). The size of the .out file that I am trying to download to the DSP is 360KB
I read in 'Toubleshooting DSPLink configuration Issues' that a possible cause for these error is that 'The DSP executable size is too big and heap memory is not available. Recheck the system heap size configuration.' However, I don't now if this implies just increasing the heap memory of the kernel that i am running. It could also be that I have to increase the heap memory of the address space application that has the program that executes this Proc_load() function.
I don't know either if it could a problem with the memory mapping of the system, which is the following:
hysicalRange BSP_PhysicalMemoryRanges[] = {
{RAMMemory, 0, 0x80000000, 0x87ffffff, RAM_MemoryType, 0} /* 128 MB RAM */
};
MemoryReservation __ghsentry_reservedmem_bsptcpipbuffers =
{(MEMORY_RWE | MEMORY_IOCOHERENT), 0, 0, 48 * 1024 - 1, RAM_MemoryType,
false, 0xfffff000, 0xfffff000, "__ghs_tcpip_buffers"};
#if defined(DSPLINK)
MemoryReservation __ghsentry_reservedmem_dsplink_shared_kernel_virtual =
{(MEMORY_RWE | MEMORY_IOCOHERENT), 0, 0x87500000, 0x875fffff,
RAM_MemoryType, true, 0xffffffff, 0xffffffff,
"__ghs_dsplink_shared_kernel_virtual"};
MemoryReservation __ghsentry_reservedmem_dsplink_load =
{(MEMORY_RWE | MEMORY_IOCOHERENT), 0, 0x87f00080, 0x87ffffff,
RAM_MemoryType, true, 0xffffffff, 0xffffffff,
"__ghs_dsplink_load"};
MemoryReservation __ghsentry_reservedmem_dsplink_reset =
{(MEMORY_RWE | MEMORY_IOCOHERENT), 0, 0x87f00000, 0x87f0007f,
RAM_MemoryType, true, 0xffffffff, 0xffffffff,
"__ghs_dsplink_reset"};
MemoryReservation __ghsentry_reservedmem_dsplink_shared_gpp_dsp =
{(MEMORY_RWE | MEMORY_IOCOHERENT), 0, 0x87700000, 0x87efffff,
RAM_MemoryType, true, 0xffffffff, 0xffffffff,
"__ghs_dsplink_shared_gpp_dsp"};
#endif
As far as I know, this memory mapping assigns 1MB to the section DSPLINKMEM. Does it need to be larger?
Does anyboy know possible solution to the problem or has experienced something similar?
Kind regards,
Pablo Colodrón