l1.cmake 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. set(STM32_L1_TYPES
  2. L100xB L100xBA L100xC L151xB L151xBA L151xC L151xCA L151xD
  3. L151xDX L151xE L152xB L152xBA L152xC L152xCA L152xD L152xDX
  4. L152xE L162xC L162xCA L162xD L162xDX L162xE
  5. )
  6. set(STM32_L1_TYPE_MATCH
  7. "L100.[68B]" "L100.[68B]A" "L100.C" "L151.[68B]" "L151.[68B]A" "L151.C" "L151.CA" "L151.D"
  8. "L151.DX" "L151.E" "L152.[68B]" "L152.[68B]A" "L152.C" "L152.CA" "L152.D" "L152.DX"
  9. "L152.E" "L162.C" "L162.CA" "L162.D" "L162.DX" "L162.E"
  10. )
  11. set(STM32_L1_RAM_SIZES
  12. 0K 0K 16K 0K 0K 32K 32K 48K
  13. 80K 80K 0K 0K 32K 32K 48K 80K
  14. 80K 32K 32K 48K 80K 80K
  15. )
  16. set(STM32_L1_CCRAM_SIZES
  17. 0K 0K 0K 0K 0K 0K 0K 0K
  18. 0K 0K 0K 0K 0K 0K 0K 0K
  19. 0K 0K 0K 0K 0K 0K
  20. )
  21. stm32_util_create_family_targets(L1)
  22. target_compile_options(STM32::L1 INTERFACE
  23. -mcpu=cortex-m3
  24. )
  25. target_link_options(STM32::L1 INTERFACE
  26. -mcpu=cortex-m3
  27. )
  28. function(stm32l1_get_memory_info DEVICE TYPE FLASH_SIZE RAM_SIZE)
  29. string(REGEX REPLACE "L1[0-9][0-9].([68BCDE])" "\\1" SIZE_CODE ${DEVICE})
  30. unset(RAM)
  31. if((TYPE STREQUAL "L100xB"))
  32. if(SIZE_CODE STREQUAL "6")
  33. set(RAM "4K")
  34. elseif(SIZE_CODE STREQUAL "8")
  35. set(RAM "8K")
  36. elseif(SIZE_CODE STREQUAL "B")
  37. set(RAM "10K")
  38. endif()
  39. elseif((TYPE STREQUAL "L100xBA"))
  40. if(SIZE_CODE STREQUAL "6")
  41. set(RAM "4K")
  42. elseif(SIZE_CODE STREQUAL "8")
  43. set(RAM "8K")
  44. elseif(SIZE_CODE STREQUAL "B")
  45. set(RAM "16K")
  46. endif()
  47. elseif((TYPE STREQUAL "L151xB") OR (TYPE STREQUAL "L152xB"))
  48. if(SIZE_CODE STREQUAL "6")
  49. set(RAM "10K")
  50. elseif(SIZE_CODE STREQUAL "8")
  51. set(RAM "10K")
  52. elseif(SIZE_CODE STREQUAL "B")
  53. set(RAM "16K")
  54. endif()
  55. elseif((TYPE STREQUAL "L151xBA") OR (TYPE STREQUAL "L152xBA"))
  56. if(SIZE_CODE STREQUAL "6")
  57. set(RAM "16K")
  58. elseif(SIZE_CODE STREQUAL "8")
  59. set(RAM "32K")
  60. elseif(SIZE_CODE STREQUAL "B")
  61. set(RAM "32K")
  62. endif()
  63. endif()
  64. if(RAM)
  65. set(${RAM_SIZE} ${RAM} PARENT_SCOPE)
  66. endif()
  67. endfunction()
  68. list(APPEND STM32_ALL_DEVICES
  69. L100C6
  70. L100R8
  71. L100RB
  72. L100RC
  73. L151C6
  74. L151C8
  75. L151CB
  76. L151CC
  77. L151QC
  78. L151QD
  79. L151QE
  80. L151R6
  81. L151R8
  82. L151RB
  83. L151RC
  84. L151RD
  85. L151RE
  86. L151UC
  87. L151V8
  88. L151VB
  89. L151VC
  90. L151VD
  91. L151VE
  92. L151ZC
  93. L151ZD
  94. L151ZE
  95. L152C6
  96. L152C8
  97. L152CB
  98. L152CC
  99. L152QC
  100. L152QD
  101. L152QE
  102. L152R6
  103. L152R8
  104. L152RB
  105. L152RC
  106. L152RD
  107. L152RE
  108. L152UC
  109. L152V8
  110. L152VB
  111. L152VC
  112. L152VD
  113. L152VE
  114. L152ZC
  115. L152ZD
  116. L152ZE
  117. L162QC
  118. L162QD
  119. L162RC
  120. L162RD
  121. L162RE
  122. L162VC
  123. L162VD
  124. L162VE
  125. L162ZC
  126. L162ZD
  127. L162ZE
  128. )
  129. list(APPEND STM32_SUPPORTED_FAMILIES_LONG_NAME
  130. STM32L1
  131. )
  132. list(APPEND STM32_FETCH_FAMILIES L1)
  133. set(CUBE_L1_VERSION v1.10.3)
  134. set(CMSIS_L1_VERSION v2.3.2)
  135. set(HAL_L1_VERSION v1.4.4)