board.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /**************************************************************************//**
  2. *
  3. * @copyright (C) 2020 Nuvoton Technology Corp. All rights reserved.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0
  6. *
  7. * Change Logs:
  8. * Date Author Notes
  9. * 2021-7-19 Wayne First version
  10. *
  11. ******************************************************************************/
  12. #ifndef __BOARD_H__
  13. #define __BOARD_H__
  14. #include <rtthread.h>
  15. #include "NuMicro.h"
  16. // <o> Internal SRAM memory size[Kbytes] <8-64>
  17. #define BOARD_SDRAM_START 0x00000000
  18. #define BOARD_SDRAM_SIZE (4*1024*1024)
  19. #if defined(__CC_ARM) || defined(__CLANG_ARM)
  20. // extern int Image$$ER_IROM1$$ZI$$Limit;
  21. // #define BOARD_HEAP_START ((void *)&Image$$ER_IROM1$$ZI$$Limit)
  22. extern uint32_t __initial_sp;
  23. #define BOARD_HEAP_START ((void *)&__initial_sp)
  24. #elif __ICCARM__
  25. #pragma section="CSTACK"
  26. #define BOARD_HEAP_START (__segment_end("CSTACK"))
  27. #else
  28. extern int __bss_end;
  29. #define BOARD_HEAP_START ((void *)&__bss_end)
  30. #endif
  31. #define BOARD_HEAP_END ((void*)(BOARD_SDRAM_START+BOARD_SDRAM_SIZE))
  32. void rt_hw_board_init(void);
  33. void rt_hw_cpu_reset(void);
  34. void nu_pin_init(void);
  35. #endif /* BOARD_H_ */