gd32_bkp.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef _GD32_BKP_H__
  2. #define _GD32_BKP_H__
  3. #include <stdio.h>
  4. #if defined (GD32F30X_HD) || defined (GD32F30X_XD) || defined (GD32F30X_CL)
  5. #include "gd32f30x.h"
  6. #include <stdbool.h>
  7. #elif defined GD32E10x
  8. #include "gd32e10x.h"
  9. #include <stdbool.h>
  10. #define bkp_write_data bkp_data_write
  11. #define bkp_read_data bkp_data_read
  12. #endif
  13. #include "config.h"
  14. #include "os/os_type.h"
  15. #define POWER_FIRSTFLAG_REG BKP_DATA_0
  16. #define POWER_FIRSTFLAG_VALUE 0x5AA5
  17. #define BACK_TRACE_MAIGC_REG BKP_DATA_1
  18. #define BACK_TRACE_MAIGC_VALUE 0x55AA
  19. #define BACK_TRACE_INFO_REG BKP_DATA_2
  20. #define BACK_TRACE_CALLTRACE_START_REG BKP_DATA_3
  21. #define BACK_TRACE_LINE_REG ((bkp_data_register_enum)(BACK_TRACE_CALLTRACE_START_REG + 16))
  22. void gd32_bkp_init(void);
  23. bool gd32_bkp_first_startup(void);
  24. bool gd32_bkp_btrace_valid(void);
  25. void gd32_bkp_save_backtrace(uint32_t *backtrace, uint32_t stack_over, uint32_t stack_dep, uint16_t line);
  26. void gd32_bkp_get_backtrace(uint32_t *backtrace, uint32_t *stack_over, uint32_t *stack_dep, uint16_t *line);
  27. uint32_t gd32_get_reset_source(void);
  28. #endif /* _GD32_BKP_H__ */