| eRPC API Reference Rev. 1.8.1 NXP Semiconductors

- Main Page
- API Reference
- Classes
- Files

- File List
- File Members

erpc_transport_setup.h
Go to the documentation of this file.
1 /*
2 * Copyright (c) 2014-2016, Freescale Semiconductor, Inc.
3 * Copyright 2016-2021 NXP
4 * Copyright 2019 ACRIOS Systems s.r.o.
5 * All rights reserved.
6 *
7 *
8 * SPDX-License-Identifier: BSD-3-Clause
9 */
10
11 #ifndef _ERPC_TRANSPORT_SETUP_H_
12 #define _ERPC_TRANSPORT_SETUP_H_
13
20 // Types
23
25 typedef struct ErpcTransport *erpc_transport_t;
27 typedef void (*rpmsg_ready_cb)(void);
28
30 // API
32
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36
37 #include <stdbool.h>
38 #include <stdint.h>
39
41
42
44
45
56 erpc_transport_t erpc_transport_cmsis_uart_init(void *uartDrv);
58
60
61
72 erpc_transport_t erpc_transport_serial_init(const char *portName, long baudRate);
74
76
77
89 erpc_transport_t erpc_transport_spi_master_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz);
90
102 erpc_transport_t erpc_transport_spi_slave_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz);
104
106
107
119 erpc_transport_t erpc_transport_dspi_master_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz);
120
132 erpc_transport_t erpc_transport_dspi_slave_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz);
134
136
137
148 erpc_transport_t erpc_transport_spidev_master_init(const char *spidev, uint32_t speed_Hz);
150
152
153
164 erpc_transport_t erpc_transport_mu_init(void *baseAddr);
166
168
169
182 erpc_transport_t erpc_transport_rpmsg_lite_master_init(uint32_t src_addr, uint32_t dst_addr, uint32_t rpmsg_link_id);
183
203 erpc_transport_t erpc_transport_rpmsg_lite_remote_init(uint32_t src_addr, uint32_t dst_addr, void *start_address,
204 uint32_t rpmsg_link_id, rpmsg_ready_cb ready,
205 char *nameservice_name);
206
219 erpc_transport_t erpc_transport_rpmsg_lite_rtos_master_init(uint32_t src_addr, uint32_t dst_addr,
220 uint32_t rpmsg_link_id);
221
240 erpc_transport_t erpc_transport_rpmsg_lite_rtos_remote_init(uint32_t src_addr, uint32_t dst_addr, void *start_address,
241 uint32_t rpmsg_link_id, rpmsg_ready_cb ready,
242 char *nameservice_name);
243
263 erpc_transport_t erpc_transport_rpmsg_lite_tty_rtos_remote_init(uint32_t src_addr, uint32_t dst_addr,
264 void *start_address, uint32_t rpmsg_link_id,
265 rpmsg_ready_cb ready, char *nameservice_name);
266
272 void erpc_transport_rpmsg_lite_tty_rtos_deinit(void);
274
276
277
293 erpc_transport_t erpc_transport_rpmsg_linux_init(int16_t local_addr, int8_t type, int16_t remote_addr);
294
300 void erpc_transport_rpmsg_linux_deinit(void);
302
304
305
318 erpc_transport_t erpc_transport_tcp_init(const char *host, uint16_t port, bool isServer);
319
332 void erpc_transport_tcp_close(void);
334
336
337
355 erpc_transport_t erpc_transport_usb_cdc_init(void *serialHandle, void *serialConfig, void *usbCdcConfig,
356 uint8_t *usbRingBuffer, uint32_t usbRingBufferLength);
358
360
361
373 erpc_transport_t erpc_transport_i2c_slave_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz);
375
377
378 #ifdef __cplusplus
379 }
380 #endif
381
384 #endif // _ERPC_TRANSPORT_SETUP_H_
erpc_transport_cmsis_uart_init
erpc_transport_t erpc_transport_cmsis_uart_init(void *uartDrv)
Create a CMSIS UART transport.
Definition: erpc_setup_uart_cmsis.cpp:27
erpc_transport_rpmsg_lite_rtos_remote_init
erpc_transport_t erpc_transport_rpmsg_lite_rtos_remote_init(uint32_t src_addr, uint32_t dst_addr, void *start_address, uint32_t rpmsg_link_id, rpmsg_ready_cb ready, char *nameservice_name)
Create an RPMsg-Lite RTOS transport.
Definition: erpc_setup_rpmsg_lite_rtos_remote.cpp:27
erpc_transport_t
struct ErpcTransport * erpc_transport_t
Opaque transport object type.
Definition: erpc_transport_setup.h:25
erpc_transport_tcp_close
void erpc_transport_tcp_close(void)
Close TCP connection.
Definition: erpc_setup_tcp.cpp:43
erpc_transport_usb_cdc_init
erpc_transport_t erpc_transport_usb_cdc_init(void *serialHandle, void *serialConfig, void *usbCdcConfig, uint8_t *usbRingBuffer, uint32_t usbRingBufferLength)
Create an USB CDC transport.
Definition: erpc_setup_usb_cdc.cpp:26
erpc_transport_spi_master_init
erpc_transport_t erpc_transport_spi_master_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz)
Create a SPI master transport.
Definition: erpc_setup_spi_master.cpp:26
erpc_transport_tcp_init
erpc_transport_t erpc_transport_tcp_init(const char *host, uint16_t port, bool isServer)
Create and open TCP transport.
Definition: erpc_setup_tcp.cpp:26
erpc_transport_mu_init
erpc_transport_t erpc_transport_mu_init(void *baseAddr)
Create an MU transport.
Definition: erpc_setup_mu.cpp:25
erpc_transport_dspi_slave_init
erpc_transport_t erpc_transport_dspi_slave_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz)
Create a DSPI slave transport.
Definition: erpc_setup_dspi_slave.cpp:26
erpc_transport_rpmsg_lite_remote_init
erpc_transport_t erpc_transport_rpmsg_lite_remote_init(uint32_t src_addr, uint32_t dst_addr, void *start_address, uint32_t rpmsg_link_id, rpmsg_ready_cb ready, char *nameservice_name)
Create an RPMsg-Lite transport.
Definition: erpc_setup_rpmsg_lite_remote.cpp:27
erpc_transport_rpmsg_lite_tty_rtos_remote_init
erpc_transport_t erpc_transport_rpmsg_lite_tty_rtos_remote_init(uint32_t src_addr, uint32_t dst_addr, void *start_address, uint32_t rpmsg_link_id, rpmsg_ready_cb ready, char *nameservice_name)
Create an RPMsg-Lite TTY transport.
Definition: erpc_setup_rpmsg_tty_rtos_remote.cpp:27
erpc_transport_serial_init
erpc_transport_t erpc_transport_serial_init(const char *portName, long baudRate)
Create a host PC serial port transport.
Definition: erpc_setup_serial.cpp:27
erpc_transport_rpmsg_lite_master_init
erpc_transport_t erpc_transport_rpmsg_lite_master_init(uint32_t src_addr, uint32_t dst_addr, uint32_t rpmsg_link_id)
Create an RPMsg-Lite transport.
Definition: erpc_setup_rpmsg_lite_master.cpp:42
erpc_transport_dspi_master_init
erpc_transport_t erpc_transport_dspi_master_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz)
Create a DSPI master transport.
Definition: erpc_setup_dspi_master.cpp:26
erpc_transport_spidev_master_init
erpc_transport_t erpc_transport_spidev_master_init(const char *spidev, uint32_t speed_Hz)
Create a SPIdev transport.
Definition: erpc_setup_spidev_master.cpp:25
erpc_transport_rpmsg_lite_rtos_master_init
erpc_transport_t erpc_transport_rpmsg_lite_rtos_master_init(uint32_t src_addr, uint32_t dst_addr, uint32_t rpmsg_link_id)
Create an RPMsg-Lite RTOS transport.
Definition: erpc_setup_rpmsg_lite_rtos_master.cpp:41
erpc_transport_rpmsg_linux_init
erpc_transport_t erpc_transport_rpmsg_linux_init(int16_t local_addr, int8_t type, int16_t remote_addr)
Create an Linux RPMSG endpoint transport.
Definition: erpc_setup_rpmsg_linux.cpp:19
erpc_transport_spi_slave_init
erpc_transport_t erpc_transport_spi_slave_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz)
Create a SPI slave transport.
Definition: erpc_setup_spi_slave.cpp:26
erpc_transport_rpmsg_lite_tty_rtos_deinit
void erpc_transport_rpmsg_lite_tty_rtos_deinit(void)
Deinitialize an RPMSG lite tty rtos transport.
Definition: erpc_setup_rpmsg_tty_rtos_remote.cpp:47
erpc_transport_i2c_slave_init
erpc_transport_t erpc_transport_i2c_slave_init(void *baseAddr, uint32_t baudRate, uint32_t srcClock_Hz)
Create an I2C slave transport.
Definition: erpc_setup_i2c_slave.cpp:25
erpc_transport_rpmsg_linux_deinit
void erpc_transport_rpmsg_linux_deinit(void)
Deinitialize an Linux RPMSG endpoint transport.
Definition: erpc_setup_rpmsg_linux.cpp:68
rpmsg_ready_cb
void(* rpmsg_ready_cb)(void)
Ready callback object type for RPMsg-Lite transport.
Definition: erpc_transport_setup.h:27