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?