diff --git a/Ubiquitous/XiZi_IIoT/board/hc32f4a0/link.lds b/Ubiquitous/XiZi_IIoT/board/hc32f4a0/link.lds index fdf1b5e73..acd77eaf5 100644 --- a/Ubiquitous/XiZi_IIoT/board/hc32f4a0/link.lds +++ b/Ubiquitous/XiZi_IIoT/board/hc32f4a0/link.lds @@ -87,6 +87,13 @@ SECTIONS _shell_command_end = .; . = ALIGN(4); + PROVIDE(__ctors_start__ = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + PROVIDE(__ctors_end__ = .); + + . = ALIGN(4); + __isrtbl_idx_start = .; KEEP(*(.isrtbl.idx)) __isrtbl_start = .; diff --git a/Ubiquitous/XiZi_IIoT/board/hc32f4a0/third_party_driver/can/connect_can.c b/Ubiquitous/XiZi_IIoT/board/hc32f4a0/third_party_driver/can/connect_can.c index f0424ab68..088892e67 100644 --- a/Ubiquitous/XiZi_IIoT/board/hc32f4a0/third_party_driver/can/connect_can.c +++ b/Ubiquitous/XiZi_IIoT/board/hc32f4a0/third_party_driver/can/connect_can.c @@ -107,7 +107,7 @@ static void CanInit(struct CanDriverConfigure *can_drv_config) FCG_Fcg1PeriphClockCmd(PWC_FCG1_CAN2, ENABLE); (void)CAN_Init(CAN_X, &stcInit); #endif - CAN_ClearStatus(CAN_X, 0xFFFF); + CAN_ClearStatus(CAN_X, 0xFFFFFFFFU); #ifdef CAN_USING_INTERRUPT /* Configures the interrupts if needed. */