#include "board.h" #include "mik32_hal_pcc.h" #include "mik32_hal_irq.h" #include "Arduino.h" // --------------------- init --------------------- // // called from crt0.S before constructors initialization extern "C" void SystemInit(void) { // set irq vector to ram region write_csr(mtvec, 0x02000000); HAL_Init(); // gpio clock __HAL_PCC_GPIO_0_CLK_ENABLE(); __HAL_PCC_GPIO_1_CLK_ENABLE(); __HAL_PCC_GPIO_2_CLK_ENABLE(); __HAL_PCC_GPIO_IRQ_CLK_ENABLE(); // for delays SysTick_Init(); } // called after setup() void post_init(void) { // enable global interrupts by default interrupts(); } // --------------------- other --------------------- // volatile bool use_error_messages = true; // print error message to Serial extern "C" void ErrorMsgHandler(const char * msg) { // function works if Serial is used in sketch and user doesn't turn it off #ifdef HardwareSerial_h if(use_error_messages&&Serial) Serial.println(msg); #endif }