5d2b60cbf6
This switches stage2 to C and uses Jinja to change the C code based on flash settings from https://github.com/adafruit/nvm.toml. It produces the fastest settings for the given set of external flashes. Flash size is no longer hard coded so switching flashes with similar capabilities but different sizes should *just work*. This PR also places "ITCM" code in RAM to save the XIP cache for code execution. Further optimization is possible. A blink code.py still requires a number of flash fetches every blink. Fixes #4041
60 lines
1.3 KiB
Makefile
60 lines
1.3 KiB
Makefile
# Define an equivalent for MICROPY_LONGINT_IMPL, to pass to $(MPY-TOOL) in py/mkrules.mk
|
|
# $(MPY-TOOL) needs to know what kind of longint to use (if any) to freeze long integers.
|
|
# This should correspond to the MICROPY_LONGINT_IMPL definition in mpconfigport.h.
|
|
|
|
ifeq ($(LONGINT_IMPL),NONE)
|
|
MPY_TOOL_LONGINT_IMPL = -mlongint-impl=none
|
|
endif
|
|
|
|
ifeq ($(LONGINT_IMPL),MPZ)
|
|
MPY_TOOL_LONGINT_IMPL = -mlongint-impl=mpz
|
|
endif
|
|
|
|
ifeq ($(LONGINT_IMPL),LONGLONG)
|
|
MPY_TOOL_LONGINT_IMPL = -mlongint-impl=longlong
|
|
endif
|
|
|
|
# All raspberrypi ports have longints.
|
|
LONGINT_IMPL = MPZ
|
|
|
|
ifndef CIRCUITPY_RP2PIO
|
|
CIRCUITPY_RP2PIO = 1
|
|
else
|
|
CIRCUITPY_NEOPIXEL_WRITE = 0
|
|
endif
|
|
|
|
CIRCUITPY_FRAMEBUFFERIO = 1
|
|
CIRCUITPY_FULL_BUILD = 1
|
|
CIRCUITPY_AUDIOMP3 ?= 1
|
|
CIRCUITPY_BITOPS = 1
|
|
CIRCUITPY_PWMIO = 1
|
|
CIRCUITPY_RGBMATRIX = 1
|
|
CIRCUITPY_ROTARYIO = 1
|
|
|
|
# Things that need to be implemented.
|
|
# Use PWM interally
|
|
CIRCUITPY_FREQUENCYIO = 0
|
|
CIRCUITPY_I2CPERIPHERAL = 0
|
|
CIRCUITPY_NVM = 1
|
|
# Use PIO interally
|
|
CIRCUITPY_PULSEIO = 1
|
|
CIRCUITPY_WATCHDOG = 1
|
|
|
|
# Audio via PWM
|
|
CIRCUITPY_AUDIOIO = 0
|
|
CIRCUITPY_AUDIOBUSIO ?= 1
|
|
CIRCUITPY_AUDIOCORE ?= 1
|
|
CIRCUITPY_AUDIOPWMIO ?= 1
|
|
|
|
# These libraries require Cortex M4+ for fancy math instructions.
|
|
CIRCUITPY_AUDIOMIXER ?= 0
|
|
|
|
INTERNAL_LIBM = 1
|
|
|
|
USB_SERIAL_NUMBER_LENGTH = 16
|
|
|
|
# Number of USB endpoint pairs.
|
|
USB_NUM_EP = 8
|
|
|
|
INTERNAL_FLASH_FILESYSTEM = 1
|