f1.cmake 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. set(STM32_F1_TYPES
  2. 100xB 100xE 101x6 101xB 101xE 101xG 102x6 102xB
  3. 103x6 103xB 103xE 103xG 105xC 107xC
  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 "100xB") OR (TYPE STREQUAL "100xE"))
  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 "101x6") OR (TYPE STREQUAL "101xB") OR
  37. (TYPE STREQUAL "101xE") OR (TYPE STREQUAL "101xG") OR
  38. (TYPE STREQUAL "102x6") OR (TYPE STREQUAL "102xB"))
  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 "103x6") OR (TYPE STREQUAL "103xB") OR
  55. (TYPE STREQUAL "103xE") OR (TYPE STREQUAL "103xG"))
  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 "105xC") OR (TYPE STREQUAL "107xC"))
  70. set(RAM "64K")
  71. endif()
  72. set(${RAM_SIZE} ${RAM} PARENT_SCOPE)
  73. endfunction()