
Figure 52. CANopen architecture
13.2 FlexCAN integration in OpenIL
For LS1021A, there are four CAN controllers. Two CAN controllers (CAN3 and CAN4) are used to communicate with each other.
CAN4 is assigned to core0, which runs Linux and CANOpen as master node, whereas CAN3 is assigned to core1, which runs
the baremetal and CANOpen as slave node. For LS1028A, there are two CAN controllers, CAN1 and CAN2, and both of them
are used in LS1028ARDB board.
13.2.1 LS1021AIOT CAN resource allocation
This section describes steps for assigning CAN4 to Linux and CAN3 to baremetal core, and how to change or configure it. These
examples assume that CAN1 and CAN2 are not enabled, and the pins of CAN1 and CAN2 are used by other IPs.
1. Assigning CAN4 to Linux
In Linux, the port is allocated through the DTS file. DTS file path is
industry-linux/arch/arm/boot/dts/ls1021a-
iot.dts
. Content related to CAN ports is as follows:
/* CAN3 port */
&can2
{
status = " disabled ";
};
NXP Semiconductors
FlexCAN
Open Industrial User Guide, Rev. 1.8, 05/2020
User's Guide
167 / 199