Other Parts Discussed in Thread: OMAP3530
I need to run an image processing application on my DM3730 dual core (ARM/DSP).
I'm using dsplink 1.65.2.9 and thanks to support obtained from a previous post I managed to
modify the memory mapping of the example loop to send and receive 4MB data buffers between the ARM and the DSP.
So now I've integrated my image processing algorithm inside the example dsp-side and I can execute only a small part of it (by commenting the most computationally intensive sections). If I try to run a bigger part of the algorithm I get this message:
[11015.449981] DSP MMU Error Fault! MMU_IRQSTATUS = [0x1]. Virtual DSP addr reference that generated the interrupt = [0xedfe9e50].
Now, I've read many posts on the MMU erros but I can't manage to properly setup the memory.
The steps that I've followed till now are:
1- in CFG_OMAP3530_SHMEM.c
increased CODEMEMORYSIZE from 0x8FF80u to 0x8FFFF80u (the linker cried for this increase)
increased POOLMEMORYSIZE from 0xD0000u to 0x1000000u (needed to exchange 4MB between ARM and DSP)
decreased RESETCTRLADDR from 0x8E000000u to 0x85FD0000u (to keep DDR+SHARED+POOL memory below 0x90000000)
set field MAXBUFSIZE of LINKCFG_dataTable_00 from 16384 to -1 (to remove buffer size limits)
2- in dsplink-omap3530-base.tci
set DDR2.len to match CODEMEMORYSIZE
set POOLMEM.len to match POOLMEMORYSIZE
set RESET_VECTOR.base to match RESETCTRLADDR
3- in boot.scr
modified the line
setenv mmcargs 'setenv bootargs mem=160M@0x80000000 mem=256M@0x90000000 console=${console} root=${mmcroot} rootfstype=${mmcrootfstype}'
to
setenv mmcargs 'setenv bootargs mem=60M@0x80000000 mem=256M@0x90000000 console=${console} root=${mmcroot} rootfstype=${mmcrootfstype}'
in order to avoid overlapping with the GPP OS
Any suggestion is highly appreciated,
Filippo