I'm running a BF561 and what I'm basically trying to do is allow a Linux program on CoreA to read buffers that are being written to by a bare metal encoder running on CoreB. The buffers and varibles I need to be able to access have fixed memory locations in L3 and L2 Cache, the larger buffers and variables will be read on the Linux side, some of the others will need to be able to change bytes.
Now my main question is where or not it's possible to get the kernel process to pass to the Linux process a pointer so the linux process can read the buffer directly rather then have to copy the data. I know that the kernel module can directly address memory but I don't know how to then pass that to the Linux process. So can someone point me in the right direction, thanks
If it helps the bare metal process is a AD's H.264 encoder, and I need to be able to read the output NAL table and Stream buffer from linux, so they can be transmitted on to an end PC. I'm basically writting a mini ICC.
ICC/MCAPI support for VDSP is underway. ICC/MCAPI is still the recommended solution for VDSP code.
Before it is available, you best choice is to store buffer at fixed address known to both VDSP code and Linux application and reserve these memory region after the Linux memory region when Linux kernel boots up. Then, you can do anything in your Linux application with these reserved memory. But, you are on your own in this way.
From: Skid email@example.com
Sent: Wednesday, January 18, 2012 5:07 PM
To: Zhang, Sonic
Subject: New message: "Help / Advice On Creating a Kernel Module"
Analog Devices EngineerZone<http://ez.analog.com/index.jspa>
Help / Advice On Creating a Kernel Module
reply from Skid<http://ez.analog.com/people/Skid> in Linux Distribution for Blackfin - View the full discussion<http://ez.analog.com/message/40561#40561