ePenguin Software Framework (WIP) is a cross-platform, cross-manufacturer software framework for working with many different 32-bit and 8-bit microcontrollers. It is in its early stages of development.
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.
 
 
 
 
 
 

90 lines
2.0 KiB

  1. #ifndef _EPENGUIN_HPP_
  2. #define _EPENGUIN_HPP_
  3. /* -- ePenguin --
  4. This master file dictates all supported hardware. It lists supported
  5. architectures, mcu families, and specific mcus. This software framework
  6. targets hardware at the mcu level--not at the board level. Board layers can
  7. be applied, but this framework targets the mcu and the mcu alone.
  8. */
  9. #ifndef __UARCHITECTURES__
  10. #define __UARCHITECTURES__
  11. #define __UARCH_ARM__ (0)
  12. #define __UARCH_ARM64__ (1)
  13. #define __UARCH_AVR__ (2)
  14. #define __UARCH_AVR32__ (3)
  15. #define __UARCH_X86__ (4)
  16. #define __UARCH_RISCV__ (5)
  17. #endif
  18. #ifndef __UFAMILIES__
  19. #define __UFAMILIES__
  20. /* Support ARM MCU Families */
  21. /* Microchip */
  22. #define __SAM_D1X__ (0)
  23. #define __SAM_C1X__ (1)
  24. #define __SAM_D2X__ (2)
  25. #define __SAM_E_D5X__ (3)
  26. #define __SAM_C2X__ (4)
  27. #define __SAM_L2X__ (5)
  28. /* STMicroelectronics */
  29. /* NXP */
  30. #endif
  31. #ifndef __UCONTROLLERS__
  32. #define __UCONTROLLERS__
  33. /* ARM */
  34. /* Microchip */
  35. /* SAM_D2X */
  36. /* D2X Series E */
  37. #define __ATSAMD21E15A__ (0)
  38. #define __ATSAMD21E15B__ (1)
  39. #define __ATSAMD21E15BU__ (2)
  40. #define __ATSAMD21E15L__ (3)
  41. #define __ATSAMD21E16A__ (4)
  42. #define __ATSAMD21E16B__ (5)
  43. #define __ATSAMD21E16BU__ (6)
  44. #define __ATSAMD21E16L__ (7)
  45. #define __ATSAMD21E17A__ (8)
  46. #define __ATSAMD21E17D__ (9)
  47. #define __ATSAMD21E17DU__ (10)
  48. #define __ATSAMD21E17L__ (11)
  49. #define __ATSAMD21E18A__ (12)
  50. /* D2X Series G */
  51. #define __ATSAMD21G15A__ (13)
  52. #define __ATSAMD21G15B__ (14)
  53. #define __ATSAMD21G15L__ (15)
  54. #define __ATSAMD21G16A__ (16)
  55. #define __ATSAMD21G16B__ (17)
  56. #define __ATSAMD21G16L__ (18)
  57. #define __ATSAMD21G17A__ (19)
  58. #define __ATSAMD21G17AU__ (20)
  59. #define __ATSAMD21G17D__ (21)
  60. #define __ATSAMD21G17L__ (22)
  61. #define __ATSAMD21G18A__ (23)
  62. #define __ATSAMD21G18AU__ (24)
  63. /* D2X Series J */
  64. #define __ATSAMD21J15A__ (25)
  65. #define __ATSAMD21J15B__ (26)
  66. #define __ATSAMD21J16A__ (27)
  67. #define __ATSAMD21J16B__ (28)
  68. #define __ATSAMD21J17A__ (29)
  69. #define __ATSAMD21J17D__ (30)
  70. #define __ATSAMD21J18A__ (31)
  71. #endif
  72. #include "epenguin_conf.hpp"
  73. #endif