From 89bf883f43dd0e265148f718ceb5bc195e14efbc Mon Sep 17 00:00:00 2001
From: Alberto Nidasio <alberto.nidasio@skywarder.eu>
Date: Thu, 20 Apr 2023 01:10:04 +0200
Subject: [PATCH] [MCU] Added support for the new Compute Unit board

---
 .vscode/c_cpp_properties.json | 24 ++++++++++++++++++++++++
 .vscode/settings.json         | 11 +++++++++++
 CMakeLists.txt                | 12 ++++++------
 3 files changed, 41 insertions(+), 6 deletions(-)

diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json
index 11fed75f3..c6fc81a92 100644
--- a/.vscode/c_cpp_properties.json
+++ b/.vscode/c_cpp_properties.json
@@ -222,6 +222,30 @@
                 "${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f769ni_discovery",
                 "${workspaceFolder}/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f769ni_discovery"
             ]
+        },
+        {
+            "name": "stm32f767zi_compute_unit",
+            "cStandard": "c11",
+            "cppStandard": "c++14",
+            "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
+            "defines": [
+                "_MIOSIX_BOARDNAME=stm32f767zi_compute_unit",
+                "_BOARD_STM32F769NI_DISCO",
+                "_ARCH_CORTEXM7_STM32F7",
+                "STM32F769xx",
+                "HSE_VALUE=25000000",
+                "SYSCLK_FREQ_216MHz=216000000",
+                "__ENABLE_XRAM",
+                "_MIOSIX",
+                "DEBUG",
+                "__cplusplus=201402L"
+            ],
+            "includePath": [
+                "${defaultIncludePaths}",
+                "${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
+                "${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f767zi_compute_unit",
+                "${workspaceFolder}/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f767zi_compute_unit"
+            ]
         }
     ],
     "version": 4
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 7bd8637e6..8400d7ce2 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -168,6 +168,7 @@
                 "Fatttr",
                 "fedetft's",
                 "fiprintf",
+                "FMCEN",
                 "FMPIE",
                 "FOVR",
                 "FRLVL",
@@ -185,9 +186,14 @@
                 "GPIOE",
                 "GPIOF",
                 "GPIOG",
+                "GPIOH",
+                "GPIOI",
+                "GPIOJ",
+                "GPIOK",
                 "GPIOS",
                 "gpstr",
                 "Hatt",
+                "HCLK",
                 "HIFCR",
                 "HISR",
                 "hppw",
@@ -225,6 +231,7 @@
                 "MINC",
                 "miosix",
                 "mkdir",
+                "MODER",
                 "mosfet",
                 "mosi",
                 "MPXHZ",
@@ -235,6 +242,7 @@
                 "NDTR",
                 "NGPS",
                 "Nidasio",
+                "NJRST",
                 "NMAG",
                 "NMEA",
                 "NMEKF",
@@ -249,6 +257,7 @@
                 "Pitot",
                 "Plin",
                 "prescaler",
+                "PUPDR",
                 "Qgbw",
                 "Qget",
                 "Qhandle",
@@ -268,6 +277,8 @@
                 "RXNEIE",
                 "sats",
                 "Satt",
+                "SDCLK",
+                "SDCR",
                 "sdio",
                 "SDRAM",
                 "smpr",
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b616d14ad..99553196c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -49,7 +49,7 @@ add_executable(mxgui-helloworld src/entrypoints/examples/mxgui-helloworld.cpp)
 sbs_target(mxgui-helloworld stm32f429zi_stm32f4discovery)
 
 add_executable(kernel-testsuite src/entrypoints/kernel-testsuite.cpp)
-sbs_target(kernel-testsuite stm32f769ni_discovery)
+sbs_target(kernel-testsuite stm32f767zi_compute_unit)
 
 add_executable(runcam-settings src/entrypoints/runcam-settings.cpp)
 sbs_target(runcam-settings stm32f407vg_stm32f4discovery)
@@ -91,7 +91,7 @@ add_executable(test-sensormanager src/tests/test-sensormanager.cpp)
 sbs_target(test-sensormanager stm32f429zi_skyward_death_stack_x)
 
 add_executable(test-serial src/tests/test-serial.cpp)
-sbs_target(test-serial stm32f769ni_discovery)
+sbs_target(test-serial stm32f767zi_compute_unit)
 
 add_executable(test-taskscheduler src/tests/scheduler/test-taskscheduler.cpp)
 sbs_target(test-taskscheduler stm32f407vg_stm32f4discovery)
@@ -238,11 +238,11 @@ sbs_target(test-xbee-snd stm32f429zi_stm32f4discovery)
 add_executable(test-usart src/tests/drivers/usart/test-usart.cpp)
 sbs_target(test-usart stm32f407vg_stm32f4discovery)
 
-add_executable(test-i2c-driver src/tests/drivers/i2c/test-i2c-driver.cpp)
-sbs_target(test-i2c-driver stm32f429zi_stm32f4discovery)
+# add_executable(test-i2c-driver src/tests/drivers/i2c/test-i2c-driver.cpp)
+# sbs_target(test-i2c-driver stm32f429zi_stm32f4discovery)
 
-add_executable(test-i2c src/tests/drivers/i2c/test-i2c.cpp)
-sbs_target(test-i2c stm32f429zi_stm32f4discovery)
+# add_executable(test-i2c src/tests/drivers/i2c/test-i2c.cpp)
+# sbs_target(test-i2c stm32f429zi_stm32f4discovery)
 
 add_executable(test-internal-temp src/tests/drivers/test-internal-temp.cpp)
 sbs_target(test-internal-temp stm32f407vg_stm32f4discovery)
-- 
GitLab