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
Related To Issue: N/A
What's Wrong:
* The target application nucleo-demo was experiencing boot-time UsageFault exceptions on the STM32H753ZI target because the D-Cache was disabled without being cleaned/invalidated first, and enabled without invalidating power-on garbage.
* Cortex host unit test was failing to link because the MODULES cortex dependency was incorrectly specified, and the global jarnax::GetContext() was undefined in the unit test binary.
How Was it Fixed (if not obvious):
* Implemented proper set/way-based instruction and data cache maintenance operations (enable, disable, invalidate, clean, flush) for Cortex-M7 in modules/cortex/source/cache.cpp.
* Restructured the cortex unit test dependencies in CMakeLists.txt and included TestContext.hpp in gtest-cache.cpp to stub the global context.
* Created a lightweight Python-based MCP server wrapper (mcp_server.py) and README documentation for J-Link target debugging utilities.
What side effects does this have (could be none):
* None.
Which builds did you run to make sure they build?
[x] arm-none-eabi-gcc Cortex M4
[x] arm-none-eabi-gcc Cortex M7
[x] (Apple) Native Clang
[x] (Apple) Homebrew GCC
[x] (Apple) Homebrew LLVM
How Do We Know and Can Show It's Fixed:
* Cortex unit test `test-cortex-googletest-basic-nucleo_h753zi` successfully links and passes all test assertions for cache operations on the host.
* Target cross compilation of the nucleo-demo application compiles and links successfully with no compiler warnings.
Which Unittest Series did you Check?
[ ] (Apple) Native Clang
[ ] (Apple) Homebrew GCC
[x] (Apple) Homebrew LLVM
Did this affect any on-target builds? If so which were tested?
[ ] STM32F407VE board
[x] STM32H753ZI board
[AI work: Implemented Cortex-M7 cache operations in cache.cpp, created cache unit tests, fixed CMakeLists.txt linking errors, resolved the undefined Jarnax context reference, wrote the pylink MCP server tool, and updated README.md documentation. Human work: Directed tool consolidation, reviewed cache operations, and performed the commit/rebase operations.]
0 commit comments