Skip to content

Added .dma_buffer to bypass DTCM#291

Open
MasterUser43 wants to merge 7 commits into
mainfrom
feat/add-DMA-linker
Open

Added .dma_buffer to bypass DTCM#291
MasterUser43 wants to merge 7 commits into
mainfrom
feat/add-DMA-linker

Conversation

@MasterUser43

Copy link
Copy Markdown

Description

This PR updates the STM32H7 linker script (LinkerScript.ld) to define a .dma_buffer section allocated in the RAM_D2 memory.

This change is required because the STM32H7's DTCM RAM is unreachable by the DMA1 and DMA2 controllers.

Honestly, this is more as a reminder in the future for proper IMU function Rev 3.

Issue Link

Child PR, Parent PR: link

Testing

  • Passes existing unit tests
  • Unit tests modified
  • Integration test performed

If a non-automated test was executed that provides an artifact, please attach below (e.g. flash extract data).

Other

Leave any additional notes here

Reviewer Checklist

Standards

  • Follows FCF Architectural Standards
  • Follows SDR Coding Standards
  • Code complexity/function Size is minimized
  • Code is testable
  • Code is readable and commented properly
  • License terms are respected

Accuracy

  • Code implements the correct requirement (a.k.a. does the right thing)
  • Code is logically correct (a.k.a. does the thing right)

Error Handling

  • Potentially unsafe functions return a status code
  • Error returns properly handled
  • Fail-fast errors are only thrown when unsafe to continue software execution
  • Debug errors are thrown for exceptions where execution should still continue (to be noticed during development)

Memory

  • Stack allocated memory is scoped correctly
  • Heap allocated memory is not used
  • Statically/Globally allocated memory is minimized except when necessary
  • Pointers are used correctly
  • Concurrent access has been considered (especially by/from interrupt service routines)

Performance

  • Rate limiters are respected
  • Busy waiting is avoided in performance sensitive code
  • "Delay" calls are not used in performance sensitive code
  • If performance is negatively impacted, a justification is provided and the impact is quantified

@ETSells

ETSells commented Jun 20, 2026

Copy link
Copy Markdown
Member

Please pull up the driver and lib submodule pointers so I can see the CI results after all three PRs.

@ETSells

ETSells commented Jun 24, 2026

Copy link
Copy Markdown
Member

CI fails associated with this PR appear to be due to a mismatch between the base versions of FCF and driver (e.g. driver is older than FCF & mod and does not supply a utility that FCF is expecting). Recommend either rebasing against the tip of main on each of your branches OR merging the tip of main into each of your branches.

Referencing: https://github.com/SunDevilRocketry/Flight-Computer-Firmware/actions/runs/28071241931/job/83106046527?pr=291

@MasterUser43

Copy link
Copy Markdown
Author

This is what I get for moving from laptop to laptop to computer repos.

Still await slightly more changes w/ IMU, should at bare, compile with rev3.
make -j$(nproc)

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants