Uh oh!
There was an error while loading. Please reload this page.
feat(stm32f767zi): refactor BSP and add NetX Duo Echo demo - #39
Merged
Conversation
fdesbiens
approved these changes
Jun 19, 2026
Uh oh!
There was an error while loading. Please reload this page.
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 freeto 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.
PR: Refactor BSP for Multi-Demo Support, Update SDK Fetchers, and Add NetX Duo TCP Echo Demo
This PR introduces a scalable multi-demo build architecture for the STM32F767ZI-Nucleo board package, updates the SDK fetch scripts, and adds a dynamic NetX Duo TCP Echo Server demo. These changes build upon the previously integrated basic ThreadX demo.
1. BSP Restructuring & Scalable Demo Architecture
board_init.c/handstm32f7xx_hal_msp.c) were refactored into a separate, static BSP library target (board_bsp).main.c) were stripped of low-level hardware initializations, which are now handled automatically inside the BSP target.ACTIVE_DEMOCMake configuration variable (currently supportingnetx_echoandthreadx_basic).2. Updated SDK Fetch Scripts & Ignores
scripts/fetch_sdk.ps1andscripts/fetch_sdk.shwere updated to clone and extract the stock STMicroelectronics Ethernet and PHY drivers from thex-cube-azrtos-f7repository dynamically during setup..gitignorerules were updated to ignore the dynamically fetched external SDK directories (lib/stm32cubef7/andlib/netxduo/) to keep the repository clean.3. Low-Level Hardware & Middleware Integration
128 KBblock of SRAM2 (from0x20060000) as non-cacheable and non-bufferable. Linker scriptSTM32F767ZITx_FLASH.ldwas updated to place Ethernet DMA descriptors and the NetX packet pool in this section to ensure cache coherence.HAL_GetTick()was modified to poll the SysTick hardware timer register (SysTick->VAL) directly before the scheduler starts. This allows standardHAL_Delay()to function correctly during boot-time without using interrupts, replacing custom software delays.lib/netxduo/were reverted to their unmodified stock ST templates.4. NetX Echo Demo (
app/demos/netx_echo/)192.168.0.100) is assigned.test_echo_simple.ps1for Windows,test_echo_simple.shfor Linux) were added to the demo directory.5. Verification
netx_echoandthreadx_basicbuild and compile successfully with zero errors.