-
Notifications
You must be signed in to change notification settings - Fork 33
/
platform.txt
145 lines (125 loc) · 8.73 KB
/
platform.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification
name=GD32 ARM Boards
version=1.0.0
#compile variables
##compile Include
compiler.gd.extra_include= "-I{build.source.path}" "-isystem{build.core.path}/api/deprecated-avr-comp" "-isystem{build.core.path}/api/deprecated" "-I{build.core.path}/gd32" "-isystem{build.system.path}/startup" "-isystem{build.system.path}/{build.series}_firmware/{build.series}_standard_peripheral/Source" "-isystem{build.system.path}/{build.series}_firmware/{build.series}_standard_peripheral/Include" "-isystem{build.system.path}/{build.series}_firmware/CMSIS" "-isystem{build.system.path}/{build.series}_firmware/CMSIS/GD/{build.series}/Include" "-isystem{build.system.path}/{build.series}_firmware/CMSIS/GD/{build.series}/Source/GCC" "-isystem{build.system.path}/{build.series}_firmware/CMSIS/GD/{build.series}/Source" "-I{build.system.path}/{build.series}_firmware/{build.series}_usbd_library/usbd/Include" "-I{build.system.path}/{build.series}_firmware/{build.series}_usbd_library/usbd/Source" "-I{build.system.path}/{build.series}_firmware/{build.series}_usbd_library/device/Include" "-I{build.system.path}/{build.series}_firmware/{build.series}_usbd_library/device/Source"
## compile warning
compiler.warning_flags=-w
compiler.warning_flags.none=-w
compiler.warning_flags.default=
compiler.warning_flags.more=-Wall
compiler.warning_flags.all=-Wall -Wextra
## compile path/command
compiler.path={runtime.tools.xpack-arm-none-eabi-gcc-9.3.1-1.3.path}/bin/
compiler.S.cmd=arm-none-eabi-gcc
compiler.c.cmd=arm-none-eabi-gcc
compiler.cpp.cmd=arm-none-eabi-g++
compiler.ar.cmd=arm-none-eabi-gcc-ar
compiler.c.elf.cmd=arm-none-eabi-gcc
compiler.objcopy.cmd=arm-none-eabi-objcopy
compiler.elf2hex.cmd=arm-none-eabi-objcopy
compiler.size.cmd=arm-none-eabi-size
##compile flags
compiler.libraries.ldflags=
compiler.extra_flags=-mcpu={build.mcu} {build.flags.fp} -mthumb -masm-syntax-unified
compiler.S.flags={compiler.extra_flags} -c -x assembler-with-cpp {compiler.gd.extra_include}
compiler.c.flags={compiler.extra_flags} -c {build.flags.optimize} {compiler.warning_flags} -std=gnu11 -ffunction-sections -fdata-sections -g3 -T -nostdlib --param max-inline-insns-single=500 -MMD {compiler.gd.extra_include}
compiler.cpp.flags={compiler.extra_flags} -c {build.flags.optimize} {compiler.warning_flags} -std={compiler.cpp.std} -ffunction-sections -fdata-sections -g3 -T -nostdlib -fno-threadsafe-statics --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -fno-use-cxa-atexit -MMD {compiler.gd.extra_include}
compiler.ar.flags=rcs
compiler.c.elf.flags=-mcpu={build.mcu} {build.flags.fp} -mthumb {build.flags.optimize} {build.flags.ldspecs} -Wl,--defsym=LD_FLASH_OFFSET={build.flash_offset} -Wl,--defsym=LD_MAX_SIZE={upload.maximum_size} -Wl,--defsym=LD_MAX_DATA_SIZE={upload.maximum_data_size} -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common
compiler.objcopy.eep.flags=-O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0
compiler.elf2bin.flags=-O binary
compiler.elf2hex.flags=-O ihex
compiler.ldflags=
compiler.define=-DARDUINO=
## These can be overridden in platform.local.txt
compiler.c.extra_flags=
compiler.c.elf.extra_flags=
compiler.cpp.extra_flags=
compiler.cpp.std=gnu++14
compiler.S.extra_flags={build.startup_file}
compiler.ar.extra_flags=
compiler.elf2bin.extra_flags=
compiler.elf2hex.extra_flags=
# These can be overriden in boards.txt
build.extra_flags=
build.enable_usb=
build.flash_offset=0
build.bootloader_flags=-DVECT_TAB_OFFSET={build.flash_offset}
build.ldscript=ldscript.ld
## Build information's flag
build.info.flags=-D{build.series} -D{build.product_line} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DBOARD_NAME="{build.board}" -DARDUINO_UPLOAD_MAXIMUM_SIZE={upload.maximum_size}
## Defaults config
build.xSerial=
#build.usb_speed=
#build.enable_virtio=
build.startup_file=
build.flags.fp=
build.flags.optimize=-O0
build.flags.ldspecs=--specs=nano.specs
build.usb_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid} "-DUSB_MANUFACTURER={build.usb_manufacturer}" "-DUSB_PRODUCT={build.usb_product}"
# compile patterns
## Compile c files
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} {build.info.flags} {compiler.c.extra_flags} {build.extra_flags} {build.enable_usb} {includes} "{source_file}" -o "{object_file}"
## Compile c++ files
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} {build.info.flags} {compiler.cpp.extra_flags} {build.extra_flags} {build.enable_usb} {includes} "{source_file}" -o "{object_file}"
## Compile S files
recipe.S.o.pattern="{compiler.path}{compiler.S.cmd}" {compiler.S.flags} {build.info.flags} {compiler.S.extra_flags} {build.extra_flags} {build.enable_usb} {includes} "{source_file}" -o "{object_file}"
## Create archives
recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}"
## Combine gc-sections, archives, and objects
recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} "-Wl,--default-script={build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" {compiler.c.elf.extra_flags} {compiler.ldflags} -o "{build.path}/{build.project_name}.elf" "-L{build.path}" -Wl,--start-group {object_files} {compiler.libraries.ldflags} "{archive_file_path}" -lc -Wl,--end-group -lm -lgcc -lstdc++
## Create output (.bin file)
recipe.objcopy.bin.pattern="{compiler.path}{compiler.objcopy.cmd}" {compiler.elf2bin.flags} {compiler.elf2bin.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.bin"
## Create output (.hex file)
recipe.objcopy.hex.pattern="{compiler.path}{compiler.objcopy.cmd}" {compiler.elf2hex.flags} {compiler.elf2hex.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.hex"
build.preferred_out_format=bin
## Save binary
recipe.output.tmp_file={build.project_name}.{build.preferred_out_format}
recipe.output.save_file={build.project_name}.{build.variant}.{build.preferred_out_format}
## Compute size
recipe.size.pattern="{compiler.path}{compiler.size.cmd}" -A "{build.path}/{build.project_name}.elf"
recipe.size.regex=^(?:\.text|\.data|\.rodata)\s+([0-9]+).*
recipe.size.regex.data=^(?:\.data|\.bss|\.noinit)\s+([0-9]+).*
recipe.size.regex.eeprom=^(?:\.eeprom)\s+([0-9]+).*
# Uploader tool
# -------------------
# Uploader tools
##serial_upload
tools.serial_upload.cmd=serial_upload
tools.serial_upload.cmd.windows=serial_upload.bat
tools.serial_upload.cmd.macosx=serial_upload
tools.serial_upload.path={runtime.platform.path}/tools/win
tools.serial_upload.path.macosx={runtime.platform.path}/tools/macosx
tools.serial_upload.path.linux={runtime.platform.path}/tools/linux
tools.serial_upload.path.linux64={runtime.platform.path}/tools/linux64
tools.serial_upload.upload.params.verbose=-d
tools.serial_upload.upload.params.quiet=n
tools.serial_upload.upload.pattern="{path}/{cmd}" {serial.port.file} {upload.altID} {upload.usbID} "{build.path}/{build.project_name}.bin"
##stlink upload
tools.stlink_upload.cmd=openocd
tools.stlink_upload.path={runtime.tools.xpack-openocd-0.11.0-1.path}/bin
tools.stlink_upload.upload.params.verbose=-d2
tools.stlink_upload.upload.params.quiet=n
tools.stlink_upload.upload.pattern="{path}/{cmd}" -s "{path}/scripts" -f interface/stlink.cfg -c "transport select hla_swd" -c "set CPUTAPID 0" -f {upload.openocd_script} -c "program {{build.path}/{build.project_name}.elf} verify reset; shutdown"
##gdlink upload
tools.gdlink_upload.cmd=openocd
tools.gdlink_upload.path={runtime.tools.xpack-openocd-0.11.0-1.path}/bin
tools.gdlink_upload.upload.params.verbose=-d2
tools.gdlink_upload.upload.params.quiet=n
tools.gdlink_upload.upload.pattern="{path}/{cmd}" -s "{path}/scripts" -f interface/cmsis-dap.cfg -c "transport select swd" -c "set CPUTAPID 0" -f {upload.openocd_script} -c "program {{build.path}/{build.project_name}.elf} verify reset; shutdown"
##jlink_upload
tools.jlink_upload.cmd=openocd
tools.jlink_upload.path={runtime.tools.xpack-openocd-0.11.0-1.path}/bin
tools.jlink_upload.upload.params.verbose=-d2
tools.jlink_upload.upload.params.quiet=n
tools.jlink_upload.upload.pattern="{path}/{cmd}" -s "{path}/scripts" -f interface/jlink.cfg -c "transport select swd" -c "set CPUTAPID 0" -f {upload.openocd_script} -c "program {{build.path}/{build.project_name}.elf} verify reset; shutdown"
#
# DFU_UTIL
#
tools.dfu-util.path={runtime.tools.dfu-util.path}
tools.dfu-util.cmd=dfu-util
tools.dfu-util.upload.params.verbose=-d
tools.dfu-util.upload.params.quiet=
tools.dfu-util.upload.pattern="{path}/{cmd}" --device {upload.vid}:{upload.pid} -D "{build.path}/{build.project_name}.bin" -R {upload.options}