AnsweredAssumed Answered

BF609 L3 data access from both cores

Question asked by iee-swi on Mar 19, 2013
Latest reply on Mar 21, 2013 by Nabeel

I'm trying to access a simple data buffer from both cores of the BF609, but I get trouble when activating the data caching on the second core.



- I allocate a memory buffer on core0.

- I transmit the address to this buffer to core1 by means of the MCAPI service.

- On core1 I write data to the allocated memory buffer by means of pointer access, i.e. like that: "*pData = <value>;".

- Once I'm done I return a message to core0 that the data processing is done.

- After that I read the data of that buffer on core0.


That works fine so far, as long as I do not activate any data caching or memory protection on core1. Due to the resulting data I can be sure that the processing is correct and that I'm only writing into the allocated buffer!


Problem: as soon as I activate data caching or even memory protection for the second core1 I always get an error message - already with the first write statement:


A fatal error or exception has occurred.

  Description:   An illegal data memory access has occurred.

  General Type:  RunTimeError

  Specific Type: DCPLBProtectionViolation

  General Code:  0x8

  Specific Code: 0x330

  Error Value:   0x0237e2c0

  Error PC:      0xff6019ee


What does this mean?

Have I forgotten to configure something for the data caching?


Invalidation of the memory area I want to write to does not help.

Writing to the memory area by means of an array variable (pData [index] = <value>;) neither.


I'm getting out of ideas where to search for the problem.

Has anyone a hint for me?