Hello everyone,
I'm working on Microzed board on an AMP architecture without using OpenAMP.
My CPU0 runs a Linux OS (kernel 4.4). My CPU1 runs a FreeRTOS. Each Application have to exchange data to the other one. so I'm using DDR as a shared memory and SGI as Inter processor interrupt system. My FreeRTOS application is located at 0x0F010000, and my Shared memory is located at 0x0F000000.
I've developped a module driver to managed to the SGI's and the access to the shared memory (read, write, ...). And I get -EBUSY error while trying to get DDR ressources from 0x0F000000 to 0x0F00FFFF.
I've try different ways :
- I've Changed memory size in device tree
memory {
- I've used memmap argument in kernel boot command line ==> it does not work and I've later that it is not supported on ARM.
- I've add a device tree node (reserved-memory)
==> the /proc/meminfo still see 1Gbyte RAM size (see here under) and modprobe mydriver still returns the same error
_______________________________________________________________________________
My device tree :