Skip to content

Commit 687d5b9

Browse files
author
mean
committed
2 parents aa85262 + c27f0df commit 687d5b9

File tree

4 files changed

+126
-0
lines changed

4 files changed

+126
-0
lines changed

FindPatch.cmake

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
if (NOT PATCH_EXECUTABLE)
2+
message(STATUS "Checking for patch")
3+
message(STATUS "******************")
4+
5+
find_program(PATCH_EXECUTABLE patch)
6+
set(PATCH_EXECUTABLE ${PATCH_EXECUTABLE} CACHE STRING "")
7+
8+
if (PATCH_EXECUTABLE)
9+
message(STATUS "Found patch")
10+
11+
if (VERBOSE)
12+
message(STATUS "Path: ${PATCH_EXECUTABLE}")
13+
endif (VERBOSE)
14+
else (PATCH_EXECUTABLE)
15+
message(FATAL_ERROR "patch not found")
16+
endif (PATCH_EXECUTABLE)
17+
18+
message("")
19+
endif (NOT PATCH_EXECUTABLE)
20+
21+
macro(patch_file baseDir patchFile)
22+
execute_process(COMMAND ${PATCH_EXECUTABLE} -p0 -i "${patchFile}"
23+
WORKING_DIRECTORY "${baseDir}"
24+
RESULT_VARIABLE res
25+
)
26+
if(res)
27+
MESSAGE(FATAL_ERROR "Patch failed")
28+
endif(res)
29+
endmacro(patch_file)
30+
31+
macro(patch_file_p p baseDir patchFile)
32+
execute_process(COMMAND ${PATCH_EXECUTABLE} -p ${p} -i "${patchFile}"
33+
WORKING_DIRECTORY "${baseDir}"
34+
RESULT_VARIABLE res
35+
)
36+
if(res)
37+
MESSAGE(FATAL_ERROR "Patch failed")
38+
endif(res)
39+
endmacro(patch_file_p)

cmake_tools.cmake

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
2+
MACRO(Log)
3+
MESSAGE(STATUS "Log: ${ARGN}")
4+
ENDMACRO(Log)
5+
#
6+
#
7+
#
8+
FUNCTION(EXPORT_LIBRARY lib)
9+
Log(${ARGN})
10+
cmake_parse_arguments(PARSE_ARGV
11+
1
12+
"${lib}"
13+
""
14+
"NAME"
15+
"FLAGS;INCLUDE_PATHS"
16+
)
17+
SET_PROPERTY(GLOBAL PROPERTY CMAKE_STM32_${lib}_FLAGS ${${lib}_FLAGS} )
18+
SET_PROPERTY(GLOBAL PROPERTY CMAKE_STM32_${lib}_INCLUDE_PATHS ${${lib}_INCLUDE_PATHS} )
19+
SET_PROPERTY(GLOBAL PROPERTY CMAKE_STM32_${lib}_NAME ${${lib}_NAME} )
20+
Log("SET Include for ${lib}: <${CMAKE_STM32_${lib}_INCLUDE_PATHS}> : < ${${lib}_INCLUDE_PATHS}>")
21+
Log("SET NAME for ${lib}: >${CMAKE_STM33_${lib}_NAME}> : <${${lib}_NAME}>")
22+
set(unused "${${lib}_UNPARSED_ARGUMENTS}")
23+
IF("${unused}" STREQUAL "")
24+
ELSE("${unused}" STREQUAL "")
25+
MESSAGE(STATUS "Unparsed Arg ${${lib}_UNPARSED_ARGUMENTS}")
26+
ENDIF("${unused}" STREQUAL "")
27+
ENDFUNCTION(EXPORT_LIBRARY lib)
28+
29+
#
30+
#
31+
#
32+
MACRO(IMPORT_LIBRARY lib )
33+
GET_PROPERTY( ${lib}_FLAGS GLOBAL PROPERTY CMAKE_STM32_${lib}_FLAGS )
34+
GET_PROPERTY( ${lib}_INCLUDE_PATHS GLOBAL PROPERTY CMAKE_STM32_${lib}_INCLUDE_PATHS )
35+
36+
FOREACH(I ${${lib}_INCLUDE_PATHS} )
37+
Log("Get Include for ${lib} : <${I}>")
38+
include_directories( ${I} )
39+
ENDFOREACH(I ${${lib}_INCLUDE_PATHS} )
40+
add_definitions( ${${lib}_FLAGS} )
41+
Log("Get FLAGS for ${lib} : <${${lib}_FLAGS}>")
42+
ENDMACRO(IMPORT_LIBRARY lib)
43+
44+
#
45+
#
46+
#
47+
FUNCTION(LINK_TO_LIBRARIES target )
48+
Log("Link to lib ${ARGN}")
49+
FOREACH(l ${ARGN})
50+
GET_PROPERTY( ${l}_NAME GLOBAL PROPERTY CMAKE_STM32_${l}_NAME )
51+
TARGET_LINK_LIBRARIES(${target} ${${l}_NAME})
52+
Log("Linking to ${${l}_NAME}")
53+
ENDFOREACH(l ${ARGN})
54+
ENDFUNCTION(LINK_TO_LIBRARIES )

