arduino-pico/tools
Earle F. Philhower, III e7a23550ce
Update to GCC 14.3, Newlib 4.5.0 (#2975)
Moves to just released GCC 14.3

Moves to full-fat printf/scanf because Newlib no longer supports all the
calls libstdc++ requires with the older, smaller, nano-formatted-io option.

Moves to latest SDK develop branch with important float acceleration fixes
for the RP2350, among other updates.

Moves to latest pioasm, picotool develop branches

* SDK was refactored, update the includes
* Rebuild PicoSDK and BearSSL libs
* Update certs in BSSL validation example
* Don't spell check the certs!
* Updated tools with full fat++ newlib printf/scanf
2025-06-12 10:54:37 -07:00
..
json Mark all boards as picosdk compatible in PlatformIO board definition (#2980) 2025-05-31 12:19:21 -07:00
libbearssl Update to GCC 14.3, Newlib 4.5.0 (#2975) 2025-06-12 10:54:37 -07:00
libpico Update to GCC 14.3, Newlib 4.5.0 (#2975) 2025-06-12 10:54:37 -07:00
pyserial@0e76347475 Adjust directories for cleaner use w/Arduino 2021-03-17 08:33:51 -07:00
build.py Enable gprof onboard profiling (#2669) 2024-12-05 17:30:45 -08:00
espota.py Add OTA update support (#711) 2022-08-12 00:26:51 -07:00
get.py GCC to 12.4, Newlib to 4.3.0, faster RP2350 libs (#2480) 2024-09-19 17:03:23 -07:00
makeboards.py Mark all boards as picosdk compatible in PlatformIO board definition (#2980) 2025-05-31 12:19:21 -07:00
makepacer.cpp Generate PWMAudio pacer frequencies for 176/276MHz (#2913) 2025-04-17 08:21:14 -07:00
makepio.py Add PIO.h header verification to CI (#2911) 2025-04-16 14:56:31 -07:00
makever.py Add WiFiClientSecure and WifiServerSecure (TLS) support, NTP (#683) 2022-07-18 20:24:11 -07:00
platformio-build.py Update to GCC 14.3, Newlib 4.5.0 (#2975) 2025-06-12 10:54:37 -07:00
pluggable_discovery.py Redo UF2 discovery for Windows compatibility (#2853) 2025-03-14 10:08:37 -07:00
README.md Update tools README.md 2025-04-17 07:04:26 -07:00
signing.py Add OTA update support (#711) 2022-08-12 00:26:51 -07:00
simplesub.py Adafruit Feather, overclocking, flash FS shims 2021-03-28 10:56:53 -07:00
tzupdate.sh Add TZ.h database, borrowed from ESP8266 core (#1947) 2024-01-20 15:57:15 -08:00
uf2conv.py Make Python3 re.split() use a r-string (#1985) 2024-02-06 09:49:45 -08:00

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 existence 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. 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.

makepacer.cpp

Generates ``libraries/PWMAudio/src/PWMAudioPrecalc.h` which contains the precalculated DMA pacer settings for common audio sample rates and CPU frequencies. Makes setting the frequency for PWMAudio instantaneous.

makepio.py

Rebuilds all the *.pio files in the core and libraries using the currently installed pioasm. Use when a new PIOASM is available.

makever.py

Updates the version info prior to a release in platform.txt, package.json, and the version header. Run from root of the repo.

libpico/make-libpico.sh

Builds the libpico.a file as well as the bootloader stage2 binaries. Run whenever the pico-sdk is updated.