Say we have a 64bit ARM dual core CPU (sysmetric dual cores)
I would like to run a bare RTOS on one core and assign other cores to Linux. in this way I have run a BLDC motor control (using on chip PWM output and ADC input)
So far I would make it happen:
- During the u-boot and kernel, dedicate one core for RTOS, others for Linux
- And reserve a partition of memory as a Linux user-space device, with cache disabled.
- Linux and RTOS exchange info via shared memory
- RTOS controls PWM & GPIO, read ADC, and possibly run a Ethercat connection.
My questions are:
- Do I need to limit memory IO to only one core?
- Have anyone done anything similar? Can anyone point some directions? Thanks