PduApi 2.2.1
PduApi - Toolbox
|
X86 as well as multiple ARM platforms are supported by PduApi.
Every CAN-hardware which supports the Linux SocketCan - Interface is supported by PduApi.
Unfortunately it is not possible to run the ARM binary code on every platform, because D-PDU API protocol needs special hardware-dependent information like Serial-Number and Hardware-Date, Hardware-Name which differs from platform to platform. It has to be ported to many platforms. Please have a look at pduapi_service.
PduAPI can run on every x86_64 Linux OS which supports socket-can. Additional adapters can be implemented on demand.
Raspberry PI can be enhanced to a VCI:
PduApi is running on iMX6 and iMX8 using Yocto.
PduApi can be used in conjunction to STM32MP1
The common CAN-BUS interface like on Linux doesn't exist on Windows. So only native Uds on DoIP is supported by the system directly.
For using CAN-BUS protocols in Windows, you have to use a VCI which is supported by the PduApi, like Raspberry. Please have a look at usecase_remote_vci.
In future more VCI will be supported or on demand as a pduapi_service.
PduApi contains an enhancement to run the CAN-BUS protocols ISO_11898_RAW and ISO_15765_3_on_ISO_15765_2 which can be used on Windows. To run these extension for CAN-BUS protocols, select a BusType IEEE_802_3_ID (Ethernet) which is internally mapped to CanEth. This protocol can be used in combination with a Can-Ethernet gateway like can_eth_gw.
You can use pduapi_service to compile the PduApi to customer specific platform or using your specified toolchain which must support C++17 of higher.
Currently PduApi is in progress to be ported to STM32H7 using the FD-CAN with FreeRTOS.