Skip to content

ports/stm32: Update arduino boards config. #15499

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jul 31, 2024

Conversation

iabdalkader
Copy link
Contributor

Summary

  • Remap FMC banks on Arduino boards to support an M4 SDRAM-based firmware.
  • Update Arduino library submodule.

Testing

  • Test the usually Open-AMP examples, additionally Arduino M4 sketch/firmware can now run from SDRAM (the mbed-core still needs some fixes unrelated to micropython).

Copy link

codecov bot commented Jul 19, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 98.43%. Comparing base (70a7e0f) to head (6f27e1c).

Additional details and impacted files
@@           Coverage Diff           @@
##           master   #15499   +/-   ##
=======================================
  Coverage   98.43%   98.43%           
=======================================
  Files         161      161           
  Lines       21281    21281           
=======================================
  Hits        20948    20948           
  Misses        333      333           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

Code size report:

   bare-arm:    +0 +0.000% 
minimal x86:    +0 +0.000% 
   unix x64:    +0 +0.000% standard
      stm32:    +0 +0.000% PYBV10
     mimxrt:    +0 +0.000% TEENSY40
        rp2:    +0 +0.000% RPI_PICO_W
       samd:    +0 +0.000% ADAFRUIT_ITSYBITSY_M4_EXPRESS

Swap FMC banks to remap the SDRAM bank1 address to 0x60000000.  Arduino's
M4 firmware uses address 0x60000000 by default.  When the elf loader tries
to load that it will fail because by default NOR/PSRAM is mapped at that
address, not SDRAM bank1.  (Note that the region at 0xC0000000 has an XN
attribute by default, so switching the M4 firmware address will not work.)

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
@dpgeorge dpgeorge force-pushed the update_arduino_boards branch from e49729a to 6f27e1c Compare July 31, 2024 06:51
@dpgeorge dpgeorge merged commit 6f27e1c into micropython:master Jul 31, 2024
62 of 63 checks passed
@dpgeorge
Copy link
Member

Now merged.

@iabdalkader iabdalkader deleted the update_arduino_boards branch July 31, 2024 08:29
@iabdalkader
Copy link
Contributor Author

Thanks! With this and some other changes to the Arduino side, we're now able to load M4 firmware to SDRAM and have it execute from there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants