-
-
Notifications
You must be signed in to change notification settings - Fork 33
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
Adds ST_NUCLEO144_F767ZI #226
base: main
Are you sure you want to change the base?
Conversation
@networkfusion do you still want to move this PR forward? It's open for more than 1.5 years :-) |
I think so, but need to dig out the board again 😅 |
Warning Rate limit exceeded@networkfusion has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 13 minutes and 11 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (1)
WalkthroughThis pull request integrates support for the ST_NUCLEO144_F767ZI board into the ChibiOS project. New CMake configurations, presets, and CMakeLists files for board-specific targets (including nanoBooter and nanoCLR) have been added. Debug configurations and a dedicated Azure Pipelines job have been introduced to manage the build and debugging processes for the new hardware configuration. Changes
Sequence Diagram(s)sequenceDiagram
participant P as Azure Pipeline (Build_ST_NUCLEO144_F767ZI)
participant C as Code Checkout
participant M as CMake (Configuration)
participant B as Build System
participant X as Package Manager
P->>C: Checkout source code & templates
C->>M: Provide CMake presets and CMakeLists files
M->>B: Execute build configuration (nf_setup_target_build)
B->>M: Process build type (Debug/RelWithDebInfo)
B->>X: Invoke nf_generate_bin_package
X->>P: Publish binaries and artifacts
sequenceDiagram
participant D as Debugger
participant L as launch.json Config
participant T as Target Board
D->>L: Read debug configuration (nanoBooter/nanoCLR)
L->>T: Connect via OpenOCD with flash and reset commands
T-->>D: Establish debug session
Suggested reviewers
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🔭 Outside diff range comments (2)
azure-pipelines.yml (2)
1434-1453
: 🛠️ Refactor suggestionAdd ST_NUCLEO144_F767ZI to build failure reporting dependencies.
The new job
Build_ST_NUCLEO144_F767ZI
should be added to the list of dependencies for the build failure reporting job.Add the following line to the list of dependencies:
dependsOn: - Build_MBN_QUAIL - Build_BrainPad2 - Build_GHI_FEZ_CERB40_NF - Build_I2M_ELECTRON_NF - Build_I2M_OXYGEN_NF - Build_WEACT_F411CE - Build_ST_NUCLEO64_F401RE_NF - Build_ST_NUCLEO64_F411RE_NF - Build_ST_STM32F411_DISCOVERY - Build_ST_NUCLEO144_F412ZG_NF - Build_ST_NUCLEO144_F746ZG - Build_ST_STM32F4_DISCOVERY - Build_ST_NUCLEO144_F439ZI - Build_TI_CC1352P1_LAUNCHXL_868 - Build_TI_CC1352P1_LAUNCHXL_915 - Build_PybStick2x - Build_LilygoTWatch2020 - Build_LilygoTWatch2021 - Build_NETDUINO3_WIFI + - Build_ST_NUCLEO144_F767ZI
🧰 Tools
🪛 YAMLlint (1.35.1)
[warning] 1435-1435: wrong indentation: expected 4 but found 2
(indentation)
1457-1476
: 🛠️ Refactor suggestionAdd ST_NUCLEO144_F767ZI to build failure conditions.
The new job
Build_ST_NUCLEO144_F767ZI
should be added to the list of conditions for the build failure reporting job.Add the following line to the list of conditions:
condition: >- or( failed('Build_MBN_QUAIL'), failed('Build_BrainPad2'), failed('Build_GHI_FEZ_CERB40_NF'), failed('Build_I2M_ELECTRON_NF'), failed('Build_I2M_OXYGEN_NF'), failed('Build_WEACT_F411CE'), failed('Build_ST_NUCLEO64_F401RE_NF'), failed('Build_ST_NUCLEO64_F411RE_NF'), failed('Build_ST_STM32F411_DISCOVERY'), failed('Build_ST_NUCLEO144_F412ZG_NF'), failed('Build_ST_NUCLEO144_F746ZG'), failed('Build_ST_STM32F4_DISCOVERY'), failed('Build_ST_NUCLEO144_F439ZI'), failed('Build_TI_CC1352P1_LAUNCHXL_868'), failed('Build_TI_CC1352P1_LAUNCHXL_915'), failed('Build_PybStick2x'), failed('Build_LilygoTWatch2020'), failed('Build_LilygoTWatch2021'), failed('Build_NETDUINO3_WIFI') + failed('Build_ST_NUCLEO144_F767ZI') )
🧰 Tools
🪛 YAMLlint (1.35.1)
[error] 1463-1463: trailing spaces
(trailing-spaces)
[error] 1476-1476: trailing spaces
(trailing-spaces)
🧹 Nitpick comments (2)
ChibiOS/ST_NUCLEO144_F767ZI/CMakeLists.txt (1)
37-49
: Remove duplicated binary package generation code.The binary package generation code is identical for both Debug/RelWithDebInfo and other build types. The conditional block can be simplified.
Apply this diff to remove the duplication:
- if(CMAKE_BUILD_TYPE MATCHES Debug OR CMAKE_BUILD_TYPE MATCHES RelWithDebInfo) - nf_generate_bin_package( - ${CMAKE_SOURCE_DIR}/build/${NANOBOOTER_PROJECT_NAME}.bin - ${CMAKE_SOURCE_DIR}/build/${NANOCLR_PROJECT_NAME}.bin - 10000 - ${CMAKE_SOURCE_DIR}/build/nanobooter-nanoclr.bin) - else() - nf_generate_bin_package( - ${CMAKE_SOURCE_DIR}/build/${NANOBOOTER_PROJECT_NAME}.bin - ${CMAKE_SOURCE_DIR}/build/${NANOCLR_PROJECT_NAME}.bin - 10000 - ${CMAKE_SOURCE_DIR}/build/nanobooter-nanoclr.bin) - endif() + nf_generate_bin_package( + ${CMAKE_SOURCE_DIR}/build/${NANOBOOTER_PROJECT_NAME}.bin + ${CMAKE_SOURCE_DIR}/build/${NANOCLR_PROJECT_NAME}.bin + 10000 + ${CMAKE_SOURCE_DIR}/build/nanobooter-nanoclr.bin)azure-pipelines.yml (1)
923-924
: Fix formatting issues.There are indentation and trailing spaces issues in the file:
- Line 923: Remove trailing spaces
- Line 924: Fix indentation (should be 4 spaces)
- Line 932: Remove trailing spaces
- Line 941: Fix indentation (should be 4 spaces)
Apply this diff to fix the formatting:
- dependsOn: - - Check_Code_Style + dependsOn: + - Check_Code_Style - pool: + pool:Also applies to: 932-932, 941-941
🧰 Tools
🪛 YAMLlint (1.35.1)
[error] 923-923: trailing spaces
(trailing-spaces)
[warning] 924-924: wrong indentation: expected 4 but found 2
(indentation)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (51)
.github/PULL_REQUEST_TEMPLATE.md
is excluded by!**/*.md
and included by noneChibiOS/ST_NUCLEO144_F767ZI/README.md
is excluded by!**/*.md
and included by noneChibiOS/ST_NUCLEO144_F767ZI/board.c
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/board.h
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/common/Device_BlockStorage-DEBUG.c
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/common/Device_BlockStorage.c
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/common/serialcfg.h
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/common/targetHAL_ConfigurationManager.cpp
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/managed_helpers/README.md
is excluded by!**/*.md
and included by noneChibiOS/ST_NUCLEO144_F767ZI/managed_helpers/ST_NUCLEO144_F767ZI.Adc.cs
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/managed_helpers/package.nuspec
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/mbedtls_config.h
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/nanoBooter/STM32F76xx_booter-DEBUG.ld
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/nanoBooter/STM32F76xx_booter.ld
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/nanoBooter/chconf.h
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/nanoBooter/halconf.h
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/nanoBooter/halconf_nf.h
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/nanoBooter/main.c
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/nanoBooter/mcuconf.h
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/nanoBooter/mcuconf_nf.h
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/nanoBooter/target_board.h.in
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/nanoCLR/STM32F76xx_CLR-DEBUG.ld
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/nanoCLR/STM32F76xx_CLR.ld
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/nanoCLR/chconf.h
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/nanoCLR/halconf.h
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/nanoCLR/halconf_nf.h
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/nanoCLR/main.c
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/nanoCLR/mcuconf.h
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/nanoCLR/mcuconf_nf.h
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/nanoCLR/nanoHAL.cpp
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/nanoCLR/target_board.h.in
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/stm32f7xx_hal_conf.h
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/target_BlockStorage.c
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/target_BlockStorage.h
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/target_common.c
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/target_common.h.in
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/target_external_memory.c
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/target_lwip_sntp_opts.h
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/target_lwipopts.h
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/target_nf_dev_onewire_config.cpp
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/target_nf_dev_onewire_config.h
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/target_nf_device_can_config.cpp
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/target_nf_device_can_config.h
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/target_system_device_adc_config.cpp
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/target_system_device_dac_config.cpp
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/target_system_device_i2c_config.cpp
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/target_system_device_pwm_config.cpp
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/target_system_device_spi_config.cpp
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/target_system_io_ports_config.cpp
is excluded by none and included by noneChibiOS/ST_NUCLEO144_F767ZI/target_system_io_ports_config.h
is excluded by none and included by noneREADME.md
is excluded by!**/*.md
and included by none
📒 Files selected for processing (8)
CMakePresets.json
(1 hunks)ChibiOS/ST_NUCLEO144_F767ZI/CMakeLists.txt
(1 hunks)ChibiOS/ST_NUCLEO144_F767ZI/CMakePresets.json
(1 hunks)ChibiOS/ST_NUCLEO144_F767ZI/common/CMakeLists.txt
(1 hunks)ChibiOS/ST_NUCLEO144_F767ZI/launch.json
(1 hunks)ChibiOS/ST_NUCLEO144_F767ZI/nanoBooter/CMakeLists.txt
(1 hunks)ChibiOS/ST_NUCLEO144_F767ZI/nanoCLR/CMakeLists.txt
(1 hunks)azure-pipelines.yml
(1 hunks)
✅ Files skipped from review due to trivial changes (3)
- CMakePresets.json
- ChibiOS/ST_NUCLEO144_F767ZI/nanoBooter/CMakeLists.txt
- ChibiOS/ST_NUCLEO144_F767ZI/nanoCLR/CMakeLists.txt
🧰 Additional context used
🪛 YAMLlint (1.35.1)
azure-pipelines.yml
[error] 923-923: trailing spaces
(trailing-spaces)
[warning] 924-924: wrong indentation: expected 4 but found 2
(indentation)
[error] 932-932: trailing spaces
(trailing-spaces)
[warning] 941-941: wrong indentation: expected 4 but found 2
(indentation)
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: Community-Targets (Check_Code_Style)
- GitHub Check: Community-Targets (Check_Build_Options)
- GitHub Check: Community-Targets (Get_Commit_Message)
🔇 Additional comments (3)
ChibiOS/ST_NUCLEO144_F767ZI/CMakePresets.json (1)
1-58
: LGTM!The CMake presets configuration is well-structured and correctly configures all necessary settings for the ST_NUCLEO144_F767ZI board.
ChibiOS/ST_NUCLEO144_F767ZI/launch.json (2)
43-43
: Verify OpenOCD configuration file.The current configuration uses
stm32f769i-disco.cfg
, but this is for the F769I board. Consider using a configuration file specific to the F767ZI board.Please verify if
stm32f769i-disco.cfg
is compatible with the ST_NUCLEO144_F767ZI board or if a more appropriate configuration file should be used.
8-9
: Replace placeholder paths.The configuration contains placeholder paths that need to be replaced with actual paths:
<absolute-path-to-the-toolchain-folder-mind-the-forward-slashes>
<path-to-the-repo-root-mind-the-forward-slash>
Please ensure these placeholder paths are replaced with actual paths before using the launch configuration.
Also applies to: 23-24, 26-27
from all targets
step forward by commits history
next step forward -2024-03-14
next step forward 2024-07-29
next step forward 2024-07-30
next step forward 2025-01-30
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🔭 Outside diff range comments (1)
azure-pipelines.yml (1)
1415-1434
:⚠️ Potential issueAdd ST_NUCLEO144_F767ZI to build failure reporting.
The new job needs to be added to the Report_Build_Failure job's dependencies to ensure build failures are properly reported.
Add the new job to the dependencies:
dependsOn: - Build_MBN_QUAIL - Build_BrainPad2 - Build_GHI_FEZ_CERB40_NF - Build_I2M_ELECTRON_NF - Build_I2M_OXYGEN_NF - Build_WEACT_F411CE - Build_ST_NUCLEO64_F401RE_NF - Build_ST_NUCLEO64_F411RE_NF - Build_ST_STM32F411_DISCOVERY - Build_ST_NUCLEO144_F412ZG_NF - Build_ST_NUCLEO144_F746ZG + - Build_ST_NUCLEO144_F767ZI - Build_ST_STM32F4_DISCOVERY
Also add the job to the failure condition:
condition: >- or( failed('Build_MBN_QUAIL'), failed('Build_BrainPad2'), failed('Build_GHI_FEZ_CERB40_NF'), failed('Build_I2M_ELECTRON_NF'), failed('Build_I2M_OXYGEN_NF'), failed('Build_WEACT_F411CE'), failed('Build_ST_NUCLEO64_F401RE_NF'), failed('Build_ST_NUCLEO64_F411RE_NF'), failed('Build_ST_STM32F411_DISCOVERY'), failed('Build_ST_NUCLEO144_F412ZG_NF'), failed('Build_ST_NUCLEO144_F746ZG'), + failed('Build_ST_NUCLEO144_F767ZI'), failed('Build_ST_STM32F4_DISCOVERY'),
🧰 Tools
🪛 YAMLlint (1.35.1)
[warning] 1416-1416: wrong indentation: expected 4 but found 2
(indentation)
🧹 Nitpick comments (1)
azure-pipelines.yml (1)
911-915
: Fix indentation for consistency.The indentation should be 4 spaces instead of 2 spaces to match the rest of the file.
Apply this diff to fix the indentation:
- dependsOn: - - Check_Code_Style + dependsOn: + - Check_Code_Style - pool: - vmImage: 'windows-latest' + pool: + vmImage: 'windows-latest'🧰 Tools
🪛 YAMLlint (1.35.1)
[error] 911-911: trailing spaces
(trailing-spaces)
[warning] 912-912: wrong indentation: expected 4 but found 2
(indentation)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
ChibiOS/ST_NUCLEO144_F767ZI/CMakePresets.json
(1 hunks)ChibiOS/ST_NUCLEO144_F767ZI/common/CMakeLists.txt
(1 hunks)azure-pipelines.yml
(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
- ChibiOS/ST_NUCLEO144_F767ZI/common/CMakeLists.txt
- ChibiOS/ST_NUCLEO144_F767ZI/CMakePresets.json
🧰 Additional context used
🪛 YAMLlint (1.35.1)
azure-pipelines.yml
[error] 911-911: trailing spaces
(trailing-spaces)
[warning] 912-912: wrong indentation: expected 4 but found 2
(indentation)
[error] 920-920: trailing spaces
(trailing-spaces)
[warning] 928-928: wrong indentation: expected 4 but found 2
(indentation)
⏰ Context from checks skipped due to timeout of 90000ms (4)
- GitHub Check: Community-Targets (Build_ST_NUCLEO144_F767ZI)
- GitHub Check: Community-Targets (Check_Code_Style)
- GitHub Check: Community-Targets (Check_Build_Options)
- GitHub Check: Community-Targets (Get_Commit_Message)
🔇 Additional comments (2)
azure-pipelines.yml (2)
898-909
: LGTM! The job condition is consistent with other jobs.The condition block correctly checks for the target board in commit messages and build variables, following the established pattern in the pipeline.
927-949
: LGTM! The build steps are consistent with other STM32 jobs.The job correctly uses all the required templates for building STM32 targets, including:
- Clone and build preparations
- Git versioning
- ARM GCC toolchain and Ninja installation
- Build, package and publish steps
🧰 Tools
🪛 YAMLlint (1.35.1)
[warning] 928-928: wrong indentation: expected 4 but found 2
(indentation)
(just incase).
steped the commits forward to match the repo changes. (untested on the target for the moment). |
Description
Adds new firmware for - ST_NUCLEO144_F767ZI
Replaces nanoframework/nf-interpreter#2762 (apart from pwm config nanoframework/nf-interpreter#2804)
Targets affected
Motivation and Context
Adds new target
How Has This Been Tested?
Types of changes
Checklist:
Summary by CodeRabbit
New Features
Bug Fixes