AnsweredAssumed Answered

Data Fault Exception when ARM writes to SHARC multiporcessor space

Question asked by jon_harris8 on Feb 28, 2017
Latest reply on Mar 13, 2017 by Harshit.Gaharwar

I am using a ADSP-SC589 and am attempting to write from SHARC multiprocessor space from the ARM core.  This is my very simple test code:


int nTest;

int *pTest = (int *) 0x282C0000; // SHARC1 multiprocessor space, L1 block 2, address 0xB0000

nTest = *pTest; // read from SHARC, this works

*pTest = nTest; // write to SHARC, this fails


The console prints out this message:

A non-recoverable error or exception has occurred.

Description: Data Fault Exception - caused by attempting to access invalid data memory.

General Type: RunTimeError

Specific Type: ExceptAbrtData

Error Message: If this is a synchronous fault, address 0x282c0000 held in Data Fault Address Register (DFAR) is the problem address.

Error PC: 0xc1004fc0


Because the real works and the write fails, I assume my address is correct.  I am thinking this could be an SMPU issue?  However, this is right after reset and according to the hardware reference manual, the SPU should be wide open.  I have spot checked some of the SMPU registers and they all look correct.  I've tried various addresses in different memory blocks, using Slave1 Port vs. Slave2 Port, and both SHARC cores.

Is it accurate that the console error above is due to a protection issue, or could something else cause that?  What can I do to disable this protection?

I'm testing this on the SC589 EZ-Board.  The code was added to the GPIO Button LED Polled (SC589 Cortex) example project, so it is doing very little else.  The code snippet above was added just after enabling both SHARC cores.