Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9c17986ae6 | ||
|
|
93c30e0233 | ||
|
|
f327e09e3e | ||
|
|
c2cf09acbf | ||
|
|
72a644f77d | ||
|
|
a259eb7396 | ||
|
|
7f8f0cc137 |
@@ -24,10 +24,13 @@
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
// Wacky deprecated AVR compatibilty functions
|
||||
#include "stdlib_noniso.h"
|
||||
|
||||
#include "api/ArduinoAPI.h"
|
||||
#include <pins_arduino.h>
|
||||
|
||||
|
||||
// Required for the port*Register macros
|
||||
#include "hardware/gpio.h"
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
#include "api/Printable.h"
|
||||
+1
-3
@@ -31,11 +31,9 @@ For the latest version, always check https://github.com/earlephilhower/arduino-p
|
||||
SPI <spi>
|
||||
Wire(I2C) <wire>
|
||||
File Systems (SD, SDFS, LittleFS) <fs>
|
||||
|
||||
Ported/Optimized Libraries <libraries>
|
||||
|
||||
Multicore Processing <multicore>
|
||||
|
||||
Ported/Optimized Libraries <libraries>
|
||||
Using Pico-SDK <sdk>
|
||||
|
||||
Licenses <license>
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,57 @@
|
||||
-iwithprefixbefore/cores/rp2040/api/deprecated-avr-comp/
|
||||
-iwithprefixbefore/lib/pico_base/
|
||||
-iwithprefixbefore/pico-examples/build/generated/pico_base
|
||||
-iwithprefixbefore/pico-extras/src/common/pico_audio/include
|
||||
-iwithprefixbefore/pico-extras/src/common/pico_util_buffer/include
|
||||
-iwithprefixbefore/pico-extras/src/rp2_common/pico_audio_i2s/include
|
||||
-iwithprefixbefore/pico-sdk/lib/tinyusb/src/
|
||||
-iwithprefixbefore/pico-sdk/src/boards/include
|
||||
-iwithprefixbefore/pico-sdk/src/common/pico_base/include
|
||||
-iwithprefixbefore/pico-sdk/src/common/pico_base/include/
|
||||
-iwithprefixbefore/pico-sdk/src/common/pico_binary_info/include
|
||||
-iwithprefixbefore/pico-sdk/src/common/pico_bit_ops/include
|
||||
-iwithprefixbefore/pico-sdk/src/common/pico_divider/include
|
||||
-iwithprefixbefore/pico-sdk/src/common/pico_stdlib/include
|
||||
-iwithprefixbefore/pico-sdk/src/common/pico_sync/include
|
||||
-iwithprefixbefore/pico-sdk/src/common/pico_time/include
|
||||
-iwithprefixbefore/pico-sdk/src/common/pico_util/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2040/hardware_regs/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2040/hardware_regs/include/
|
||||
-iwithprefixbefore/pico-sdk/src/rp2040/hardware_regs/include/
|
||||
-iwithprefixbefore/pico-sdk/src/rp2040/hardware_structs/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_adc/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_base/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_claim/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_clocks/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_divider/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_dma/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_flash/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_gpio/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_i2c/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_irq/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_pio/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_pll/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_pwm/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_resets/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_spi/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_sync/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_timer/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_timer/include/
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_uart/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_vreg/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_watchdog/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_xosc/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/pico_bootrom/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/pico_double/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/pico_float/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/pico_int64_ops/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/pico_multicore/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/pico_multicore/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/pico_platform/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/pico_platform/include/
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/pico_printf/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/pico_runtime/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/pico_stdio/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/pico_stdio_uart/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/pico_stdio_usb/include
|
||||
-iwithprefixbefore/pico-sdk/src/rp2_common/pico_unique_id/include
|
||||
@@ -0,0 +1,149 @@
|
||||
-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
|
||||
@@ -6,7 +6,7 @@
|
||||
"websiteURL": "https://github.com/earlephilhower/arduino-pico",
|
||||
"email": "earlephilhower@yahoo.com",
|
||||
"help": {
|
||||
"online": "https://github.com/earlephilhower/arduino-pico"
|
||||
"online": "https://arduino-pico.readthedocs.io/en/latest/"
|
||||
},
|
||||
"platforms": [
|
||||
{
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
mkdir -p pico
|
||||
touch pico/config.h
|
||||
|
||||
for type in boot2_generic_03h boot2_is25lp080 boot2_w25q080 boot2_w25x10cl; do
|
||||
for div in 2 4; do
|
||||
../../system/arm-none-eabi/bin/arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -DNDEBUG -DPICO_FLASH_SPI_CLKDIV=$div -c ../../pico-sdk/src/rp2_common/boot_stage2/$type.S -I ../../pico-sdk/src/rp2_common/pico_platform/include/ -I ../../pico-sdk/src/rp2040/hardware_regs/include/ -I../../pico-sdk/src/rp2_common/boot_stage2/asminclude/ -I.
|
||||
|
||||
../../system/arm-none-eabi/bin/arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -DNDEBUG -Wl,--build-id=none --specs=nosys.specs -nostartfiles -Wl,--script=../../pico-sdk/src/rp2_common/boot_stage2/boot_stage2.ld -Wl,-Map=$type.$div.elf.map $type.o -o $type.$div.elf
|
||||
|
||||
../../system/arm-none-eabi/bin/arm-none-eabi-objdump -h $type.$div.elf > $type.$div.dis
|
||||
../../system/arm-none-eabi/bin/arm-none-eabi-objdump -d $type.$div.elf >> $type.$div.dis
|
||||
|
||||
../../system/arm-none-eabi/bin/arm-none-eabi-objcopy -Obinary $type.$div.elf $type.$div.bin
|
||||
|
||||
python3 ../../pico-sdk/src/rp2_common/boot_stage2/pad_checksum -s 0xffffffff $type.$div.bin ${type}_${div}_padded_checksum.S
|
||||
done
|
||||
done
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
#!/bin/bash
|
||||
rm -rf build
|
||||
mkdir build
|
||||
cd build
|
||||
PICO_SDK_PATH=../../pico-sdk/ PATH="$(cd ../../system/arm-none-eabi/bin; pwd):$PATH" cmake ..
|
||||
make -j32
|
||||
cp libpico.a ../../lib/.
|
||||
cp generated/pico_base/pico/version.h ../../pico_base/pico/.
|
||||
cd ..
|
||||
|
||||
rm -rf boot
|
||||
mkdir boot
|
||||
cd boot
|
||||
../boot.sh
|
||||
cp *.S ../../assembly/.
|
||||
cd ..
|
||||
|
||||
+4
-5
@@ -39,9 +39,9 @@ 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.includes="-iprefix{runtime.platform.path}/" "@{runtime.platform.path}/lib/platform_inc.txt"
|
||||
compiler.flags=-Os -march=armv6-m -mcpu=cortex-m0plus -mthumb -ffunction-sections -fdata-sections -fno-exceptions
|
||||
compiler.wrap="@{runtime.platform.path}/lib/platform_wrap.txt"
|
||||
|
||||
compiler.c.cmd=arm-none-eabi-gcc
|
||||
compiler.c.flags=-c {compiler.defines} {compiler.flags} {compiler.includes} -std=gnu17 -g
|
||||
@@ -50,8 +50,7 @@ compiler.c.elf.flags={compiler.defines} {compiler.flags} -Wl,--gc-sections -u _p
|
||||
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.cpp.flags=-c {compiler.defines} {compiler.flags} {compiler.includes} -fno-rtti -std=gnu++17 -g
|
||||
|
||||
compiler.ar.cmd=arm-none-eabi-ar
|
||||
compiler.ar.flags=rcs
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
# Tools directory for the RP2040 Arduino-Pico
|
||||
|
||||
## get.py
|
||||
Downloads and installs the toolchain into a GIT clone of the repo. Run
|
||||
once after the `git clone` and any time the toolchain JSON file updates.
|
||||
The `dist` directory caches downloaded toolchain files.
|
||||
|
||||
## discovery.py
|
||||
Run in the background by the IDE to scan for UF2 drives to show in the
|
||||
menus. Normally not run manually by the user.
|
||||
|
||||
## uf2conv.py
|
||||
Manages the upload of the UF2 formatted file to the board. Called as part
|
||||
of the IDE upload process. Will optionally send the serial reset signal
|
||||
to get the board into update mode (1200bps connection).
|
||||
|
||||
## simplesub.py
|
||||
Very dumb `sed`-like tool used by the platform scripts to generate the
|
||||
linker `.ld` file (replacing the EEPROM location, FS sizes, etc.).
|
||||
Because we run on Windows, Mac, and Linux, need to provide this and not
|
||||
rely on existance of `sed` command.
|
||||
|
||||
## pyserial
|
||||
`git clone` of the PySerial Python3 library to be used by the IDE.
|
||||
|
||||
## makeboards.py
|
||||
Generates `boards.txt` programmatically. Never edit the `boards.txt` file
|
||||
manually, use `python3 tools/makeboards.py > boards.py`. Change the script
|
||||
as necessary to add any add'l fields or menus required. Used because the
|
||||
`boards.txt` file is very repetitive and it's safer to generate with code
|
||||
than by hand.
|
||||
|
||||
## libpico/make-libpico.sh
|
||||
Builds the libpico.a file as well as the bootloader stage2 binaries.
|
||||
Run whenever the pico-sdk is updated.
|
||||
@@ -18,6 +18,11 @@ target_compile_definitions(pico PUBLIC
|
||||
PICO_FLASH_SIZE_BYTES=16777216
|
||||
)
|
||||
|
||||
target_compile_options(pico PUBLIC
|
||||
-fno-exceptions
|
||||
$<$<COMPILE_LANGUAGE:CXX>:-fno-rtti>
|
||||
)
|
||||
|
||||
target_link_libraries(pico
|
||||
boot_stage2
|
||||
hardware_adc
|
||||
@@ -67,7 +72,7 @@ target_link_libraries(pico
|
||||
)
|
||||
|
||||
add_custom_command(TARGET pico PRE_BUILD
|
||||
COMMAND ../../system/arm-none-eabi/bin/arm-none-eabi-gcc -g -c ../../assembly/crt0.S -I ../../pico-sdk/src/rp2040/hardware_regs/include -I ../../pico-sdk/src/common/pico_binary_info/include/
|
||||
COMMAND arm-none-eabi-gcc -g -c ../../../assembly/crt0.S -I "${PICO_SDK_PATH}/src/rp2040/hardware_regs/include" -I "${PICO_SDK_PATH}/src/common/pico_binary_info/include/"
|
||||
)
|
||||
|
||||
add_custom_command(TARGET pico POST_BUILD
|
||||
Executable
+45
@@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e # Exit on error
|
||||
|
||||
export PICO_SDK_PATH="$(cd ../../pico-sdk/; pwd)"
|
||||
export PATH="$(cd ../../system/arm-none-eabi/bin; pwd):$PATH"
|
||||
|
||||
rm -rf build
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
make -j
|
||||
mv libpico.a ../../../lib/.
|
||||
mv generated/pico_base/pico/version.h ../../../lib/pico_base/pico/.
|
||||
|
||||
rm -rf boot
|
||||
mkdir boot
|
||||
cd boot
|
||||
mkdir -p pico
|
||||
touch pico/config.h
|
||||
for type in boot2_generic_03h boot2_is25lp080 boot2_w25q080 boot2_w25x10cl; do
|
||||
for div in 2 4; do
|
||||
arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 \
|
||||
-DNDEBUG -DPICO_FLASH_SPI_CLKDIV=$div \
|
||||
-c "$PICO_SDK_PATH/src/rp2_common/boot_stage2/$type.S" \
|
||||
-I "$PICO_SDK_PATH/src/rp2040/hardware_regs/include/" \
|
||||
-I "$PICO_SDK_PATH/src/rp2_common/pico_platform/include/" \
|
||||
-I "$PICO_SDK_PATH/src/rp2_common/boot_stage2/asminclude/" \
|
||||
-I .
|
||||
|
||||
arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 \
|
||||
-DNDEBUG -Wl,--build-id=none --specs=nosys.specs -nostartfiles \
|
||||
-Wl,--script="$PICO_SDK_PATH/src/rp2_common/boot_stage2/boot_stage2.ld" \
|
||||
-Wl,-Map=$type.$div.elf.map $type.o -o $type.$div.elf
|
||||
|
||||
arm-none-eabi-objdump -h $type.$div.elf > $type.$div.dis
|
||||
arm-none-eabi-objdump -d $type.$div.elf >> $type.$div.dis
|
||||
|
||||
arm-none-eabi-objcopy -Obinary $type.$div.elf $type.$div.bin
|
||||
|
||||
python3 "$PICO_SDK_PATH/src/rp2_common/boot_stage2/pad_checksum" \
|
||||
-s 0xffffffff $type.$div.bin ${type}_${div}_padded_checksum.S
|
||||
done
|
||||
done
|
||||
mv *.S ../../../../assembly/.
|
||||
Reference in New Issue
Block a user