0% found this document useful (0 votes)
13 views5 pages

platform

GRACIAS 4

Uploaded by

diomede
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views5 pages

platform

GRACIAS 4

Uploaded by

diomede
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 5

# Copyright (c) 2021 Earle F.

Philhower, III
#
# Raspberry Pi RP2040 Core platform file
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

# For more info:


# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-
specification

name=Raspberry Pi RP2040 Boards(1.2.1)


version=1.2.1

compiler.path={runtime.tools.pqt-gcc.path}/bin/

# Compile variables
# -----------------

compiler.warning_flags=-w
compiler.warning_flags.none=-w
compiler.warning_flags.default=
compiler.warning_flags.more=-Wall
compiler.warning_flags.all=-Wall -Wextra

compiler.defines={build.led}
compiler.includes="-I{runtime.platform.path}/pico_base/" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/pico_unique_id/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/pico_platform/include/" "-
I{runtime.platform.path}/pico-sdk/src/common/pico_base/include/" "-
I{runtime.platform.path}/pico-sdk/src/rp2040/hardware_regs/include/" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/hardware_timer/include/" "-
I{runtime.platform.path}/pico-sdk/src/common/pico_stdlib/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/hardware_gpio/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/hardware_i2c/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/hardware_flash/include" "-
I{runtime.platform.path}/pico-sdk/src/common/pico_base/include" "-
I{runtime.platform.path}/pico-examples/build/generated/pico_base" "-
I{runtime.platform.path}/pico-sdk/src/boards/include"
"-I{runtime.platform.path}/pico-sdk/src/rp2_common/pico_platform/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2040/hardware_regs/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/hardware_base/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2040/hardware_structs/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/hardware_claim/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/hardware_sync/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/hardware_uart/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/hardware_divider/include" "-
I{runtime.platform.path}/pico-sdk/src/common/pico_time/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/hardware_timer/include" "-
I{runtime.platform.path}/pico-sdk/src/common/pico_sync/include" "-
I{runtime.platform.path}/pico-sdk/src/common/pico_util/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/pico_runtime/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/hardware_clocks/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/hardware_resets/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/hardware_watchdog/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/hardware_xosc/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/hardware_pll/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/hardware_vreg/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/hardware_irq/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/pico_printf/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/pico_bootrom/include" "-
I{runtime.platform.path}/pico-sdk/src/common/pico_bit_ops/include" "-
I{runtime.platform.path}/pico-sdk/src/common/pico_divider/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/pico_double/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/pico_int64_ops/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/pico_float/include" "-
I{runtime.platform.path}/pico-sdk/src/common/pico_binary_info/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/hardware_pio/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/pico_stdio/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/hardware_dma/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/pico_stdio_uart/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2040/hardware_regs/include/" "-
I{runtime.platform.path}/pico-sdk/lib/tinyusb/src/"
"-I{runtime.platform.path}/pico-sdk/src/rp2_common/pico_stdio_usb/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/hardware_spi/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/hardware_pwm/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/hardware_adc/include" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/pico_multicore/include" "-
I{runtime.platform.path}/cores/rp2040/api/deprecated-avr-comp/" "-
I{runtime.platform.path}/pico-sdk/src/rp2_common/pico_multicore/include" "-
I{runtime.platform.path}/pico-extras/src/rp2_common/pico_audio_i2s/include" "-
I{runtime.platform.path}/pico-extras/src/common/pico_audio/include" "-
I{runtime.platform.path}/pico-extras/src/common/pico_util_buffer/include"
compiler.flags=-Os -march=armv6-m -mcpu=cortex-m0plus -mthumb -ffunction-sections -
fdata-sections
compiler.wrap=-Wl,--wrap=acos -Wl,--wrap=acosf -Wl,--wrap=acosh -Wl,--wrap=acoshf -
Wl,--wrap=__aeabi_cdcmpeq -Wl,--wrap=__aeabi_cdcmple -Wl,--wrap=__aeabi_cdrcmple -
Wl,--wrap=__aeabi_cfcmpeq -Wl,--wrap=__aeabi_cfcmple -Wl,--wrap=__aeabi_cfrcmple -
Wl,--wrap=__aeabi_d2f -Wl,--wrap=__aeabi_d2iz -Wl,--wrap=__aeabi_d2lz -Wl,--
wrap=__aeabi_d2uiz -Wl,--wrap=__aeabi_d2ulz -Wl,--wrap=__aeabi_dadd -Wl,--
wrap=__aeabi_dcmpeq -Wl,--wrap=__aeabi_dcmpge -Wl,--wrap=__aeabi_dcmpgt -Wl,--
wrap=__aeabi_dcmple -Wl,--wrap=__aeabi_dcmplt -Wl,--wrap=__aeabi_dcmpun -Wl,--
wrap=__aeabi_ddiv -Wl,--wrap=__aeabi_dmul -Wl,--wrap=__aeabi_drsub -Wl,--
wrap=__aeabi_dsub -Wl,--wrap=__aeabi_f2d -Wl,--wrap=__aeabi_f2iz -Wl,--
wrap=__aeabi_f2lz -Wl,--wrap=__aeabi_f2uiz -Wl,--wrap=__aeabi_f2ulz -Wl,--
wrap=__aeabi_fadd -Wl,--wrap=__aeabi_fcmpeq -Wl,--wrap=__aeabi_fcmpge -Wl,--
wrap=__aeabi_fcmpgt -Wl,--wrap=__aeabi_fcmple -Wl,--wrap=__aeabi_fcmplt -Wl,--
wrap=__aeabi_fcmpun -Wl,--wrap=__aeabi_fdiv -Wl,--wrap=__aeabi_fmul -Wl,--
wrap=__aeabi_frsub -Wl,--wrap=__aeabi_fsub -Wl,--wrap=__aeabi_i2d -Wl,--
wrap=__aeabi_i2f -Wl,--wrap=__aeabi_idiv -Wl,--wrap=__aeabi_idivmod -Wl,--
wrap=__aeabi_l2d -Wl,--wrap=__aeabi_l2f -Wl,--wrap=__aeabi_ldivmod -Wl,--
wrap=__aeabi_lmul -Wl,--wrap=__aeabi_memcpy -Wl,--wrap=__aeabi_memcpy4 -Wl,--
wrap=__aeabi_memcpy8 -Wl,--wrap=__aeabi_memset -Wl,--wrap=__aeabi_memset4 -Wl,--
wrap=__aeabi_memset8 -Wl,--wrap=__aeabi_ui2d -Wl,--wrap=__aeabi_ui2f -Wl,--
wrap=__aeabi_uidiv -Wl,--wrap=__aeabi_uidivmod -Wl,--wrap=__aeabi_ul2d -Wl,--
wrap=__aeabi_ul2f -Wl,--wrap=__aeabi_uldivmod -Wl,--wrap=asin -Wl,--wrap=asinf -
Wl,--wrap=asinh -Wl,--wrap=asinhf -Wl,--wrap=atan -Wl,--wrap=atan2 -Wl,--
wrap=atan2f -Wl,--wrap=atanf -Wl,--wrap=atanh -Wl,--wrap=atanhf -Wl,--wrap=calloc -
Wl,--wrap=cbrt -Wl,--wrap=cbrtf -Wl,--wrap=ceil -Wl,--wrap=ceilf -Wl,--wrap=__clz -
Wl,--wrap=__clzdi2 -Wl,--wrap=__clzl -Wl,--wrap=__clzll -Wl,--wrap=__clzsi2 -Wl,--
wrap=copysign -Wl,--wrap=copysignf -Wl,--wrap=cos -Wl,--wrap=cosf -Wl,--wrap=cosh -
Wl,--wrap=coshf -Wl,--wrap=__ctzdi2 -Wl,--wrap=__ctzsi2 -Wl,--wrap=drem -Wl,--
wrap=dremf -Wl,--wrap=exp -Wl,--wrap=exp10 -Wl,--wrap=exp10f -Wl,--wrap=exp2 -Wl,--
wrap=exp2f -Wl,--wrap=expf -Wl,--wrap=expm1 -Wl,--wrap=expm1f -Wl,--wrap=floor -
Wl,--wrap=floorf -Wl,--wrap=fma -Wl,--wrap=fmaf -Wl,--wrap=fmod -Wl,--wrap=fmodf -
Wl,--wrap=free -Wl,--wrap=hypot -Wl,--wrap=hypotf -Wl,--wrap=ldexp -Wl,--
wrap=ldexpf -Wl,--wrap=log -Wl,--wrap=log10 -Wl,--wrap=log10f -Wl,--wrap=log1p -
Wl,--wrap=log1pf -Wl,--wrap=log2 -Wl,--wrap=log2f -Wl,--wrap=logf -Wl,--wrap=malloc
-Wl,--wrap=memcpy -Wl,--wrap=memset -Wl,--wrap=__popcountdi2 -Wl,--
wrap=__popcountsi2 -Wl,--wrap=pow -Wl,--wrap=powf -Wl,--wrap=powint -Wl,--
wrap=powintf -Wl,--wrap=remainder -Wl,--wrap=remainderf -Wl,--wrap=remquo -Wl,--
wrap=remquof -Wl,--wrap=round -Wl,--wrap=roundf -Wl,--wrap=sin -Wl,--wrap=sincos -
Wl,--wrap=sincosf -Wl,--wrap=sinf -Wl,--wrap=sinh -Wl,--wrap=sinhf -Wl,--wrap=sqrt
-Wl,--wrap=sqrtf -Wl,--wrap=tan -Wl,--wrap=tanf -Wl,--wrap=tanh -Wl,--wrap=tanhf -
Wl,--wrap=trunc -Wl,--wrap=truncf

