Skip to content
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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
- [ ] ST_STM32F411_DISCOVERY
- [ ] ST_NUCLEO144_F412ZG_NF
- [ ] ST_NUCLEO144_F746ZG
- [ ] ST_NUCLEO144_F767ZI
- [ ] ST_STM32F4_DISCOVERY
- [ ] ST_NUCLEO144_F439ZI
- [ ] WEACT_F411CE
Expand Down
1 change: 1 addition & 0 deletions CMakePresets.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
"ChibiOS/ST_NUCLEO144_F412ZG_NF/CMakePresets.json",
"ChibiOS/ST_NUCLEO144_F439ZI/CMakePresets.json",
"ChibiOS/ST_NUCLEO144_F746ZG/CMakePresets.json",
"ChibiOS/ST_NUCLEO144_F767ZI/CMakePresets.json",
"ChibiOS/ST_STM32F4_DISCOVERY/CMakePresets.json",
"ChibiOS/ST_STM32F411_DISCOVERY/CMakePresets.json",
"ChibiOS/WEACT_F411CE/CMakePresets.json",
Expand Down
51 changes: 51 additions & 0 deletions ChibiOS/ST_NUCLEO144_F767ZI/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#
# Copyright (c) .NET Foundation and Contributors
# See LICENSE file in the project root for full license information.
#

include(binutils.common)
include(binutils.ChibiOS)

nf_setup_target_build(
HAS_NANOBOOTER

BOOTER_LINKER_FILE
STM32F76xx_booter

CLR_LINKER_FILE
STM32F76xx_CLR

CLR_EXTRA_SOURCE_FILES
# the next one is required is the target implements and it's using external memory
${CMAKE_CURRENT_SOURCE_DIR}/target_external_memory.c

BOOTER_EXTRA_LINKMAP_PROPERTIES
",--library-path=${CMAKE_SOURCE_DIR}/targets/ChibiOS/_common,--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x800,--defsym=__crt_heap_size__=0x2000"

CLR_EXTRA_LINKMAP_PROPERTIES
",--library-path=${CMAKE_SOURCE_DIR}/targets/ChibiOS/_common,--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x800,--defsym=__crt_heap_size__=0x3B000"
)

# generate bin file for deployment
if(SRECORD_TOOL_AVAILABLE)

############################################################################################################
## when changing the linker file make sure to update the addresses below with the offset of the CLR image ##
## DO NOT use the leading 0x notation, just the address in plain hexadecimal formating ##
############################################################################################################

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()

endif()
58 changes: 58 additions & 0 deletions ChibiOS/ST_NUCLEO144_F767ZI/CMakePresets.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
{
"version": 4,
"include": [
"../../../CMake/arm-gcc.json",
"../../../config/user-tools-repos.json",
"../../../config/user-prefs.json"
],
"configurePresets": [
{
"name": "ST_NUCLEO144_F767ZI",
"inherits": [
"arm-gcc-cortex-preset",
"user-tools-repos",
"user-prefs"
],
"hidden": false,
"cacheVariables": {
"TARGET_BOARD": "${presetName}",
"RTOS": "ChibiOS",
"TARGET_SERIES": "STM32F7xx",
"CHIBIOS_CONTRIB_REQUIRED": "OFF",
"STM32_CUBE_PACKAGE_REQUIRED": "OFF",
"SUPPORT_ANY_BASE_CONVERSION": "ON",
"NF_FEATURE_DEBUGGER": "ON",
"NF_FEATURE_RTC": "ON",
"NF_FEATURE_HAS_SDCARD": "OFF",
"NF_FEATURE_HAS_CONFIG_BLOCK": "ON",
"SWO_OUTPUT": "OFF",
"NF_BUILD_RTM": "OFF",
"API_System.Math": "ON",
"API_Hardware.Stm32": "ON",
"API_System.Device.Gpio": "ON",
"API_System.Device.Spi": "ON",
"API_System.Device.I2c": "ON",
"API_System.Device.Pwm": "ON",
"API_System.IO.Ports": "ON",
"API_System.Device.Adc": "ON",
"API_System.Device.Dac": "OFF",
"API_System.Net": "ON",
"API_nanoFramework.Device.OneWire": "OFF",
"API_nanoFramework.Device.Can": "ON",
"API_nanoFramework.ResourceManager": "ON",
"API_nanoFramework.System.Collections": "ON",
"API_nanoFramework.System.Text": "ON",
"API_Windows.Storage": "OFF",
"API_nanoFramework.Graphics": "OFF"
}
}
],
"buildPresets": [
{
"inherits": "base-user",
"name": "ST_NUCLEO144_F767ZI",
"displayName": "ST_NUCLEO144_F767ZI",
"configurePreset": "ST_NUCLEO144_F767ZI"
}
]
}
11 changes: 11 additions & 0 deletions ChibiOS/ST_NUCLEO144_F767ZI/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## Configuration of ChibiOS, HAL and MCU

For a successful build the following changes are required:

For memory maps, uuid etc. the reference document used was: http://www.st.com/content/ccc/resource/technical/document/reference_manual/group0/96/8b/0d/ec/16/22/43/71/DM00224583/files/DM00224583.pdf/jcr:content/translations/en.DM00224583.pdf

For port maps:
https://www.st.com/resource/en/user_manual/um1974-stm32-nucleo144-boards-mb1137-stmicroelectronics.pdf

NOTE: this configuration was successfully tested in an ST_NUCLEO144_F767ZI board using the Serial port through the onboard ST Link USB connection.

Loading