select_mcu_stm32.cmake

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
OPTION(USE_GD32F103 "Use GD32F103 MCU" FALSE)
2+
OPTION(USE_GD32F303 "Use GD32F303 MCU" FALSE)
3+
# Select platform and installation for extra arduino files AND toolchain (compiler...)
4+
SET(PLATFORM_ARCHITECTURE "STM32F1")
5+
IF(USE_GD32F103 OR USE_GD32F303)
6+
SET(MCU_SPEED 96000000) # Max speed, above 96M USB will not work (?)
7+
ENDIF(USE_GD32F103 OR USE_GD32F303)
8+
9+
# Board setup
10+
IF(USE_GD32F103)
11+
SET(EXTENSION "GD32F103")
12+
set(X_ARDUINO_DEFAULT_BOARD genericGD32F103C) # Default Board ID, when not specified
13+
set(X_ARDUINO_CPU GD32F103C8)
14+
ADD_DEFINITIONS("-DHIGH_SPEED_ADC")
15+
SET(X_ARDUINO_UPLOAD_METHOD BMP) # Use blackmagic link, if you comment it out you'll use DFU => 8kB flash
16+
ELSEIF(USE_GD32F303)
17+
SET(EXTENSION "GD32F303")
18+
set(X_ARDUINO_DEFAULT_BOARD genericGD32F303C) # Default Board ID, when not specified
19+
set(X_ARDUINO_CPU GD32F303C8)
20+
ADD_DEFINITIONS("-DHIGH_SPEED_ADC")
21+
SET(X_ARDUINO_UPLOAD_METHOD BMP) # Use blackmagic link, if you comment it out you'll use DFU => 8kB flash
22+
ELSE()
23+
SET(EXTENSION "STM32F103")
24+
set(X_ARDUINO_LD_FILE jtag) # Use that instead of default jtag-c8 to get the full 128 kB
25+
set(X_ARDUINO_DEFAULT_BOARD genericSTM32F103C) # Default Board ID, when not specified
26+
set(X_ARDUINO_CPU STM32F103C8)
27+
SET(X_ARDUINO_UPLOAD_METHOD BMP) # Use blackmagic link, if you comment it out you'll use DFU => 8kB flash
28+
ENDIF(USE_GD32F103)

utils/unpatch.bash

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
rm -Rf STM32F1/patched STM32F1/variants/generic_gd32f103c2/ STM32F1/variants/generic_gd32f303c/
2+
rm -Rf STM32F1/patched*
3+
git checkout STM32F1/boards.txt STM32F1/system/libmaple/stm32f1/include/series/stm32.h
4+
git checkout STM32F1/variants/generic_stm32f103c/board.cpp
5+
git checkout STM32F1/cores/maple/main.cpp

0 commit comments

Comments
 (0)