compiler.c.cmd=arm-none-eabi-gcc
compiler.c.flags=-c {compiler.defines} {compiler.flags} {compiler.includes} -
std=gnu17 -g
compiler.c.elf.cmd=arm-none-eabi-g++
compiler.c.elf.flags={compiler.defines} {compiler.flags} -Wl,--gc-sections -u
_printf_float -u _scanf_float
compiler.S.cmd=arm-none-eabi-gcc
compiler.S.flags=-c -g -x assembler-with-cpp -MMD {compiler.includes} -g
compiler.cpp.cmd=arm-none-eabi-g++
compiler.cpp.flags=-c {compiler.defines} {compiler.flags} {compiler.includes} -
std=gnu++17 -g

compiler.ar.cmd=arm-none-eabi-ar
compiler.ar.flags=rcs
compiler.objcopy.cmd=arm-none-eabi-objcopy
compiler.objcopy.eep.flags=-O ihex -j .eeprom --set-section-
flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0
compiler.elf2hex.bin.flags=-O binary
compiler.elf2hex.hex.flags=-O ihex -R .eeprom
compiler.elf2hex.cmd=arm-none-eabi-objcopy
compiler.ldflags={compiler.wrap} -Wl,--cref -Wl,--check-sections -Wl,--gc-sections
-Wl,--unresolved-symbols=report-all -Wl,--warn-common
compiler.size.cmd=arm-none-eabi-size
compiler.define=-DARDUINO=
compiler.readelf.cmd=arm-none-eabi-readelf

