You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

registers.h 1.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /*
  2. * Copyright (c) 2025, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2025-08-16 Rbb666 first version
  9. */
  10. #ifndef __REGISTERS_H__
  11. #define __REGISTERS_H__
  12. #include <stdint.h>
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. struct armv8m_core_regset
  17. {
  18. uint32_t r0;
  19. uint32_t r1;
  20. uint32_t r2;
  21. uint32_t r3;
  22. uint32_t r4;
  23. uint32_t r5;
  24. uint32_t r6;
  25. uint32_t r7;
  26. uint32_t r8;
  27. uint32_t r9;
  28. uint32_t r10;
  29. uint32_t r11;
  30. uint32_t r12;
  31. uint32_t sp;
  32. uint32_t lr;
  33. uint32_t pc;
  34. uint32_t xpsr;
  35. };
  36. struct arm_vfpv2_regset
  37. {
  38. uint64_t d0;
  39. uint64_t d1;
  40. uint64_t d2;
  41. uint64_t d3;
  42. uint64_t d4;
  43. uint64_t d5;
  44. uint64_t d6;
  45. uint64_t d7;
  46. uint64_t d8;
  47. uint64_t d9;
  48. uint64_t d10;
  49. uint64_t d11;
  50. uint64_t d12;
  51. uint64_t d13;
  52. uint64_t d14;
  53. uint64_t d15;
  54. uint32_t fpscr;
  55. };
  56. typedef struct armv8m_core_regset core_regset_type;
  57. typedef struct arm_vfpv2_regset fp_regset_type;
  58. #ifdef __cplusplus
  59. }
  60. #endif
  61. #endif /* __MCD_REGISTERS_H__ */