f1.cmake 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. set(STM32_F1_TYPES
  2. F100xB F100xE F101x6 F101xB F101xE F101xG F102x6 F102xB
  3. F103x6 F103xB F103xE F103xG F105xC F107xC
  4. )
  5. set(STM32_F1_TYPE_MATCH
  6. "F100.[468B]" "F100.[CDE]" "F101.[46]" "F101.[8B]" "F101.[CDE]" "F101.[FG]" "F102.[46]" "F102.[8B]"
  7. "F103.[46]" "F103.[8B]" "F103.[CDE]" "F103.[FG]" "F105.[8BC]" "F107.[BC]"
  8. )
  9. set(STM32_F1_RAM_SIZES
  10. 0K 0K 0K 0K 0K 0K 0K 0K
  11. 0K 0K 0K 0K 0K 0K
  12. )
  13. set(STM32_F1_CCRAM_SIZES
  14. 0K 0K 0K 0K 0K 0K 0K 0K
  15. 0K 0K 0K 0K 0K 0K
  16. )
  17. stm32_util_create_family_targets(F1)
  18. target_compile_options(STM32::F1 INTERFACE
  19. -mcpu=cortex-m3
  20. )
  21. target_link_options(STM32::F1 INTERFACE
  22. -mcpu=cortex-m3
  23. )
  24. function(stm32f1_get_memory_info DEVICE TYPE FLASH_SIZE RAM_SIZE)
  25. string(REGEX REPLACE "F1[0-9][0-9].([468BCDEFGHI])" "\\1" SIZE_CODE ${DEVICE})
  26. if((TYPE STREQUAL "F100xB") OR (TYPE STREQUAL "F100xE"))
  27. if((SIZE_CODE STREQUAL "4") OR (SIZE_CODE STREQUAL "6"))
  28. set(RAM "4K")
  29. elseif((SIZE_CODE STREQUAL "8") OR (SIZE_CODE STREQUAL "B"))
  30. set(RAM "8K")
  31. elseif(SIZE_CODE STREQUAL "C")
  32. set(RAM "24K")
  33. elseif((SIZE_CODE STREQUAL "D") OR (SIZE_CODE STREQUAL "E"))
  34. set(RAM "32K")
  35. endif()
  36. elseif((TYPE STREQUAL "F101x6") OR (TYPE STREQUAL "F101xB") OR
  37. (TYPE STREQUAL "F101xE") OR (TYPE STREQUAL "F101xG") OR
  38. (TYPE STREQUAL "F102x6") OR (TYPE STREQUAL "F102xB"))
  39. if(SIZE_CODE STREQUAL "4")
  40. set(RAM "4K")
  41. elseif(SIZE_CODE STREQUAL "6")
  42. set(RAM "6K")
  43. elseif(SIZE_CODE STREQUAL "8")
  44. set(RAM "10K")
  45. elseif(SIZE_CODE STREQUAL "B")
  46. set(RAM "16K")
  47. elseif(SIZE_CODE STREQUAL "C")
  48. set(RAM "32K")
  49. elseif((SIZE_CODE STREQUAL "D") OR (SIZE_CODE STREQUAL "E"))
  50. set(RAM "48K")
  51. elseif((SIZE_CODE STREQUAL "F") OR (SIZE_CODE STREQUAL "G"))
  52. set(RAM "80K")
  53. endif()
  54. elseif((TYPE STREQUAL "F103x6") OR (TYPE STREQUAL "F103xB") OR
  55. (TYPE STREQUAL "F103xE") OR (TYPE STREQUAL "F103xG"))
  56. if(SIZE_CODE STREQUAL "4")
  57. set(RAM "6K")
  58. elseif(SIZE_CODE STREQUAL "6")
  59. set(RAM "10K")
  60. elseif((SIZE_CODE STREQUAL "8") OR (SIZE_CODE STREQUAL "B"))
  61. set(RAM "20K")
  62. elseif(SIZE_CODE STREQUAL "C")
  63. set(RAM "48K")
  64. elseif((SIZE_CODE STREQUAL "D") OR (SIZE_CODE STREQUAL "E"))
  65. set(RAM "64K")
  66. elseif((SIZE_CODE STREQUAL "F") OR (SIZE_CODE STREQUAL "G"))
  67. set(RAM "96K")
  68. endif()
  69. elseif((TYPE STREQUAL "F105xC") OR (TYPE STREQUAL "F107xC"))
  70. set(RAM "64K")
  71. endif()
  72. set(${RAM_SIZE} ${RAM} PARENT_SCOPE)
  73. endfunction()
  74. list(APPEND STM32_ALL_DEVICES
  75. F100C4
  76. F100C6
  77. F100C8
  78. F100CB
  79. F100R4
  80. F100R6
  81. F100R8
  82. F100RB
  83. F100RC
  84. F100RD
  85. F100RE
  86. F100V8
  87. F100VB
  88. F100VC
  89. F100VD
  90. F100VE
  91. F100ZC
  92. F100ZD
  93. F100ZE
  94. F101C4
  95. F101C6
  96. F101C8
  97. F101CB
  98. F101R4
  99. F101R6
  100. F101R8
  101. F101RB
  102. F101RC
  103. F101RD
  104. F101RE
  105. F101RF
  106. F101RG
  107. F101T4
  108. F101T6
  109. F101T8
  110. F101TB
  111. F101V8
  112. F101VB
  113. F101VC
  114. F101VD
  115. F101VE
  116. F101VF
  117. F101VG
  118. F101ZC
  119. F101ZD
  120. F101ZE
  121. F101ZF
  122. F101ZG
  123. F102C4
  124. F102C6
  125. F102C8
  126. F102CB
  127. F102R4
  128. F102R6
  129. F102R8
  130. F102RB
  131. F103C4
  132. F103C6
  133. F103C8
  134. F103CB
  135. F103R4
  136. F103R6
  137. F103R8
  138. F103RB
  139. F103RC
  140. F103RD
  141. F103RE
  142. F103RF
  143. F103RG
  144. F103T4
  145. F103T6
  146. F103T8
  147. F103TB
  148. F103V8
  149. F103VB
  150. F103VC
  151. F103VD
  152. F103VE
  153. F103VF
  154. F103VG
  155. F103ZC
  156. F103ZD
  157. F103ZE
  158. F103ZF
  159. F103ZG
  160. F105R8
  161. F105RB
  162. F105RC
  163. F105V8
  164. F105VB
  165. F105VC
  166. F107RB
  167. F107RC
  168. F107VB
  169. F107VC
  170. )
  171. list(APPEND STM32_SUPPORTED_FAMILIES_LONG_NAME
  172. STM32F1
  173. )
  174. list(APPEND STM32_FETCH_FAMILIES F1)
  175. set(CUBE_F1_VERSION v1.8.4)
  176. set(CMSIS_F1_VERSION v4.3.3)
  177. set(HAL_F1_VERSION v1.1.8)