1 /* 2 * Copyright (c) 2006-2023, RT-Thread Development Team 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Change Logs: 7 * Date Author Email Notes 8 * 2019-07-16 Kevin.Liu kevin.liu.mchp@gmail.com First Release 9 * 2023-09-16 luhuadong luhuadong@163.com fix uart config 10 */ 11 #ifndef __BOARD_H__ 12 #define __BOARD_H__ 13 14 // <o> Internal SRAM memory size[Kbytes] <128-256> 15 // <i>Default: 256 16 #if defined(__SAME54N19A__) || defined(__ATSAME54N19A__) 17 #define SAME5x_SRAM_SIZE 192 18 #elif defined(__SAME54N20A__) || defined(__ATSAME54N20A__) 19 #define SAME5x_SRAM_SIZE 256 20 #elif defined(__SAME54P19A__) || defined(__ATSAME54P19A__) 21 #define SAME5x_SRAM_SIZE 192 22 #elif defined(__SAME54P20A__) || defined(__ATSAME54P20A__) 23 #define SAME5x_SRAM_SIZE 256 24 #elif defined(__SAME53J18A__) || defined(__ATSAME53J18A__) 25 #define SAME5x_SRAM_SIZE 128 26 #elif defined(__SAME53J19A__) || defined(__ATSAME53J19A__) 27 #define SAME5x_SRAM_SIZE 192 28 #elif defined(__SAME53J20A__) || defined(__ATSAME53J20A__) 29 #define SAME5x_SRAM_SIZE 256 30 #elif defined(__SAME53N19A__) || defined(__ATSAME53N19A__) 31 #define SAME5x_SRAM_SIZE 192 32 #elif defined(__SAME53N20A__) || defined(__ATSAME53N20A__) 33 #define SAME5x_SRAM_SIZE 256 34 #elif defined(__SAME51J18A__) || defined(__ATSAME51J18A__) 35 #define SAME5x_SRAM_SIZE 128 36 #elif defined(__SAME51J19A__) || defined(__ATSAME51J19A__) 37 #define SAME5x_SRAM_SIZE 192 38 #elif defined(__SAME51J20A__) || defined(__ATSAME51J20A__) 39 #define SAME5x_SRAM_SIZE 256 40 #elif defined(__SAME51N19A__) || defined(__ATSAME51N19A__) 41 #define SAME5x_SRAM_SIZE 192 42 #elif defined(__SAME51N20A__) || defined(__ATSAME51N20A__) 43 #define SAME5x_SRAM_SIZE 256 44 #elif defined(__SAMD51J18A__) || defined(__ATSAMD51J18A__) 45 #define SAME5x_SRAM_SIZE 128 46 #elif defined(__SAMD51J19A__) || defined(__ATSAMD51J19A__) 47 #define SAME5x_SRAM_SIZE 192 48 #elif defined(__SAMD51J20A__) || defined(__ATSAMD51J20A__) 49 #define SAME5x_SRAM_SIZE 256 50 #elif defined(__SAMD51N19A__) || defined(__ATSAMD51N19A__) 51 #define SAME5x_SRAM_SIZE 192 52 #elif defined(__SAMD51N20A__) || defined(__ATSAMD51N20A__) 53 #define SAME5x_SRAM_SIZE 256 54 #elif defined(__SAMD51P19A__) || defined(__ATSAMD51P19A__) 55 #define SAME5x_SRAM_SIZE 192 56 #elif defined(__SAMD51P20A__) || defined(__ATSAMD51P20A__) 57 #define SAME5x_SRAM_SIZE 256 58 #else 59 #error Board does not support the specified device. 60 #endif 61 62 #define SAME5x_SRAM_END (0x20000000 + SAME5x_SRAM_SIZE * 1024) 63 64 #if defined(__ARMCC_VERSION) 65 extern int Image$$RW_IRAM1$$ZI$$Limit; 66 #define HEAP_BEGIN (&Image$$RW_IRAM1$$ZI$$Limit) 67 #elif __ICCARM__ 68 #pragma section="HEAP" 69 #define HEAP_BEGIN (__segment_begin("HEAP")) 70 #define HEAP_END (__segment_end("HEAP")) 71 #else 72 extern int __bss_end; 73 #define HEAP_BEGIN (&__bss_end) 74 #define HEAP_END SAME5x_SRAM_END 75 #endif 76 77 #ifdef RT_USING_SERIAL 78 #include "hpl_sercom_config.h" 79 #define DEFAULT_USART_BAUD_RATE CONF_SERCOM_2_USART_BAUD 80 #endif 81 82 void rt_hw_board_init(void); 83 84 #endif 85 86