开始设计
This commit is contained in:
@@ -0,0 +1,178 @@
|
||||
{
|
||||
"version": 3,
|
||||
"cmakeMinimumRequired": {
|
||||
"major": 3,
|
||||
"minor": 21,
|
||||
"patch": 0
|
||||
},
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "base",
|
||||
"hidden": true,
|
||||
"generator": "Unix Makefiles",
|
||||
"binaryDir": "${sourceDir}/build/${presetName}",
|
||||
"environment": {
|
||||
},
|
||||
"cacheVariables": {
|
||||
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "arm-gcc",
|
||||
"hidden": true,
|
||||
"displayName": "GNU Arm GCC Toolchain",
|
||||
"description": "Using GNU Arm Embedded Toolchain",
|
||||
"inherits": "base",
|
||||
"environment": {
|
||||
"CPU_FLAGS":"-mcpu=cortex-m3 -mthumb -DSTM32F103xB -DUSE_FULL_LL_DRIVER",
|
||||
"COMPILE_FLAGS":"-Wall -Wextra -fdata-sections -ffunction-sections -Wno-pedantic -Wno-unused-parameter -Wno-cast-function-type",
|
||||
"ASM_FLAGS":"",
|
||||
"DEBUG_FLAGS": "",
|
||||
"LINK_FLAGS":"-Wl,--gc-sections --specs=nano.specs --specs=nosys.specs -Wl,-Map=${sourceDir}/build/${presetName}/${presetName}.map",
|
||||
"LINK_SCRIPT":"${sourceDir}/$env{CPU_MODEL_NAME}/Link.ld"
|
||||
},
|
||||
"cacheVariables": {
|
||||
"CMAKE_SYSTEM_NAME": "Generic",
|
||||
"CMAKE_C_COMPILER": "$env{TOOLCHAIN_PATH}/arm-none-eabi-gcc$env{EXE_SUFFIX}",
|
||||
"CMAKE_ASM_COMPILER": "$env{TOOLCHAIN_PATH}/arm-none-eabi-gcc$env{EXE_SUFFIX}",
|
||||
"CMAKE_LINKER": "$env{TOOLCHAIN_PATH}/arm-none-eabi-ld$env{EXE_SUFFIX}",
|
||||
"CMAKE_OBJCOPY": "$env{TOOLCHAIN_PATH}/arm-none-eabi-objcopy$env{EXE_SUFFIX}",
|
||||
"CMAKE_OBJDUMP": "$env{TOOLCHAIN_PATH}/arm-none-eabi-objdump$env{EXE_SUFFIX}",
|
||||
"CMAKE_SIZE": "$env{TOOLCHAIN_PATH}/arm-none-eabi-size$env{EXE_SUFFIX}",
|
||||
"CMAKE_C_COMPILER_WORKS": "true",
|
||||
"CMAKE_CXX_COMPILER_WORKS": "true"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "arm-gcc-debug",
|
||||
"hidden": true,
|
||||
"displayName": "GNU ARM GCC Debug",
|
||||
"inherits": "arm-gcc",
|
||||
"environment": {
|
||||
"DEBUG_FLAGS":"-Og -g0"
|
||||
},
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"CMAKE_C_FLAGS_INIT":"$env{CPU_FLAGS} $env{COMPILE_FLAGS} $env{DEBUG_FLAGS}",
|
||||
"CMAKE_ASM_FLAGS_INIT":"$env{CPU_FLAGS} $env{ASM_FLAGS}",
|
||||
"CMAKE_EXE_LINKER_FLAGS_INIT":"$env{LINK_FLAGS} -T$env{LINK_SCRIPT}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "arm-gcc-release",
|
||||
"hidden": true,
|
||||
"displayName": "GNU ARM GCC Release",
|
||||
"inherits": "arm-gcc",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release",
|
||||
"CMAKE_C_FLAGS_INIT":"$env{CPU_FLAGS} $env{COMPILE_FLAGS} $env{DEBUG_FLAGS}",
|
||||
"CMAKE_ASM_FLAGS_INIT":"$env{CPU_FLAGS} $env{ASM_FLAGS}",
|
||||
"CMAKE_EXE_LINKER_FLAGS_INIT":"$env{LINK_FLAGS} -T$env{LINK_SCRIPT}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "armcc-v6",
|
||||
"hidden": true,
|
||||
"displayName": "ARMCC V6 Toolchain",
|
||||
"description": "Using Arm Compiler 6 (armclang)",
|
||||
"inherits": "base",
|
||||
"cacheVariables": {
|
||||
"CMAKE_SYSTEM_NAME": "Generic",
|
||||
"CMAKE_C_COMPILER": "armclang",
|
||||
"CMAKE_CXX_COMPILER": "armclang",
|
||||
"CMAKE_ASM_COMPILER": "armasm",
|
||||
"CMAKE_LINKER": "armlink",
|
||||
"CMAKE_OBJCOPY": "fromelf",
|
||||
"CMAKE_OBJDUMP": "fromelf",
|
||||
"CMAKE_SIZE": "fromelf",
|
||||
"CMAKE_C_COMPILER_WORKS": "true"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "armcc-v5-base",
|
||||
"hidden": true,
|
||||
"displayName": "ARMCC V5 Toolchain",
|
||||
"description": "Using Arm Compiler 5 (armcc)",
|
||||
"inherits": "base",
|
||||
"environment": {
|
||||
"CPU_FLAGS":"--cpu Cortex-M3 --apcs=interwork",
|
||||
"COMPILE_FLAGS": "--diag_suppress=1,68,1207,3731 --c99 --split_sections -DSTM32F103xB -D__MICROLIB -DUSE_FULL_LL_DRIVER -D__UVISION_VERSION=\"538\"",
|
||||
"ASM_FLAGS":"--cpu=Cortex-M3 --apcs=interwork --pd \"__MICROLIB SETA 1\" --pd \"__UVISION_VERSION SETA 538\" --pd \"STM32F103xB SETA 1\" --pd \"USE_FULL_LL_DRIVER SETA 1\" --xref --cpreproc ",
|
||||
"LINK_FLAGS":"--library_type=microlib --strict --summary_stderr --info summarysizes --map --xref --callgraph --symbols --info sizes --info totals --info unused --info veneers --list \"${sourceDir}/build/${presetName}/${presetName}.map\"",
|
||||
"LINK_SCRIPT":"${sourceDir}/$env{CPU_MODEL_NAME}/Link.ld"
|
||||
},
|
||||
"cacheVariables": {
|
||||
"CMAKE_SYSTEM_NAME": "Generic",
|
||||
"CMAKE_C_COMPILER": "$env{TOOLCHAIN_PATH}/armcc.exe",
|
||||
"CMAKE_CXX_COMPILER": "$env{TOOLCHAIN_PATH}/armcc.exe",
|
||||
"CMAKE_ASM_COMPILER": "$env{TOOLCHAIN_PATH}/armasm.exe",
|
||||
"CMAKE_LINKER": "$env{TOOLCHAIN_PATH}/armlink.exe",
|
||||
"CMAKE_OBJCOPY": "$env{TOOLCHAIN_PATH}/fromelf.exe",
|
||||
"CMAKE_OBJDUMP": "$env{TOOLCHAIN_PATH}/fromelf.exe",
|
||||
"CMAKE_SIZE": "$env{TOOLCHAIN_PATH}/fromelf.exe",
|
||||
"CMAKE_C_COMPILER_WORKS": "true",
|
||||
"CMAKE_CXX_COMPILER_WORKS": "true",
|
||||
"CMAKE_TRY_COMPILE_TARGET_TYPE": "STATIC_LIBRARY"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "armcc-v5-debug",
|
||||
"hidden": true,
|
||||
"displayName": "ARM Compiler 5 (AC5) - Debug",
|
||||
"description": "使用 Keil AC5 工具链进行调试构建",
|
||||
"inherits": "armcc-v5-base",
|
||||
"environment": {
|
||||
"DEBUG_FLAGS": "-O0"
|
||||
},
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"CMAKE_C_FLAGS_INIT":"$env{CPU_FLAGS} $env{COMPILE_FLAGS} $env{DEBUG_FLAGS}",
|
||||
"CMAKE_ASM_FLAGS_INIT":"$env{CPU_FLAGS} $env{ASM_FLAGS}",
|
||||
"CMAKE_EXE_LINKER_FLAGS_INIT":"$env{LINK_FLAGS} --scatter=\"$env{LINK_SCRIPT}\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "armcc-v5-release",
|
||||
"hidden": true,
|
||||
"displayName": "ARM Compiler 5 (AC5) - Release",
|
||||
"description": "使用 Keil AC5 工具链进行调试构建",
|
||||
"inherits": "armcc-v5-base",
|
||||
"environment": {
|
||||
"DEBUG_FLAGS": "-O2"
|
||||
},
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release",
|
||||
"CMAKE_C_FLAGS_INIT":"$env{CPU_FLAGS} $env{COMPILE_FLAGS} $env{DEBUG_FLAGS}",
|
||||
"CMAKE_ASM_FLAGS_INIT":"$env{CPU_FLAGS} $env{ASM_FLAGS}",
|
||||
"CMAKE_EXE_LINKER_FLAGS_INIT":"$env{LINK_FLAGS} --scatter=\"$env{LINK_SCRIPT}\""
|
||||
}
|
||||
}
|
||||
],
|
||||
"buildPresets": [
|
||||
{
|
||||
"name": "build-gcc-debug",
|
||||
"configurePreset": "arm-gcc-debug",
|
||||
"configuration": "Debug"
|
||||
},
|
||||
{
|
||||
"name": "build-gcc-release",
|
||||
"configurePreset": "arm-gcc-release",
|
||||
"configuration": "Release"
|
||||
},
|
||||
{
|
||||
"name": "build-armcc-v6-release",
|
||||
"configurePreset": "armcc-v6",
|
||||
"configuration": "Release"
|
||||
},
|
||||
{
|
||||
"name": "build-armcc-v5-debug",
|
||||
"configurePreset": "armcc-v5-debug",
|
||||
"configuration": "Debug"
|
||||
},
|
||||
{
|
||||
"name": "build-armcc-v5-release",
|
||||
"configurePreset": "armcc-v5-release",
|
||||
"configuration": "Release"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user