turbo: SAMD21 boards loader enable native .mpy default - #11397
Closed
mikeysklar wants to merge 1 commit into
Closed
mikeysklar wants to merge 1 commit into
mikeysklar wants to merge 1 commit into
Conversation
Turn on CIRCUITPY_LOAD_NATIVE for SAMD21 boards. It fits on 25 of them. The other fifty have too little flash to spare and opt out in their own mpconfigboard.mk: adafruit_trrs_trinkey_m0, arduino_mkr1300, arduino_mkrzero, arduino_nano_33_iot, arduino_zero, bast_pro_mini_m0, catwan_usbstick, circuitbrains_basic_m0, circuitplayground_express_displayio, cp_sapling_m0, cp_sapling_m0_revb, datum_distance, datum_imu, datum_light, datum_weather, dynossat_edu_eps, escornabot_makech, feather_m0_adalogger, feather_m0_basic, feather_m0_express, feather_m0_rfm69, feather_m0_rfm9x, feather_m0_supersized, fluff_m0, gemma_m0, huntercat_nfc, itsybitsy_m0_express, meowmeow, metro_m0_express, ndgarage_ndbit6, ndgarage_ndbit6_v2, pewpew_lcd, pewpew10, picoplanet, pyruler, qtpy_m0, qtpy_m0_haxpress, seeeduino_xiao, sensebox_mcu, shirtty, snekboard, sparkfun_qwiic_micro_no_flash, sparkfun_redboard_turbo, sparkfun_samd21_dev, sparkfun_samd21_mini, stackrduino_m0_pro, stringcar_m0_express, trinket_m0, trinket_m0_haxpress, uchip Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Collaborator
|
Closing this for now. We can revisit whether native .mpy loading makes sense on certain SAMD21 boards despite the limited RAM. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Enables the turbo loader (
CIRCUITPY_LOAD_NATIVE) by default on SAMD21.25 of 75 boards fit. The other 50 opt out in
mpconfigboard.mk.Follows #11332, #11355, #11356 and #11360.
How I tested it
Hardware ran
10.4.0-alpha.1-30-g5762872053on an Ubuntu host..mpy, 4 KB buffer.mpyvs@native.mpy@micropython.viperin sourceSyntaxError.mpyValueError: incompatible .mpy archMetro M0 Express opts out. It ran an
en_USbuild with the loader forced on (416 B free).vsum used a 4 KB buffer, since 25.6 KB does not fit in 32 KB RAM. Medians of 5 runs.
Boards were picked from main's Build CI flash free bytes at
82b255fe56, all languages. The loader costs about 1.9 KB.adafruit_proxlight_trinkey_m0ruadafruit_pixel_trinkey_m0ruhallowing_m0_expressde_DE50 opt-outs, flash free on main without the loader
catwan_usbstickrusensebox_mcurudynossat_edu_epsde_DEpewpew10rucircuitplayground_express_displayiode_DEstringcar_m0_expressde_DEescornabot_makechrumeowmeowrufeather_m0_rfm9xrucp_sapling_m0rubast_pro_mini_m0rufeather_m0_rfm69rucircuitbrains_basic_m0de_DEstackrduino_m0_prode_DEpicoplanetrugemma_m0rufeather_m0_supersizedde_DEfeather_m0_expressde_DEfluff_m0ruadafruit_trrs_trinkey_m0rushirttyruarduino_nano_33_iotrutrinket_m0rumetro_m0_expressde_DEdatum_lightrudatum_weatherrusparkfun_redboard_turbode_DEdatum_distanceruitsybitsy_m0_expressde_DEsparkfun_qwiic_micro_no_flashrundgarage_ndbit6_v2rucp_sapling_m0_revbruuchiprusnekboardde_DEhuntercat_nfcde_DEqtpy_m0rundgarage_ndbit6rusparkfun_samd21_minirufeather_m0_basicrupyrulerrutrinket_m0_haxpressde_DEseeeduino_xiaoruarduino_mkrzerorudatum_imurusparkfun_samd21_devruqtpy_m0_haxpressde_DEarduino_mkr1300ruarduino_zerorufeather_m0_adaloggerrupewpew_lcdde_DEAI assistance
Claude Code was used.