29#ifndef BAREMETAL_PLATFORM_CASCODA_NUVOTON_CHILI2_LDROM_UART_LDROM_UART_H_
30#define BAREMETAL_PLATFORM_CASCODA_NUVOTON_CHILI2_LDROM_UART_LDROM_UART_H_
39#if (UART_CHANNEL == 0)
40#define CLK_APBCLK_MASK CLK_APBCLK0_UART0CKEN_Msk
42#define UART_IRQn UART0_IRQn
43#elif (UART_CHANNEL == 1)
44#define CLK_APBCLK_MASK CLK_APBCLK0_UART1CKEN_Msk
46#define UART_IRQn UART1_IRQn
47#elif (UART_CHANNEL == 2)
48#define CLK_APBCLK_MASK CLK_APBCLK0_UART2CKEN_Msk
50#define UART_IRQn UART2_IRQn
51#elif (UART_CHANNEL == 4)
52#define CLK_APBCLK_MASK CLK_APBCLK0_UART4CKEN_Msk
54#define UART_IRQn UART4_IRQn
55#elif (UART_CHANNEL == 5)
56#define CLK_APBCLK_MASK CLK_APBCLK0_UART5CKEN_Msk
58#define UART_IRQn UART5_IRQn
70#pragma GCC diagnostic push
71#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
73#pragma GCC diagnostic pop
157#define SERIAL_SOM (0xDE)
Global error declarations for use across the Cascoda SDK.
Definitions relating to EVBME API messages.
#define ca_static_assert(x)
Static assert code.
Definition ca821x_error.h:88
struct SerialUARTBuf gRxBuffer
Definition hid_transfer.c:61
struct SerialUARTBuf gTxBuffer
Definition hid_transfer.c:62
enum serial_state gSerialRxState
Definition uart_transfer.c:39
serial_state
Definition ldrom_uart.h:150
@ SERIAL_DATA
Definition ldrom_uart.h:154
@ SERIAL_CMDID
Definition ldrom_uart.h:152
@ SERIAL_CMDLEN
Definition ldrom_uart.h:153
@ SERIAL_INBETWEEN
Definition ldrom_uart.h:151
volatile bool gSerialTxStalled
Definition uart_transfer.c:40
void RxHandled(void)
Definition hid_transfer.c:212
void UART_Init(void)
Definition uart_transfer.c:263
void TxReady(void)
Definition hid_transfer.c:218
Cascoda serialbuffer structure.
Definition ldrom_uart.h:138
uint8_t SofPkt
Start of frame.
Definition ldrom_uart.h:140
uint8_t len
Length of data.
Definition ldrom_uart.h:142
uint8_t cmdid
Cascoda command ID = EVBME_DFU_CMD (0xA3)
Definition ldrom_uart.h:141
volatile uint8_t isReady
Is ready to: Tx-Write, Rx-Read.
Definition ldrom_uart.h:139
union serial_data data
Data.
Definition ldrom_uart.h:143
Structure of a DFU message.
Definition ldrom_uart.h:91
uint8_t dfu_cmdid
DFU cmdid.
Definition ldrom_uart.h:92
Write command to write words of data - aligned for codespace and speed.
Definition ldrom_hid.h:41
uint32_t data[61]
Data to write, must be whole words.
Definition ldrom_hid.h:43
uint8_t startAddr[4]
Start address for writing - must be word aligned.
Definition ldrom_hid.h:42
Check command to validate flash against a checksum.
Definition evbme_messages.h:148
Erase command to erase whole pages.
Definition evbme_messages.h:130
Reboot command to boot into DFU or APROM.
Definition evbme_messages.h:122
Status command used as a reply from the Chili2 to host.
Definition evbme_messages.h:158
Evbme GET confirm struct (to respond to received GET requests)
Definition ldrom_uart.h:108
uint8_t attributeLen
Definition ldrom_uart.h:111
uint8_t status
Definition ldrom_uart.h:109
uint8_t attributeId
Definition ldrom_uart.h:110
Evbme GET request struct (for received messages)
Definition ldrom_uart.h:100
uint8_t attributeId
Definition ldrom_uart.h:101
Union of all DFU commands - version with dfu_write_cmd_aligned.
Definition ldrom_hid.h:55
struct evbme_dfu_reboot_cmd reboot_cmd
Definition ldrom_hid.h:56
struct evbme_dfu_erase_cmd erase_cmd
Definition ldrom_hid.h:57
struct evbme_dfu_check_cmd check_cmd
Definition ldrom_hid.h:59
struct dfu_write_cmd_aligned write_cmd
Definition ldrom_hid.h:58
struct evbme_dfu_status_cmd status_cmd
Definition ldrom_hid.h:60
Union of GET request and confirm structs.
Definition ldrom_uart.h:119
struct evbme_get_confirm cnf
Definition ldrom_uart.h:121
struct evbme_get_request req
Definition ldrom_uart.h:120
Union of all types of "data" (which commes after "cmdid" and "len")
Definition ldrom_uart.h:128
union evbme_msg evbme
Definition ldrom_uart.h:129
struct dfu_cmd_msg dfu
Definition ldrom_uart.h:130