You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Mirrors PlatformIO+Teensyduino's SCons builder, which auto-appends the
right libarm_cortex*_math.a to the link command based on MCU. Without
this, FastLED's Ports/PJRCSpectrumAnalyzer (and any Teensy sketch using
Audio.h FFT classes) failed at link with undefined references to
arm_cfft_radix4_q15 / arm_cfft_radix4_init_q15.
Data-driven via a new build.cmsis_dsp_lib field on the board JSONs,
surfaced as BoardConfig.cmsis_dsp_lib and threaded into TeensyLinker.
The bundled archive ships inside the Teensyduino toolchain
(framework-arduinoteensy.../cores/teensy*/), which the linker already
gets via -L<core_dir> through LinkerScripts::single — no extra search
path or download is needed.
Per-MCU mapping populated on the JSONs:
MK20DX128/256 (3.0, 3.1, 3.2) -> arm_cortexM4l_math
MK64FX512 (3.5), MK66FX1M0 (3.6) -> arm_cortexM4lf_math
MKL26Z64 (LC) -> arm_cortexM0l_math
IMXRT1062 (4.0, 4.1, MicroMod) -> arm_cortexM7lfsp_math
The previously-hardcoded -larm_cortexM7lfsp_math entry in
teensy4x.json's mcu config linker_libs is removed; the same library is
now contributed via the data-driven path so teensy40/41/mm all share
the same mechanism as the 3.x family.
Tests:
- fbuild-config: every ARM Teensy board carries the expected
cmsis_dsp_lib, AVR Teensy 2.0/2pp omit it, non-Teensy boards omit
it, env overrides win over the bundled value
- fbuild-build: teensy36 build_link_args() includes
-larm_cortexM4lf_math and -L<core_dir>; the flag is absent when no
lib is configured; mcu_config-level test now asserts each ARM
Teensy board declares its expected library
Refs #300, #257.
0 commit comments