Dear NXP Support Team,
I want to use Flexible Controller Area Network (FlexCAN) for CA35 (Arm Cortex A35). I think this can be achieved by creating a device tree according to "3.2.2 System Memory Map (Application Domain)" and "3.2.3 GIC Interrupt Vector Allocation" in IMX8ULPRM.pdf.
Also, I want to wake up when CA35 receives a packet on FlexCAN during Power Down/Deep Power Down. At that time, I think FlexCAN needs to be running on CM33 (Arm Cortex-M33). I think it would be nice to have an implementation of Remote Processor Messaging (rpmsg) Framework, but when I checked linux-imx[1], FlexCAN does not have an implementation of rpmsg.
[1]:https://github.com/nxp-imx/linux-imx
Please let me know if there is a smart implementation that can accomplish this.
Best regards,
mizo
Hello,
We do have some examples for M33 running FlexCAN, you may take a look at those.
<SDK installation path>\boards\evkmimx8ulp\driver_examples\flexcan
Also, I would recommend taking a look to the sai low power demo, where SRTM (Simplified Real Time Messaging) protocol is used to communicate between A core and M core.
<SDK installation path>\boards\evkmimx8ulp\demo_apps\sai_low_power_audio
The protocol provides various commands for A core and M core to communicate with each other.
As you can see in this demo, the SRTM is used only to communicate both cores, and let A core enters low power mode while M core process the information (audio playback).
This can be adapted to using FlexCAN instead of SAI on the Cortex-M side.
Best regards/Saludos,
Aldo.
Thank you for your reply!
I will check the sai demo. By the way, do you have any plans to provide samples using the SRTM protocol with FlexCAN?
Best regards,
mizo.