# this can be overriden in boards.txt


build.extra_flags=

# These can be overridden in platform.local.txt


compiler.c.extra_flags=
compiler.c.elf.extra_flags=
compiler.cpp.extra_flags=
compiler.S.extra_flags=
compiler.ar.extra_flags=
compiler.elf2hex.extra_flags=

# Board configuration, set in boards.txt. Present here to ensure substitution


works
build.flash_length=
build.eeprom_start=
build.fs_start=
build.fs_end=

build.boot2=boot2_generic_03h_4_padded_checksum

# Allow Pico boards do be auto-discovered by the IDE


discovery.rp2040.pattern="{runtime.tools.pqt-python3.path}/python3"
"{runtime.platform.path}/tools/discovery.py"

# Compile patterns
# ----------------

## Compile c files
## KH Add -DBOARD_NAME="{build.board}"
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags}
{build.usbpid} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -
DARDUINO_{build.board} -DBOARD_NAME="{build.board}" -DARDUINO_ARCH_{build.arch}
{compiler.c.extra_flags} {build.extra_flags} {build.debug_port} {build.debug_level}
{includes} "{source_file}" -o "{object_file}"

## Compile c++ files


## KH Add -DBOARD_NAME="{build.board}"
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags}
{build.usbpid} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -
DARDUINO_{build.board} -DBOARD_NAME="{build.board}" -DARDUINO_ARCH_{build.arch}
{compiler.cpp.extra_flags} {build.extra_flags} {build.debug_port}
{build.debug_level} {includes} "{source_file}" -o "{object_file}"

