board.h 984 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef __BOARD_H__
  2. #define __BOARD_H__
  3. #if defined(__CC_ARM)
  4. extern int Image$$RW_IRAM1$$ZI$$Limit;
  5. #define HEAP_BEGIN ((void*)&Image$$RW_IRAM1$$ZI$$Limit)
  6. #elif defined(__GNUC__)
  7. extern int __bss_end;
  8. #define HEAP_BEGIN ((void*)&__bss_end)
  9. #endif
  10. #define HEAP_END (void*)(0x20100000-1)
  11. #define GIC_IRQ_START 0
  12. #define MAX_HANDLERS 94
  13. #define GIC_ACK_INTID_MASK 0x000003ff
  14. #define ARM_GIC_MAX_NR 1
  15. #define ARM_GIC_NR_IRQS MAX_HANDLERS
  16. #include "rtthread.h"
  17. #include "xparameters.h"
  18. #define Zynq7000_GIC_CPU_BASE XPAR_PS7_SCUGIC_0_BASEADDR
  19. #define Zynq7000_GIC_DIST_BASE XPAR_PS7_SCUGIC_0_DIST_BASEADDR
  20. rt_inline rt_uint32_t platform_get_gic_dist_base(void)
  21. {
  22. return Zynq7000_GIC_DIST_BASE;
  23. }
  24. rt_inline rt_uint32_t platform_get_gic_cpu_base(void)
  25. {
  26. return Zynq7000_GIC_CPU_BASE;
  27. }
  28. #define __REG32(x) (*((volatile unsigned int *)(x)))
  29. #define __REG16(x) (*((volatile unsigned short *)(x)))
  30. void rt_hw_board_init();
  31. int rt_hw_uart_init(void);
  32. #endif