## Compile S files
## KH Add -DBOARD_NAME="{build.board}"
recipe.S.o.pattern="{compiler.path}{compiler.S.cmd}" {compiler.S.flags}
{build.usbpid} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -
DARDUINO_{build.board} -DBOARD_NAME="{build.board}" -DARDUINO_ARCH_{build.arch}
{compiler.S.extra_flags} {build.extra_flags} {build.debug_port} {build.debug_level}
{includes} "{source_file}" -o "{object_file}"

## Create archives
# archive_file_path is needed for backwards compatibility with IDE 1.6.5 or older,
IDE 1.6.6 or newer overrides this value
archive_file_path={build.path}/{archive_file}
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.hooks.linking.prelink.1.pattern="{runtime.tools.pqt-python3.path}/python3"
"{runtime.platform.path}/tools/simplesub.py" --input
"{runtime.platform.path}/lib/memmap_default.ld" --out
"{build.path}/memmap_default.ld" --sub __FLASH_LENGTH__ {build.flash_length} --sub
__EEPROM_START__ {build.eeprom_start} --sub __FS_START__ {build.fs_start} --sub
__FS_END__ {build.fs_end}
recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" "-L{build.path}"
{compiler.c.elf.flags} {compiler.c.elf.extra_flags}
"-Wl,--script={build.path}/memmap_default.ld"
"-Wl,-Map,{build.path}/{build.project_name}.map" --specs=nosys.specs -Wl,--start-
group {compiler.ldflags} -o "{build.path}/{build.project_name}.elf" {object_files}
"{build.path}/{archive_file}" "{runtime.platform.path}/lib/libpico.a" -lm "-
I{runtime.platform.path}/pico-sdk/src/rp2040/hardware_regs/include/" "-
I{runtime.platform.path}/pico-sdk/src/common/pico_binary_info/include"
"{runtime.platform.path}/assembly/{build.boot2}.S" -lc -lstdc++ -Wl,--end-group

## Create output (UF2 file)


recipe.objcopy.uf2.pattern="{runtime.tools.pqt-elf2uf2.path}/elf2uf2"
"{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.uf2"

build.preferred_out_format=uf2

## Save hex
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=^(?:\.boot2|\.text|\.rodata|\.ARM\.extab|\.ARM\.exidx)\s+([0-
9]+).*
recipe.size.regex.data=^(?:\.data|\.bss|\.ram_vector_table|\.uninitialized_data)\s+
([0-9]+).*

tools.uf2conv.path=
# Because the variable expansion doesn't allow one tool to find another, the
following lines
# will point to "{runtime.platform.path}/tools/python3/python3" in GIT and
# "{runtime.tools.pqt-python3.path}/python3" for JSON board manager releases.
tools.uf2conv.cmd={runtime.tools.pqt-python3.path}/python3

tools.uf2conv.upload.protocol=uf2
tools.uf2conv.upload.params.verbose=
tools.uf2conv.upload.params.quiet=
tools.uf2conv.upload.pattern="{cmd}" "{runtime.platform.path}/tools/uf2conv.py" --
serial "{serial.port}" --family RP2040 --deploy
"{build.path}/{build.project_name}.uf2"

tools.picoprobe.cmd={runtime.tools.pqt-openocd.path}

tools.picoprobe.upload.protocol=picoprobe
tools.picoprobe.upload.params.verbose=
tools.picoprobe.upload.params.quiet=
tools.picoprobe.upload.pattern="{cmd}/bin/openocd" -f "interface/picoprobe.cfg" -f
"target/rp2040.cfg" -s "{cmd}/share/openocd/scripts" -c "program
{build.path}/{build.project_name}.elf verify reset exit"

You might also like