diff --git a/resources/I-CUBE-Mongoose/Cesanta.I-CUBE-Mongoose.pdsc b/resources/I-CUBE-Mongoose/Cesanta.I-CUBE-Mongoose.pdsc
index ca4fffd5..b0a1d4e8 100644
--- a/resources/I-CUBE-Mongoose/Cesanta.I-CUBE-Mongoose.pdsc
+++ b/resources/I-CUBE-Mongoose/Cesanta.I-CUBE-Mongoose.pdsc
@@ -18,11 +18,6 @@
CUBE_RULES_COMPLIANT
IMPLEMENTED_WITH_STM32CUBEMX
-
-
-
-
-
Networking Core
diff --git a/resources/downloads/Makefile b/resources/downloads/Makefile
index 950dc6af..bd5f2284 100644
--- a/resources/downloads/Makefile
+++ b/resources/downloads/Makefile
@@ -1,14 +1,15 @@
TOP ?= ../..
-ST_TARGETS = nucleo_h723zg nucleo_f756zg nucleo_h563zi
-# ST_TARGETS = $(subst .ioc,,$(wildcard *.ioc))
-PROJECTS = full minimal
+# ST_TARGETS = nucleo_h723zg nucleo_f756zg nucleo_h563zi
+ST_TARGETS = $(basename $(notdir $(wildcard $(TOP)/tutorials/stm32/*/cubemx/*.ioc)))
+PROJECTS = full
TARGETS = desktop $(ST_TARGETS)
MX ?= /Applications/STMicroelectronics/STM32CubeMX.app/Contents/MacOs/STM32CubeMX
DIRS = $(foreach P,$(PROJECTS),$(foreach T,$(TARGETS),$(T)_dashboard_$(P)))
ZIPS = $(foreach D,$(DIRS),$(D).zip)
-all: $(ZIPS)
+all:
+ @echo $(TARGETS)
DESKTOP_DIRS = $(foreach P,$(PROJECTS),desktop_dashboard_$(P))
@@ -21,19 +22,17 @@ $(DESKTOP_DIRS): desktop_dashboard_%:
cp $(TOP)/resources/*.js $@/resources
sed -i "" "s,../../..,.," $@/Makefile
-define ST_MONGOOSE_RULE
-$(1)_mongoose: $(1).ioc
- mkdir -p $$@
- cp $(1).ioc $$@
- sh init.sh $(1)
-endef
-
define ST_DASHBOARD_RULE
-$(1)_dashboard_$(2): $(1)_mongoose
- sh init.sh $(1) $(2)
+$(1)_dashboard_$(2): $(TOP)/tutorials/stm32/$(1)/cubemx/$(1).ioc
+ mkdir -p $$@
+ cp $$^ $$@
+ echo config load `realpath $$@/$(1).ioc` > gen.mx
+ echo project generate >> gen.mx
+ echo exit >> gen.mx
+ $(MX) -q `pwd`/gen.mx
+ sh integrate_mongoose_cubemx.sh $$@ $(2)
endef
-$(foreach T,$(ST_TARGETS), $(eval $(call ST_MONGOOSE_RULE,$(T))))
$(foreach T,$(ST_TARGETS), $(foreach P,$(PROJECTS), $(eval $(call ST_DASHBOARD_RULE,$(T),$(P)))))
%.zip: %
@@ -43,4 +42,6 @@ upload: $(ZIPS)
scp $(ZIPS) h1:/data/downloads/
clean:
- rm -rf $(DIRS) $(ZIPS) $(foreach T,$(ST_TARGETS),$(T)_mongoose)
+ rm -rf $(DIRS) *.zip
+
+# rm -rf $(DIRS) $(ZIPS) #$(foreach T,$(ST_TARGETS),$(T)_mongoose)
diff --git a/resources/downloads/init.sh b/resources/downloads/init.sh
deleted file mode 100644
index 79dd799d..00000000
--- a/resources/downloads/init.sh
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/bin/sh
-
-BOARD=${1:-}
-DASH=${2:-}
-CURL="curl -fsSL"
-API="https://api.github.com/repos/cesanta/mongoose"
-RAW="https://raw.githubusercontent.com/cesanta/mongoose/HEAD/"
-
-trap "rm -rf gen.mx" EXIT
-fail() { echo $@ >&2 ; exit 1 ; }
-
-# Find CubeMX CLI executable
-MX=`find /Applications/STMicroelectronics/ -name STM32CubeMX -type f`
-
-test -z "$MX" && fail "CubeMX is not installed. Install it first"
-# test -d "$BOARD" && fail "Directory $BOARD already exists, remove it first"
-
-# Board name is not given. Show list of boards and exit
-if test -z "$BOARD" ; then
- echo "Usage: $0 BOARD [full|minimal]"
- echo "Supported boards:"
- $CURL $API/contents/resources/downloads | perl -nle 'print " $1" if /"name": "(.+?).ioc"/'
- exit 1
-fi
-
-# Create project directory
-DIR=${BOARD}_mongoose
-DIR2=${BOARD}_dashboard_${DASH}
-test -d $DIR || mkdir -p $DIR
-test -f "$DIR/$BOARD.ioc" || $CURL $RAW/resources/downloads/$BOARD.ioc -o $DIR/$BOARD.ioc 2>/dev/null
-test -f "$DIR/$BOARD.ioc" || fail echo "Usupported board $BOARD"
-
-# Run CubeMX to generate project using a pre-configured .ioc file
-echo config load `pwd`/$DIR/$BOARD.ioc > gen.mx
-echo project generate >> gen.mx
-echo exit >> gen.mx
-test -f "$DIR/CMakeLists.txt" || $MX -q `pwd`/gen.mx
-
-# Adopt generated code for Mongoose
-MAIN_C=$DIR/Core/Src/main.c
-grep -q mongoose.h $MAIN_C || perl -i -ne 'print; print "#include \"mongoose.h\"\n" if /BEGIN Includes/' $MAIN_C
-grep -q '^int _write' $MAIN_C || perl -i -ne 'print; print "int _write(int fd, unsigned char *buf, int len) {\n HAL_UART_Transmit(&huart3, buf, len, HAL_MAX_DELAY);\n return len;\n}\n" if /USER CODE BEGIN 0/' $MAIN_C
-grep -q 'mg_mgr_init' $MAIN_C || perl -i -ne 'print; print " struct mg_mgr mgr;\n mg_mgr_init(&mgr);\n\n" if /USER CODE BEGIN WHILE/' $MAIN_C
-grep -q 'mg_mgr_poll' $MAIN_C || perl -i -ne 'print " mg_mgr_poll(&mgr, 0);\n" if /USER CODE END WHILE/; print;' $MAIN_C
-test -f $DIR/STM32H723XG_FLASH.ld && (grep -q eth_ram $DIR/STM32H723XG_FLASH.ld || perl -i -ne 'print ; print "\n /* Mongoose Ethernet driver */\n .eth_ram : { *(.eth_ram .eth_ram*) } > RAM_D2 AT > FLASH\n" if /_sidata =/' $DIR/STM32H723XG_FLASH.ld)
-test -f $DIR/LICENSE || $CURL $RAW/LICENSE -o $DIR/LICENSE
-
-# If dashboard is specified, copy it to the project
-if test "$DASH" == "full" -o "$DASH" == "minimal" ; then
- test -d $DIR2 || cp -r $DIR $DIR2
- test -d $DIR2/Mongoose || mkdir -p $DIR2/Mongoose
- test -f $DIR2/Mongoose/dashboard.c || $CURL $RAW/tutorials/device-dashboard/$DASH/dashboard.c -o $DIR2/Mongoose/dashboard.c
- test -f $DIR2/Mongoose/dashboard.html || $CURL $RAW/tutorials/device-dashboard/$DASH/dashboard.html -o $DIR2/Mongoose/dashboard.html
- test -f $DIR2/Mongoose/html2c.js || $CURL $RAW/resources/html2c.js -o $DIR2/Mongoose/html2c.js
- MAIN2_C=$DIR2/Core/Src/main.c
- grep -q 'mg_dash_init' $MAIN2_C || perl -i -ne 'print; print " mg_dash_init(&mgr);\n" if /mg_mgr_init/' $MAIN2_C
- grep -q 'mg_dash_poll' $MAIN2_C || perl -i -ne 'print; print " mg_dash_poll(&mgr);\n" if /mg_mgr_poll/' $MAIN2_C
- grep -q '^ Mongoose/file_data.c' $DIR2/CMakeLists.txt || perl -i -ne 'print; print " Mongoose/dashboard.c\n Mongoose/file_data.c\n" if /# Add user sources here/' $DIR2/CMakeLists.txt
- grep -q 'html2c.js' $DIR2/CMakeLists.txt || perl -i -ne 'print "# Generate file_data.c from dashboard.html\nadd_custom_command(\n OUTPUT \${CMAKE_SOURCE_DIR}/Mongoose/file_data.c\n COMMAND node \${CMAKE_SOURCE_DIR}/Mongoose/html2c.js \${CMAKE_SOURCE_DIR}/Mongoose/dashboard.html -o \${CMAKE_SOURCE_DIR}/Mongoose/file_data.c\n DEPENDS \${CMAKE_SOURCE_DIR}/Mongoose/dashboard.html\n VERBATIM\n)\n\n" if /^# Add sources to executable/; print;' $DIR2/CMakeLists.txt
-fi
diff --git a/resources/downloads/integrate_mongoose_cubemx.sh b/resources/downloads/integrate_mongoose_cubemx.sh
new file mode 100644
index 00000000..b2222ff6
--- /dev/null
+++ b/resources/downloads/integrate_mongoose_cubemx.sh
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+# IOC="${1:-}"
+DIR="${1:-}"
+DASH=${2:-}
+CURL="curl -fsSL"
+RAW="https://raw.githubusercontent.com/cesanta/mongoose/HEAD/"
+
+trap "rm -rf gen.mx" EXIT
+fail() { echo $@ >&2 ; exit 1 ; }
+
+test -d "$DIR" || fail "Usage: $0 DIRECTORY"
+
+test -f $DIR/FSBL/Core/Src/main.c && DIR=$DIR/FSBL
+
+# Add mongoose core files
+test -d $DIR/Mongoose || mkdir -p $DIR/Mongoose
+test -f $DIR/Mongoose/mongoose.c || $CURL $RAW/mongoose.c -o $DIR/Mongoose/mongoose.c
+test -f $DIR/Mongoose/mongoose.h || $CURL $RAW/mongoose.h -o $DIR/Mongoose/mongoose.h
+test -f $DIR/Mongoose/mongoose_config.h || (echo "#pragma once" ; echo "#define MG_ARCH MG_ARCH_CUBE" ; ) >> $DIR/Mongoose/mongoose_config.h
+case $DIR in *_n657*) (grep -q MG_TLS_NONE $DIR/Mongoose/mongoose_config.h || echo "#define MG_TLS MG_TLS_NONE" >> $DIR/Mongoose/mongoose_config.h) ;; esac
+
+# Patch main.c and linker script
+MAIN_C=$DIR/Core/Src/main.c
+HUART=`perl -nle 'print \$1 if /^UART_HandleTypeDef (.+);/' $MAIN_C`
+grep -q mongoose.h $MAIN_C || perl -i -ne 'print; print "#include \"mongoose.h\"\n" if /BEGIN Includes/' $MAIN_C
+grep -q '^int _write' $MAIN_C || perl -i -ne "print; print \"int _write(int fd, unsigned char *buf, int len) {\n HAL_UART_Transmit(&${HUART}, buf, len, HAL_MAX_DELAY);\n return len;\n}\n\" if /USER CODE BEGIN 0/" $MAIN_C
+grep -q 'mg_mgr_init' $MAIN_C || perl -i -ne 'print; print " struct mg_mgr mgr;\n mg_mgr_init(&mgr);\n\n" if /USER CODE BEGIN WHILE/' $MAIN_C
+grep -q 'mg_mgr_poll' $MAIN_C || perl -i -ne 'print " mg_mgr_poll(&mgr, 0);\n" if /USER CODE END WHILE/; print;' $MAIN_C
+test -f $DIR/STM32H723XG_FLASH.ld && (grep -q eth_ram $DIR/STM32H723XG_FLASH.ld || perl -i -ne 'print ; print "\n /* Mongoose Ethernet driver */\n .eth_ram : { *(.eth_ram .eth_ram*) } > RAM_D2 AT > FLASH\n" if /_sidata =/' $DIR/STM32H723XG_FLASH.ld)
+test -f $DIR/LICENSE || $CURL $RAW/LICENSE -o $DIR/LICENSE
+
+# Add Mongoose dir to the build
+test -f $DIR/CMakeLists.txt && (grep -q 'Mongoose/$' $DIR/CMakeLists.txt || perl -i -ne 'print; print " \${CMAKE_SOURCE_DIR}/Mongoose/\n" if /Add user defined include paths/' $DIR/CMakeLists.txt)
+test -f $DIR/CMakeLists.txt && (grep -q 'mongoose.c$' $DIR/CMakeLists.txt || perl -i -ne 'print; print " \${CMAKE_SOURCE_DIR}/Mongoose/mongoose.c\n" if /Add user sources here/' $DIR/CMakeLists.txt)
+
+# If dashboard is specified, copy it to the project
+if test "$DASH" == "full" -o "$DASH" == "minimal" ; then
+ test -f $DIR/Mongoose/dashboard.c || $CURL $RAW/tutorials/device-dashboard/$DASH/dashboard.c -o $DIR/Mongoose/dashboard.c
+ test -f $DIR/Mongoose/dashboard.html || $CURL $RAW/tutorials/device-dashboard/$DASH/dashboard.html -o $DIR/Mongoose/dashboard.html
+ test -f $DIR/Mongoose/html2c.js || $CURL $RAW/resources/html2c.js -o $DIR/Mongoose/html2c.js
+ grep -q 'mg_dash_init' $MAIN_C || perl -i -ne 'print; print " mg_dash_init(&mgr);\n" if /mg_mgr_init/' $MAIN_C
+ grep -q 'mg_dash_poll' $MAIN_C || perl -i -ne 'print; print " mg_dash_poll(&mgr);\n" if /mg_mgr_poll/' $MAIN_C
+ test -f $DIR/CMakeLists.txt && (grep -q 'file_data.c$' $DIR/CMakeLists.txt || perl -i -ne 'print; print " \${CMAKE_SOURCE_DIR}/Mongoose/dashboard.c\n \${CMAKE_SOURCE_DIR}/Mongoose/file_data.c\n" if /# Add user sources here/' $DIR/CMakeLists.txt)
+ test -f $DIR/CMakeLists.txt && (grep -q 'html2c.js' $DIR/CMakeLists.txt || perl -i -ne 'print "# Generate file_data.c from dashboard.html\nadd_custom_command(\n OUTPUT \${CMAKE_SOURCE_DIR}/Mongoose/file_data.c\n COMMAND node \${CMAKE_SOURCE_DIR}/Mongoose/html2c.js \${CMAKE_SOURCE_DIR}/Mongoose/dashboard.html -o \${CMAKE_SOURCE_DIR}/Mongoose/file_data.c\n DEPENDS \${CMAKE_SOURCE_DIR}/Mongoose/dashboard.html\n VERBATIM\n)\n\n" if /^# Add sources to executable/; print;' $DIR/CMakeLists.txt)
+fi
diff --git a/resources/downloads/nucleo_f756zg.ioc b/resources/downloads/nucleo_f756zg.ioc
deleted file mode 100644
index 1538131e..00000000
--- a/resources/downloads/nucleo_f756zg.ioc
+++ /dev/null
@@ -1,210 +0,0 @@
-#MicroXplorer Configuration settings - do not modify
-CAD.formats=
-CAD.pinconfig=
-CAD.provider=
-CORTEX_M7.IPParameters=default_mode_Activation
-CORTEX_M7.default_mode_Activation=1
-Cesanta.I-CUBE-Mongoose.7.21.7.IPParameters=MongooseJjNetworkingOoCore,MongooseJjWebOoDeviceOoDashboard
-Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjNetworkingOoCore=true
-Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjNetworkingOoCore_Checked=true
-Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjWebOoDeviceOoDashboard=true
-Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjWebOoDeviceOoDashboard_Checked=true
-Cesanta.I-CUBE-Mongoose.7.21.7_SwParameter=MongooseJjNetworkingOoCore\:true;MongooseJjWebOoDeviceOoDashboard\:true;MongooseJjMQTTOoClient\:true;
-ETH.IPParameters=MediaInterface
-ETH.MediaInterface=HAL_ETH_RMII_MODE
-File.Version=6
-GPIO.groupedBy=
-KeepUserPlacement=false
-Mcu.CPN=STM32F756ZGT6
-Mcu.Family=STM32F7
-Mcu.IP0=CORTEX_M7
-Mcu.IP1=ETH
-Mcu.IP2=NVIC
-Mcu.IP3=RCC
-Mcu.IP4=RNG
-Mcu.IP5=SYS
-Mcu.IP6=USART3
-Mcu.IPNb=7
-Mcu.Name=STM32F756ZGTx
-Mcu.Package=LQFP144
-Mcu.Pin0=PC1
-Mcu.Pin1=PA1
-Mcu.Pin10=PD9
-Mcu.Pin11=PG11
-Mcu.Pin12=PG13
-Mcu.Pin13=PB7
-Mcu.Pin14=VP_RNG_VS_RNG
-Mcu.Pin15=VP_SYS_VS_Systick
-Mcu.Pin16=VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7
-Mcu.Pin17=VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7
-Mcu.Pin2=PA2
-Mcu.Pin3=PA7
-Mcu.Pin4=PC4
-Mcu.Pin5=PC5
-Mcu.Pin6=PB0
-Mcu.Pin7=PB13
-Mcu.Pin8=PB14
-Mcu.Pin9=PD8
-Mcu.PinsNb=18
-Mcu.ThirdParty0=Cesanta.I-CUBE-Mongoose.7.21.7
-Mcu.ThirdPartyNb=1
-Mcu.UserConstants=
-Mcu.UserName=STM32F756ZGTx
-MxCube.Version=6.17.0
-MxDb.Version=DB.6.0.170
-NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-NVIC.ForceEnableDMAVector=true
-NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
-NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:false\:true\:false
-NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-PA1.Mode=RMII
-PA1.Signal=ETH_REF_CLK
-PA2.Mode=RMII
-PA2.Signal=ETH_MDIO
-PA7.Mode=RMII
-PA7.Signal=ETH_CRS_DV
-PB0.Locked=true
-PB0.Signal=GPIO_Output
-PB13.Mode=RMII
-PB13.Signal=ETH_TXD1
-PB14.Locked=true
-PB14.Signal=GPIO_Output
-PB7.Locked=true
-PB7.Signal=GPIO_Output
-PC1.Mode=RMII
-PC1.Signal=ETH_MDC
-PC4.Mode=RMII
-PC4.Signal=ETH_RXD0
-PC5.Mode=RMII
-PC5.Signal=ETH_RXD1
-PCC.Checker=false
-PCC.Display=Plot\: All Steps
-PCC.Line=STM32F7x6
-PCC.MCU=STM32F756ZGTx
-PCC.PartNumber=STM32F756ZGTx
-PCC.Series=STM32F7
-PCC.Temperature=25
-PCC.Vdd=3.3
-PD8.Locked=true
-PD8.Mode=Asynchronous
-PD8.Signal=USART3_TX
-PD9.Locked=true
-PD9.Mode=Asynchronous
-PD9.Signal=USART3_RX
-PG11.Locked=true
-PG11.Mode=RMII
-PG11.Signal=ETH_TX_EN
-PG13.Locked=true
-PG13.Mode=RMII
-PG13.Signal=ETH_TXD0
-PinOutPanel.RotationAngle=0
-ProjectManager.AskForMigrate=true
-ProjectManager.BackupPrevious=false
-ProjectManager.CompilerLinker=GCC
-ProjectManager.CompilerOptimize=6
-ProjectManager.ComputerToolchain=false
-ProjectManager.CoupleFile=false
-ProjectManager.CustomerFirmwarePackage=
-ProjectManager.DefaultFWLocation=true
-ProjectManager.DeletePrevious=true
-ProjectManager.DeviceId=STM32F756ZGTx
-ProjectManager.FirmwarePackage=STM32Cube FW_F7 V1.17.4
-ProjectManager.FreePins=false
-ProjectManager.FreePinsContext=
-ProjectManager.HalAssertFull=false
-ProjectManager.HeapSize=0x10000
-ProjectManager.KeepUserCode=true
-ProjectManager.LastFirmware=true
-ProjectManager.LibraryCopy=1
-ProjectManager.MainLocation=Core/Src
-ProjectManager.NoMain=false
-ProjectManager.PreviousToolchain=
-ProjectManager.ProjectBuild=false
-ProjectManager.ProjectFileName=nucleo_f756zg.ioc
-ProjectManager.ProjectName=nucleo_f756zg
-ProjectManager.ProjectStructure=
-ProjectManager.RegisterCallBack=
-ProjectManager.StackSize=0x2000
-ProjectManager.TargetToolchain=CMake
-ProjectManager.ToolChainLocation=
-ProjectManager.UAScriptAfterPath=
-ProjectManager.UAScriptBeforePath=
-ProjectManager.UnderRoot=false
-ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_ETH_Init-ETH-false-HAL-true,4-MX_RNG_Init-RNG-false-HAL-true,5-MX_USART3_UART_Init-USART3-false-HAL-true,0-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true
-RCC.AHBFreq_Value=216000000
-RCC.APB1CLKDivider=RCC_HCLK_DIV4
-RCC.APB1Freq_Value=54000000
-RCC.APB1TimFreq_Value=108000000
-RCC.APB2CLKDivider=RCC_HCLK_DIV2
-RCC.APB2Freq_Value=108000000
-RCC.APB2TimFreq_Value=216000000
-RCC.CECFreq_Value=32786.88524590164
-RCC.CortexFreq_Value=216000000
-RCC.EthernetFreq_Value=216000000
-RCC.FCLKCortexFreq_Value=216000000
-RCC.FamilyName=M
-RCC.HCLKFreq_Value=216000000
-RCC.HSE_VALUE=25000000
-RCC.HSI_VALUE=16000000
-RCC.I2C1Freq_Value=54000000
-RCC.I2C2Freq_Value=54000000
-RCC.I2C3Freq_Value=54000000
-RCC.I2C4Freq_Value=54000000
-RCC.I2SFreq_Value=192000000
-RCC.IPParameters=AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2CLKDivider,APB2Freq_Value,APB2TimFreq_Value,CECFreq_Value,CortexFreq_Value,EthernetFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI_VALUE,I2C1Freq_Value,I2C2Freq_Value,I2C3Freq_Value,I2C4Freq_Value,I2SFreq_Value,LCDTFToutputFreq_Value,LPTIM1Freq_Value,LSE_VALUE,LSI_VALUE,MCO2PinFreq_Value,PLLCLKFreq_Value,PLLI2SPCLKFreq_Value,PLLI2SQCLKFreq_Value,PLLI2SRCLKFreq_Value,PLLI2SRoutputFreq_Value,PLLM,PLLN,PLLQ,PLLQCLKFreq_Value,PLLQoutputFreq_Value,PLLSAIPCLKFreq_Value,PLLSAIQCLKFreq_Value,PLLSAIRCLKFreq_Value,PLLSAIoutputFreq_Value,RNGFreq_Value,SAI1Freq_Value,SAI2Freq_Value,SDMMCFreq_Value,SPDIFRXFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,UART4Freq_Value,UART5Freq_Value,UART7Freq_Value,UART8Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USART6Freq_Value,USBFreq_Value,VCOI2SOutputFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VCOSAIOutputFreq_Value
-RCC.LCDTFToutputFreq_Value=96000000
-RCC.LPTIM1Freq_Value=54000000
-RCC.LSE_VALUE=32768
-RCC.LSI_VALUE=32000
-RCC.MCO2PinFreq_Value=216000000
-RCC.PLLCLKFreq_Value=216000000
-RCC.PLLI2SPCLKFreq_Value=192000000
-RCC.PLLI2SQCLKFreq_Value=192000000
-RCC.PLLI2SRCLKFreq_Value=192000000
-RCC.PLLI2SRoutputFreq_Value=192000000
-RCC.PLLM=8
-RCC.PLLN=216
-RCC.PLLQ=9
-RCC.PLLQCLKFreq_Value=48000000
-RCC.PLLQoutputFreq_Value=48000000
-RCC.PLLSAIPCLKFreq_Value=192000000
-RCC.PLLSAIQCLKFreq_Value=192000000
-RCC.PLLSAIRCLKFreq_Value=192000000
-RCC.PLLSAIoutputFreq_Value=192000000
-RCC.RNGFreq_Value=48000000
-RCC.SAI1Freq_Value=192000000
-RCC.SAI2Freq_Value=192000000
-RCC.SDMMCFreq_Value=216000000
-RCC.SPDIFRXFreq_Value=192000000
-RCC.SYSCLKFreq_VALUE=216000000
-RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
-RCC.UART4Freq_Value=54000000
-RCC.UART5Freq_Value=54000000
-RCC.UART7Freq_Value=54000000
-RCC.UART8Freq_Value=54000000
-RCC.USART1Freq_Value=108000000
-RCC.USART2Freq_Value=54000000
-RCC.USART3Freq_Value=54000000
-RCC.USART6Freq_Value=108000000
-RCC.USBFreq_Value=48000000
-RCC.VCOI2SOutputFreq_Value=384000000
-RCC.VCOInputFreq_Value=2000000
-RCC.VCOOutputFreq_Value=432000000
-RCC.VCOSAIOutputFreq_Value=384000000
-USART3.IPParameters=VirtualMode-Asynchronous
-USART3.VirtualMode-Asynchronous=VM_ASYNC
-VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7.Mode=MongooseJjNetworkingOoCore
-VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7.Signal=Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7
-VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7.Mode=MongooseJjWebOoDeviceOoDashboard
-VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7.Signal=Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7
-VP_RNG_VS_RNG.Mode=RNG_Activate
-VP_RNG_VS_RNG.Signal=RNG_VS_RNG
-VP_SYS_VS_Systick.Mode=SysTick
-VP_SYS_VS_Systick.Signal=SYS_VS_Systick
-board=custom
diff --git a/resources/downloads/nucleo_h563zi.ioc b/resources/downloads/nucleo_h563zi.ioc
deleted file mode 100644
index 89418b61..00000000
--- a/resources/downloads/nucleo_h563zi.ioc
+++ /dev/null
@@ -1,268 +0,0 @@
-#MicroXplorer Configuration settings - do not modify
-BOOTPATH.BootPathName=LEGACY
-BOOTPATH.IPParameters=BootPathName
-BOOTPATH.UserSelectedBootPath=LEGACY
-CAD.formats=
-CAD.pinconfig=
-CAD.provider=
-CORTEX_M33_NS.IPParameters=default_mode_Activation,Number-Cortex_Memory_Protection_Unit_Region0_OTP_RO_AREAS_Settings
-CORTEX_M33_NS.Number-Cortex_Memory_Protection_Unit_Region0_OTP_RO_AREAS_Settings=MPU_REGION_NUMBER0
-CORTEX_M33_NS.default_mode_Activation=1
-CORTEX_M33_NS.userName=CORTEX_M33
-Cesanta.I-CUBE-Mongoose.7.21.7.IPParameters=MongooseJjNetworkingOoCore,MongooseJjWebOoDeviceOoDashboard
-Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjNetworkingOoCore=true
-Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjNetworkingOoCore_Checked=true
-Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjWebOoDeviceOoDashboard=true
-Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjWebOoDeviceOoDashboard_Checked=true
-Cesanta.I-CUBE-Mongoose.7.21.7_SwParameter=MongooseJjNetworkingOoCore\:true;MongooseJjWebOoDeviceOoDashboard\:true;
-ETH.IPParameters=MediaInterface
-ETH.MediaInterface=HAL_ETH_RMII_MODE
-File.Version=6
-GPIO.groupedBy=
-KeepUserPlacement=false
-MMTAppRegionsCount=0
-MMTConfigApplied=false
-MMTSectionSuffix=
-Mcu.CPN=STM32H563ZIT6
-Mcu.ContextProject=TrustZoneDisabled
-Mcu.Family=STM32H5
-Mcu.IP0=BOOTPATH
-Mcu.IP1=CORTEX_M33_NS
-Mcu.IP10=USART3
-Mcu.IP2=ETH
-Mcu.IP3=ICACHE
-Mcu.IP4=MEMORYMAP
-Mcu.IP5=NVIC
-Mcu.IP6=PWR
-Mcu.IP7=RCC
-Mcu.IP8=RNG
-Mcu.IP9=SYS
-Mcu.IPNb=11
-Mcu.Name=STM32H563ZITx
-Mcu.Package=LQFP144
-Mcu.Pin0=PF4
-Mcu.Pin1=PC1
-Mcu.Pin10=PD9
-Mcu.Pin11=PG4
-Mcu.Pin12=PG11
-Mcu.Pin13=PG13
-Mcu.Pin14=VP_CORTEX_M33_NS_VS_Hclk
-Mcu.Pin15=VP_ICACHE_VS_ICACHE
-Mcu.Pin16=VP_PWR_VS_SECSignals
-Mcu.Pin17=VP_PWR_VS_LPOM
-Mcu.Pin18=VP_RNG_VS_RNG
-Mcu.Pin19=VP_SYS_VS_Systick
-Mcu.Pin2=PA1
-Mcu.Pin20=VP_BOOTPATH_VS_BOOTPATH
-Mcu.Pin21=VP_MEMORYMAP_VS_MEMORYMAP
-Mcu.Pin22=VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7
-Mcu.Pin23=VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7
-Mcu.Pin3=PA2
-Mcu.Pin4=PA7
-Mcu.Pin5=PC4
-Mcu.Pin6=PC5
-Mcu.Pin7=PB0
-Mcu.Pin8=PB15
-Mcu.Pin9=PD8
-Mcu.PinsNb=24
-Mcu.ThirdParty0=Cesanta.I-CUBE-Mongoose.7.21.7
-Mcu.ThirdPartyNb=1
-Mcu.UserConstants=
-Mcu.UserName=STM32H563ZITx
-MxCube.Version=6.17.0
-MxDb.Version=DB.6.0.170
-NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-NVIC.ForceEnableDMAVector=true
-NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
-NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:false\:true\:false
-NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-PA1.Mode=RMII
-PA1.Signal=ETH_REF_CLK
-PA2.Mode=RMII
-PA2.Signal=ETH_MDIO
-PA7.Mode=RMII
-PA7.Signal=ETH_CRS_DV
-PB0.Locked=true
-PB0.Signal=GPIO_Output
-PB15.Mode=RMII
-PB15.Signal=ETH_TXD1
-PC1.Mode=RMII
-PC1.Signal=ETH_MDC
-PC4.Mode=RMII
-PC4.Signal=ETH_RXD0
-PC5.Mode=RMII
-PC5.Signal=ETH_RXD1
-PCC.Checker=false
-PCC.Display=Plot\: All Steps
-PCC.Line=STM32H563/H573
-PCC.MCU=STM32H563ZITx
-PCC.PartNumber=STM32H563ZITx
-PCC.Series=STM32H5
-PCC.Temperature=25
-PCC.Vdd=3.0
-PD8.Locked=true
-PD8.Mode=Asynchronous
-PD8.Signal=USART3_TX
-PD9.Locked=true
-PD9.Mode=Asynchronous
-PD9.Signal=USART3_RX
-PF4.Locked=true
-PF4.Signal=GPIO_Output
-PG11.Locked=true
-PG11.Mode=RMII
-PG11.Signal=ETH_TX_EN
-PG13.Locked=true
-PG13.Mode=RMII
-PG13.Signal=ETH_TXD0
-PG4.Locked=true
-PG4.Signal=GPIO_Output
-PinOutPanel.RotationAngle=0
-ProjectManager.AskForMigrate=true
-ProjectManager.BackupPrevious=false
-ProjectManager.CompilerLinker=GCC
-ProjectManager.CompilerOptimize=6
-ProjectManager.ComputerToolchain=false
-ProjectManager.CoupleFile=false
-ProjectManager.CustomerFirmwarePackage=
-ProjectManager.DefaultFWLocation=true
-ProjectManager.DeletePrevious=true
-ProjectManager.DeviceId=STM32H563ZITx
-ProjectManager.FirmwarePackage=STM32Cube FW_H5 V1.6.0
-ProjectManager.FreePins=false
-ProjectManager.FreePinsContext=
-ProjectManager.HalAssertFull=false
-ProjectManager.HeapSize=0x10000
-ProjectManager.KeepUserCode=true
-ProjectManager.LastFirmware=true
-ProjectManager.LibraryCopy=1
-ProjectManager.MainLocation=Core/Src
-ProjectManager.NoMain=false
-ProjectManager.PreviousToolchain=
-ProjectManager.ProjectBuild=false
-ProjectManager.ProjectFileName=nucleo_h563zi.ioc
-ProjectManager.ProjectName=nucleo_h563zi
-ProjectManager.ProjectStructure=
-ProjectManager.RegisterCallBack=
-ProjectManager.StackSize=0x2000
-ProjectManager.TargetToolchain=CMake
-ProjectManager.ToolChainLocation=
-ProjectManager.UAScriptAfterPath=
-ProjectManager.UAScriptBeforePath=
-ProjectManager.UnderRoot=false
-ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_ETH_Init-ETH-false-HAL-true,4-MX_ICACHE_Init-ICACHE-false-HAL-true,5-MX_RNG_Init-RNG-false-HAL-true,6-MX_USART3_UART_Init-USART3-false-HAL-true,0-MX_CORTEX_M33_NS_Init-CORTEX_M33_NS-false-HAL-true,0-MX_PWR_Init-PWR-false-HAL-true
-RCC.ADCFreq_Value=250000000
-RCC.AHBFreq_Value=250000000
-RCC.APB1Freq_Value=250000000
-RCC.APB1TimFreq_Value=250000000
-RCC.APB2Freq_Value=250000000
-RCC.APB2TimFreq_Value=250000000
-RCC.APB3Freq_Value=250000000
-RCC.CECFreq_Value=32000
-RCC.CKPERFreq_Value=32000000
-RCC.CRSFreq_Value=48000000
-RCC.CSI_VALUE=4000000
-RCC.CortexFreq_Value=250000000
-RCC.DACFreq_Value=32768
-RCC.EPOD_VALUE=4000000
-RCC.ETHFreq_Value=250000000
-RCC.FCLKCortexFreq_Value=250000000
-RCC.FDCANFreq_Value=25000000
-RCC.FamilyName=M
-RCC.HCLKFreq_Value=250000000
-RCC.HSE_VALUE=25000000
-RCC.HSI48_VALUE=48000000
-RCC.HSI_VALUE=64000000
-RCC.I2C1Freq_Value=250000000
-RCC.I2C2Freq_Value=250000000
-RCC.I2C3Freq_Value=250000000
-RCC.I2C4Freq_Value=250000000
-RCC.I3C1Freq_Value=250000000
-RCC.IPParameters=ADCFreq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,APB3Freq_Value,CECFreq_Value,CKPERFreq_Value,CRSFreq_Value,CSI_VALUE,CortexFreq_Value,DACFreq_Value,EPOD_VALUE,ETHFreq_Value,FCLKCortexFreq_Value,FDCANFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,I2C2Freq_Value,I2C3Freq_Value,I2C4Freq_Value,I3C1Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPTIM3Freq_Value,LPTIM4Freq_Value,LPTIM5Freq_Value,LPTIM6Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSE_VALUE,LSIRC_VALUE,MCO1PinFreq_Value,MCO2PinFreq_Value,OCTOSPIMFreq_Value,PLL2FRACN,PLL2PoutputFreq_Value,PLL2QoutputFreq_Value,PLL2RoutputFreq_Value,PLL3FRACN,PLL3PoutputFreq_Value,PLL3QoutputFreq_Value,PLL3RoutputFreq_Value,PLLFRACN,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PWRFreq_Value,RNGFreq_Value,SAI1Freq_Value,SAI2Freq_Value,SDMMC1Freq_Value,SDMMC2Freq_Value,SPI1Freq_Value,SPI2Freq_Value,SPI3Freq_Value,SPI4Freq_Value,SPI5Freq_Value,SPI6Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,UART12Freq_Value,UART4Freq_Value,UART5Freq_Value,UART7Freq_Value,UART8Freq_Value,UART9Freq_Value,UCPD1outputFreq_Value,USART10Freq_Value,USART11Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USART6Freq_Value,USBFreq_Value,VCOInput2Freq_Value,VCOInput3Freq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VCOPLL2OutputFreq_Value,VCOPLL3OutputFreq_Value
-RCC.LPTIM1Freq_Value=250000000
-RCC.LPTIM2Freq_Value=250000000
-RCC.LPTIM3Freq_Value=250000000
-RCC.LPTIM4Freq_Value=250000000
-RCC.LPTIM5Freq_Value=250000000
-RCC.LPTIM6Freq_Value=250000000
-RCC.LPUART1Freq_Value=250000000
-RCC.LSCOPinFreq_Value=32000
-RCC.LSE_VALUE=32768
-RCC.LSIRC_VALUE=32000
-RCC.MCO1PinFreq_Value=32000000
-RCC.MCO2PinFreq_Value=250000000
-RCC.OCTOSPIMFreq_Value=250000000
-RCC.PLL2FRACN=0
-RCC.PLL2PoutputFreq_Value=258000000
-RCC.PLL2QoutputFreq_Value=258000000
-RCC.PLL2RoutputFreq_Value=258000000
-RCC.PLL3FRACN=0
-RCC.PLL3PoutputFreq_Value=258000000
-RCC.PLL3QoutputFreq_Value=258000000
-RCC.PLL3RoutputFreq_Value=258000000
-RCC.PLLFRACN=0
-RCC.PLLN=125
-RCC.PLLPoutputFreq_Value=250000000
-RCC.PLLQoutputFreq_Value=250000000
-RCC.PWRFreq_Value=250000000
-RCC.RNGFreq_Value=48000000
-RCC.SAI1Freq_Value=258000000
-RCC.SAI2Freq_Value=258000000
-RCC.SDMMC1Freq_Value=250000000
-RCC.SDMMC2Freq_Value=250000000
-RCC.SPI1Freq_Value=250000000
-RCC.SPI2Freq_Value=250000000
-RCC.SPI3Freq_Value=250000000
-RCC.SPI4Freq_Value=250000000
-RCC.SPI5Freq_Value=250000000
-RCC.SPI6Freq_Value=250000000
-RCC.SYSCLKFreq_VALUE=250000000
-RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
-RCC.UART12Freq_Value=250000000
-RCC.UART4Freq_Value=250000000
-RCC.UART5Freq_Value=250000000
-RCC.UART7Freq_Value=250000000
-RCC.UART8Freq_Value=250000000
-RCC.UART9Freq_Value=250000000
-RCC.UCPD1outputFreq_Value=8000000
-RCC.USART10Freq_Value=250000000
-RCC.USART11Freq_Value=250000000
-RCC.USART1Freq_Value=250000000
-RCC.USART2Freq_Value=250000000
-RCC.USART3Freq_Value=250000000
-RCC.USART6Freq_Value=250000000
-RCC.USBFreq_Value=48000000
-RCC.VCOInput2Freq_Value=4000000
-RCC.VCOInput3Freq_Value=4000000
-RCC.VCOInputFreq_Value=4000000
-RCC.VCOOutputFreq_Value=500000000
-RCC.VCOPLL2OutputFreq_Value=516000000
-RCC.VCOPLL3OutputFreq_Value=516000000
-USART3.IPParameters=VirtualMode-Asynchronous
-USART3.VirtualMode-Asynchronous=VM_ASYNC
-VP_BOOTPATH_VS_BOOTPATH.Mode=BP_Activate
-VP_BOOTPATH_VS_BOOTPATH.Signal=BOOTPATH_VS_BOOTPATH
-VP_CORTEX_M33_NS_VS_Hclk.Mode=Hclk_Mode
-VP_CORTEX_M33_NS_VS_Hclk.Signal=CORTEX_M33_NS_VS_Hclk
-VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7.Mode=MongooseJjNetworkingOoCore
-VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7.Signal=Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7
-VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7.Mode=MongooseJjWebOoDeviceOoDashboard
-VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7.Signal=Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7
-VP_ICACHE_VS_ICACHE.Mode=DirectMappedCache
-VP_ICACHE_VS_ICACHE.Signal=ICACHE_VS_ICACHE
-VP_MEMORYMAP_VS_MEMORYMAP.Mode=CurAppReg
-VP_MEMORYMAP_VS_MEMORYMAP.Signal=MEMORYMAP_VS_MEMORYMAP
-VP_PWR_VS_LPOM.Mode=PowerOptimisation
-VP_PWR_VS_LPOM.Signal=PWR_VS_LPOM
-VP_PWR_VS_SECSignals.Mode=Security/Privilege
-VP_PWR_VS_SECSignals.Signal=PWR_VS_SECSignals
-VP_RNG_VS_RNG.Mode=RNG_Activate
-VP_RNG_VS_RNG.Signal=RNG_VS_RNG
-VP_SYS_VS_Systick.Mode=SysTick
-VP_SYS_VS_Systick.Signal=SYS_VS_Systick
-board=custom
diff --git a/resources/downloads/nucleo_h723zg.ioc b/resources/downloads/nucleo_h723zg.ioc
deleted file mode 100644
index cbeee74c..00000000
--- a/resources/downloads/nucleo_h723zg.ioc
+++ /dev/null
@@ -1,225 +0,0 @@
-#MicroXplorer Configuration settings - do not modify
-CAD.formats=
-CAD.pinconfig=
-CAD.provider=
-CORTEX_M7.IPParameters=default_mode_Activation
-CORTEX_M7.default_mode_Activation=1
-Cesanta.I-CUBE-Mongoose.7.21.7.IPParameters=MongooseJjNetworkingOoCore,MongooseJjWebOoDeviceOoDashboard
-Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjNetworkingOoCore=true
-Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjNetworkingOoCore_Checked=true
-Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjWebOoDeviceOoDashboard=true
-Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjWebOoDeviceOoDashboard_Checked=true
-Cesanta.I-CUBE-Mongoose.7.21.7_SwParameter=MongooseJjNetworkingOoCore\:true;MongooseJjWebOoDeviceOoDashboard\:true;MongooseJjMQTTOoClient\:true;
-ETH.IPParameters=MediaInterface
-ETH.MediaInterface=HAL_ETH_RMII_MODE
-File.Version=6
-GPIO.groupedBy=
-KeepUserPlacement=false
-MMTAppRegionsCount=0
-MMTConfigApplied=false
-MMTSectionSuffix=
-Mcu.CPN=STM32H723ZGT6
-Mcu.Family=STM32H7
-Mcu.IP0=CORTEX_M7
-Mcu.IP1=ETH
-Mcu.IP2=MEMORYMAP
-Mcu.IP3=NVIC
-Mcu.IP4=RCC
-Mcu.IP5=RNG
-Mcu.IP6=SYS
-Mcu.IP7=USART3
-Mcu.IPNb=8
-Mcu.Name=STM32H723ZGTx
-Mcu.Package=LQFP144
-Mcu.Pin0=PC1
-Mcu.Pin1=PA1
-Mcu.Pin10=PD9
-Mcu.Pin11=PG11
-Mcu.Pin12=PG13
-Mcu.Pin13=PE1
-Mcu.Pin14=VP_RNG_VS_RNG
-Mcu.Pin15=VP_SYS_VS_Systick
-Mcu.Pin16=VP_MEMORYMAP_VS_MEMORYMAP
-Mcu.Pin17=VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7
-Mcu.Pin18=VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7
-Mcu.Pin2=PA2
-Mcu.Pin3=PA7
-Mcu.Pin4=PC4
-Mcu.Pin5=PC5
-Mcu.Pin6=PB0
-Mcu.Pin7=PB13
-Mcu.Pin8=PB14
-Mcu.Pin9=PD8
-Mcu.PinsNb=19
-Mcu.ThirdParty0=Cesanta.I-CUBE-Mongoose.7.21.7
-Mcu.ThirdPartyNb=1
-Mcu.UserConstants=
-Mcu.UserName=STM32H723ZGTx
-MxCube.Version=6.17.0
-MxDb.Version=DB.6.0.170
-NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-NVIC.ForceEnableDMAVector=true
-NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
-NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:false\:true\:false
-NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-PA1.Mode=RMII
-PA1.Signal=ETH_REF_CLK
-PA2.Mode=RMII
-PA2.Signal=ETH_MDIO
-PA7.Mode=RMII
-PA7.Signal=ETH_CRS_DV
-PB0.Locked=true
-PB0.Signal=GPIO_Output
-PB13.Mode=RMII
-PB13.Signal=ETH_TXD1
-PB14.Locked=true
-PB14.Signal=GPIO_Output
-PC1.Mode=RMII
-PC1.Signal=ETH_MDC
-PC4.Mode=RMII
-PC4.Signal=ETH_RXD0
-PC5.Mode=RMII
-PC5.Signal=ETH_RXD1
-PD8.Locked=true
-PD8.Mode=Asynchronous
-PD8.Signal=USART3_TX
-PD9.Locked=true
-PD9.Mode=Asynchronous
-PD9.Signal=USART3_RX
-PE1.Locked=true
-PE1.Signal=GPIO_Output
-PG11.Locked=true
-PG11.Mode=RMII
-PG11.Signal=ETH_TX_EN
-PG13.Locked=true
-PG13.Mode=RMII
-PG13.Signal=ETH_TXD0
-PinOutPanel.RotationAngle=0
-ProjectManager.AskForMigrate=true
-ProjectManager.BackupPrevious=false
-ProjectManager.CompilerLinker=GCC
-ProjectManager.CompilerOptimize=6
-ProjectManager.ComputerToolchain=false
-ProjectManager.CoupleFile=false
-ProjectManager.CustomerFirmwarePackage=
-ProjectManager.DefaultFWLocation=true
-ProjectManager.DeletePrevious=true
-ProjectManager.DeviceId=STM32H723ZGTx
-ProjectManager.FirmwarePackage=STM32Cube FW_H7 V1.13.0
-ProjectManager.FreePins=false
-ProjectManager.FreePinsContext=
-ProjectManager.HalAssertFull=false
-ProjectManager.HeapSize=0x10000
-ProjectManager.KeepUserCode=true
-ProjectManager.LastFirmware=true
-ProjectManager.LibraryCopy=1
-ProjectManager.MainLocation=Core/Src
-ProjectManager.NoMain=false
-ProjectManager.PreviousToolchain=
-ProjectManager.ProjectBuild=false
-ProjectManager.ProjectFileName=h723.ioc
-ProjectManager.ProjectName=h723
-ProjectManager.ProjectStructure=
-ProjectManager.RegisterCallBack=
-ProjectManager.StackSize=0x2000
-ProjectManager.TargetToolchain=CMake
-ProjectManager.ToolChainLocation=
-ProjectManager.UAScriptAfterPath=
-ProjectManager.UAScriptBeforePath=
-ProjectManager.UnderRoot=false
-ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_ETH_Init-ETH-false-HAL-true,4-MX_RNG_Init-RNG-false-HAL-true,5-MX_USART3_UART_Init-USART3-false-HAL-true,0-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true
-RCC.ADCFreq_Value=129000000
-RCC.AHB12Freq_Value=275000000
-RCC.AHB4Freq_Value=275000000
-RCC.APB1Freq_Value=137500000
-RCC.APB2Freq_Value=137500000
-RCC.APB3Freq_Value=137500000
-RCC.APB4Freq_Value=137500000
-RCC.AXIClockFreq_Value=275000000
-RCC.CECFreq_Value=32000
-RCC.CKPERFreq_Value=64000000
-RCC.CortexFreq_Value=550000000
-RCC.CpuClockFreq_Value=550000000
-RCC.D1CPREFreq_Value=550000000
-RCC.D1PPRE=RCC_APB3_DIV2
-RCC.D2PPRE1=RCC_APB1_DIV2
-RCC.D2PPRE2=RCC_APB2_DIV2
-RCC.D3PPRE=RCC_APB4_DIV2
-RCC.DFSDMACLkFreq_Value=275000000
-RCC.DFSDMFreq_Value=137500000
-RCC.DIVM1=4
-RCC.DIVN1=34
-RCC.DIVP1=1
-RCC.DIVP1Freq_Value=550000000
-RCC.DIVP2Freq_Value=129000000
-RCC.DIVP3Freq_Value=129000000
-RCC.DIVQ1Freq_Value=275000000
-RCC.DIVQ2Freq_Value=129000000
-RCC.DIVQ3Freq_Value=129000000
-RCC.DIVR1Freq_Value=275000000
-RCC.DIVR2Freq_Value=129000000
-RCC.DIVR3Freq_Value=129000000
-RCC.FDCANFreq_Value=275000000
-RCC.FMCFreq_Value=275000000
-RCC.FamilyName=M
-RCC.HCLK3ClockFreq_Value=275000000
-RCC.HCLKFreq_Value=275000000
-RCC.HPRE=RCC_HCLK_DIV2
-RCC.I2C123Freq_Value=137500000
-RCC.I2C4Freq_Value=137500000
-RCC.IPParameters=ADCFreq_Value,AHB12Freq_Value,AHB4Freq_Value,APB1Freq_Value,APB2Freq_Value,APB3Freq_Value,APB4Freq_Value,AXIClockFreq_Value,CECFreq_Value,CKPERFreq_Value,CortexFreq_Value,CpuClockFreq_Value,D1CPREFreq_Value,D1PPRE,D2PPRE1,D2PPRE2,D3PPRE,DFSDMACLkFreq_Value,DFSDMFreq_Value,DIVM1,DIVN1,DIVP1,DIVP1Freq_Value,DIVP2Freq_Value,DIVP3Freq_Value,DIVQ1Freq_Value,DIVQ2Freq_Value,DIVQ3Freq_Value,DIVR1Freq_Value,DIVR2Freq_Value,DIVR3Freq_Value,FDCANFreq_Value,FMCFreq_Value,FamilyName,HCLK3ClockFreq_Value,HCLKFreq_Value,HPRE,I2C123Freq_Value,I2C4Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPTIM345Freq_Value,LPUART1Freq_Value,LTDCFreq_Value,MCO1PinFreq_Value,MCO2PinFreq_Value,PLL2FRACN,PLL3FRACN,PLLFRACN,QSPIFreq_Value,RNGFreq_Value,RTCFreq_Value,SAI1Freq_Value,SAI4AFreq_Value,SAI4BFreq_Value,SDMMCFreq_Value,SPDIFRXFreq_Value,SPI123Freq_Value,SPI45Freq_Value,SPI6Freq_Value,SWPMI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,Tim1OutputFreq_Value,Tim2OutputFreq_Value,TraceFreq_Value,USART16Freq_Value,USART234578Freq_Value,USBFreq_Value,VCO1OutputFreq_Value,VCO2OutputFreq_Value,VCO3OutputFreq_Value,VCOInput1Freq_Value,VCOInput2Freq_Value,VCOInput3Freq_Value
-RCC.LPTIM1Freq_Value=137500000
-RCC.LPTIM2Freq_Value=137500000
-RCC.LPTIM345Freq_Value=137500000
-RCC.LPUART1Freq_Value=137500000
-RCC.LTDCFreq_Value=129000000
-RCC.MCO1PinFreq_Value=64000000
-RCC.MCO2PinFreq_Value=550000000
-RCC.PLL2FRACN=0
-RCC.PLL3FRACN=0
-RCC.PLLFRACN=3072
-RCC.QSPIFreq_Value=275000000
-RCC.RNGFreq_Value=48000000
-RCC.RTCFreq_Value=32000
-RCC.SAI1Freq_Value=275000000
-RCC.SAI4AFreq_Value=275000000
-RCC.SAI4BFreq_Value=275000000
-RCC.SDMMCFreq_Value=275000000
-RCC.SPDIFRXFreq_Value=275000000
-RCC.SPI123Freq_Value=275000000
-RCC.SPI45Freq_Value=137500000
-RCC.SPI6Freq_Value=137500000
-RCC.SWPMI1Freq_Value=137500000
-RCC.SYSCLKFreq_VALUE=550000000
-RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
-RCC.Tim1OutputFreq_Value=275000000
-RCC.Tim2OutputFreq_Value=275000000
-RCC.TraceFreq_Value=64000000
-RCC.USART16Freq_Value=137500000
-RCC.USART234578Freq_Value=137500000
-RCC.USBFreq_Value=275000000
-RCC.VCO1OutputFreq_Value=550000000
-RCC.VCO2OutputFreq_Value=258000000
-RCC.VCO3OutputFreq_Value=258000000
-RCC.VCOInput1Freq_Value=16000000
-RCC.VCOInput2Freq_Value=2000000
-RCC.VCOInput3Freq_Value=2000000
-USART3.IPParameters=VirtualMode-Asynchronous
-USART3.VirtualMode-Asynchronous=VM_ASYNC
-VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7.Mode=MongooseJjNetworkingOoCore
-VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7.Signal=Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7
-VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7.Mode=MongooseJjWebOoDeviceOoDashboard
-VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7.Signal=Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7
-VP_MEMORYMAP_VS_MEMORYMAP.Mode=CurAppReg
-VP_MEMORYMAP_VS_MEMORYMAP.Signal=MEMORYMAP_VS_MEMORYMAP
-VP_RNG_VS_RNG.Mode=RNG_Activate
-VP_RNG_VS_RNG.Signal=RNG_VS_RNG
-VP_SYS_VS_Systick.Mode=SysTick
-VP_SYS_VS_Systick.Signal=SYS_VS_Systick
-board=custom
diff --git a/tutorials/stm32/nucleo_f429zi/cubemx/nucleo_f429zi.ioc b/tutorials/stm32/nucleo_f429zi/cubemx/nucleo_f429zi.ioc
index a48d5836..d5019e52 100644
--- a/tutorials/stm32/nucleo_f429zi/cubemx/nucleo_f429zi.ioc
+++ b/tutorials/stm32/nucleo_f429zi/cubemx/nucleo_f429zi.ioc
@@ -33,12 +33,12 @@ Mcu.Pin6=PB0
Mcu.Pin7=PB13
Mcu.Pin8=PB14
Mcu.Pin9=PD8
-Mcu.PinsNb=16
+Mcu.PinsNb=17
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32F429ZITx
-MxCube.Version=6.11.1
-MxDb.Version=DB.6.0.111
+MxCube.Version=6.17.0
+MxDb.Version=DB.6.0.170
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.ETH_IRQn=true\:0\:0\:false\:false\:false\:true\:false\:true
@@ -71,6 +71,14 @@ PC4.Mode=RMII
PC4.Signal=ETH_RXD0
PC5.Mode=RMII
PC5.Signal=ETH_RXD1
+PCC.Checker=false
+PCC.Display=Plot\: All Steps
+PCC.Line=STM32F429/439
+PCC.MCU=STM32F429ZITx
+PCC.PartNumber=STM32F429ZITx
+PCC.Series=STM32F4
+PCC.Temperature=25
+PCC.Vdd=3.3
PD8.Locked=true
PD8.Mode=Asynchronous
PD8.Signal=USART3_TX
@@ -86,6 +94,7 @@ PG13.Signal=ETH_TXD0
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
+ProjectManager.CompilerLinker=GCC
ProjectManager.CompilerOptimize=6
ProjectManager.ComputerToolchain=false
ProjectManager.CoupleFile=false
@@ -93,10 +102,11 @@ ProjectManager.CustomerFirmwarePackage=
ProjectManager.DefaultFWLocation=true
ProjectManager.DeletePrevious=true
ProjectManager.DeviceId=STM32F429ZITx
-ProjectManager.FirmwarePackage=STM32Cube FW_F4 V1.28.0
+ProjectManager.FirmwarePackage=STM32Cube FW_F4 V1.28.3
ProjectManager.FreePins=false
+ProjectManager.FreePinsContext=
ProjectManager.HalAssertFull=false
-ProjectManager.HeapSize=0x200
+ProjectManager.HeapSize=0x10000
ProjectManager.KeepUserCode=true
ProjectManager.LastFirmware=true
ProjectManager.LibraryCopy=1
@@ -104,16 +114,16 @@ ProjectManager.MainLocation=Core/Src
ProjectManager.NoMain=false
ProjectManager.PreviousToolchain=
ProjectManager.ProjectBuild=false
-ProjectManager.ProjectFileName=f429zi.ioc
-ProjectManager.ProjectName=f429zi
+ProjectManager.ProjectFileName=nucleo_f429zi.ioc
+ProjectManager.ProjectName=nucleo_f429zi
ProjectManager.ProjectStructure=
ProjectManager.RegisterCallBack=RNG
-ProjectManager.StackSize=0x400
-ProjectManager.TargetToolchain=STM32CubeIDE
+ProjectManager.StackSize=0x2000
+ProjectManager.TargetToolchain=CMake
ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath=
-ProjectManager.UnderRoot=true
+ProjectManager.UnderRoot=false
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_ETH_Init-ETH-false-HAL-true,4-MX_USART3_UART_Init-USART3-false-HAL-true,5-MX_RNG_Init-RNG-false-HAL-true
RCC.48MHZClocksFreq_Value=45000000
RCC.AHBFreq_Value=180000000
@@ -162,4 +172,3 @@ VP_RNG_VS_RNG.Signal=RNG_VS_RNG
VP_SYS_VS_Systick.Mode=SysTick
VP_SYS_VS_Systick.Signal=SYS_VS_Systick
board=custom
-isbadioc=false
diff --git a/tutorials/stm32/nucleo_f756zg/cubemx/nucleo_f756zg.ioc b/tutorials/stm32/nucleo_f756zg/cubemx/nucleo_f756zg.ioc
index 1538131e..ba3c378c 100644
--- a/tutorials/stm32/nucleo_f756zg/cubemx/nucleo_f756zg.ioc
+++ b/tutorials/stm32/nucleo_f756zg/cubemx/nucleo_f756zg.ioc
@@ -4,12 +4,6 @@ CAD.pinconfig=
CAD.provider=
CORTEX_M7.IPParameters=default_mode_Activation
CORTEX_M7.default_mode_Activation=1
-Cesanta.I-CUBE-Mongoose.7.21.7.IPParameters=MongooseJjNetworkingOoCore,MongooseJjWebOoDeviceOoDashboard
-Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjNetworkingOoCore=true
-Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjNetworkingOoCore_Checked=true
-Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjWebOoDeviceOoDashboard=true
-Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjWebOoDeviceOoDashboard_Checked=true
-Cesanta.I-CUBE-Mongoose.7.21.7_SwParameter=MongooseJjNetworkingOoCore\:true;MongooseJjWebOoDeviceOoDashboard\:true;MongooseJjMQTTOoClient\:true;
ETH.IPParameters=MediaInterface
ETH.MediaInterface=HAL_ETH_RMII_MODE
File.Version=6
@@ -35,8 +29,6 @@ Mcu.Pin12=PG13
Mcu.Pin13=PB7
Mcu.Pin14=VP_RNG_VS_RNG
Mcu.Pin15=VP_SYS_VS_Systick
-Mcu.Pin16=VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7
-Mcu.Pin17=VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7
Mcu.Pin2=PA2
Mcu.Pin3=PA7
Mcu.Pin4=PC4
@@ -46,8 +38,7 @@ Mcu.Pin7=PB13
Mcu.Pin8=PB14
Mcu.Pin9=PD8
Mcu.PinsNb=18
-Mcu.ThirdParty0=Cesanta.I-CUBE-Mongoose.7.21.7
-Mcu.ThirdPartyNb=1
+Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32F756ZGTx
MxCube.Version=6.17.0
@@ -199,10 +190,6 @@ RCC.VCOOutputFreq_Value=432000000
RCC.VCOSAIOutputFreq_Value=384000000
USART3.IPParameters=VirtualMode-Asynchronous
USART3.VirtualMode-Asynchronous=VM_ASYNC
-VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7.Mode=MongooseJjNetworkingOoCore
-VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7.Signal=Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7
-VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7.Mode=MongooseJjWebOoDeviceOoDashboard
-VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7.Signal=Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7
VP_RNG_VS_RNG.Mode=RNG_Activate
VP_RNG_VS_RNG.Signal=RNG_VS_RNG
VP_SYS_VS_Systick.Mode=SysTick
diff --git a/tutorials/stm32/nucleo_h563zi/cubemx/nucleo_h563zi.ioc b/tutorials/stm32/nucleo_h563zi/cubemx/nucleo_h563zi.ioc
index 89418b61..299fcef8 100644
--- a/tutorials/stm32/nucleo_h563zi/cubemx/nucleo_h563zi.ioc
+++ b/tutorials/stm32/nucleo_h563zi/cubemx/nucleo_h563zi.ioc
@@ -9,12 +9,6 @@ CORTEX_M33_NS.IPParameters=default_mode_Activation,Number-Cortex_Memory_Protecti
CORTEX_M33_NS.Number-Cortex_Memory_Protection_Unit_Region0_OTP_RO_AREAS_Settings=MPU_REGION_NUMBER0
CORTEX_M33_NS.default_mode_Activation=1
CORTEX_M33_NS.userName=CORTEX_M33
-Cesanta.I-CUBE-Mongoose.7.21.7.IPParameters=MongooseJjNetworkingOoCore,MongooseJjWebOoDeviceOoDashboard
-Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjNetworkingOoCore=true
-Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjNetworkingOoCore_Checked=true
-Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjWebOoDeviceOoDashboard=true
-Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjWebOoDeviceOoDashboard_Checked=true
-Cesanta.I-CUBE-Mongoose.7.21.7_SwParameter=MongooseJjNetworkingOoCore\:true;MongooseJjWebOoDeviceOoDashboard\:true;
ETH.IPParameters=MediaInterface
ETH.MediaInterface=HAL_ETH_RMII_MODE
File.Version=6
@@ -55,8 +49,6 @@ Mcu.Pin19=VP_SYS_VS_Systick
Mcu.Pin2=PA1
Mcu.Pin20=VP_BOOTPATH_VS_BOOTPATH
Mcu.Pin21=VP_MEMORYMAP_VS_MEMORYMAP
-Mcu.Pin22=VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7
-Mcu.Pin23=VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7
Mcu.Pin3=PA2
Mcu.Pin4=PA7
Mcu.Pin5=PC4
@@ -65,8 +57,7 @@ Mcu.Pin7=PB0
Mcu.Pin8=PB15
Mcu.Pin9=PD8
Mcu.PinsNb=24
-Mcu.ThirdParty0=Cesanta.I-CUBE-Mongoose.7.21.7
-Mcu.ThirdPartyNb=1
+Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32H563ZITx
MxCube.Version=6.17.0
@@ -249,10 +240,6 @@ VP_BOOTPATH_VS_BOOTPATH.Mode=BP_Activate
VP_BOOTPATH_VS_BOOTPATH.Signal=BOOTPATH_VS_BOOTPATH
VP_CORTEX_M33_NS_VS_Hclk.Mode=Hclk_Mode
VP_CORTEX_M33_NS_VS_Hclk.Signal=CORTEX_M33_NS_VS_Hclk
-VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7.Mode=MongooseJjNetworkingOoCore
-VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7.Signal=Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7
-VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7.Mode=MongooseJjWebOoDeviceOoDashboard
-VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7.Signal=Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7
VP_ICACHE_VS_ICACHE.Mode=DirectMappedCache
VP_ICACHE_VS_ICACHE.Signal=ICACHE_VS_ICACHE
VP_MEMORYMAP_VS_MEMORYMAP.Mode=CurAppReg
diff --git a/tutorials/stm32/nucleo_h723zg/cubemx/nucleo_h723zg.ioc b/tutorials/stm32/nucleo_h723zg/cubemx/nucleo_h723zg.ioc
index cbeee74c..7bddbf21 100644
--- a/tutorials/stm32/nucleo_h723zg/cubemx/nucleo_h723zg.ioc
+++ b/tutorials/stm32/nucleo_h723zg/cubemx/nucleo_h723zg.ioc
@@ -4,12 +4,6 @@ CAD.pinconfig=
CAD.provider=
CORTEX_M7.IPParameters=default_mode_Activation
CORTEX_M7.default_mode_Activation=1
-Cesanta.I-CUBE-Mongoose.7.21.7.IPParameters=MongooseJjNetworkingOoCore,MongooseJjWebOoDeviceOoDashboard
-Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjNetworkingOoCore=true
-Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjNetworkingOoCore_Checked=true
-Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjWebOoDeviceOoDashboard=true
-Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjWebOoDeviceOoDashboard_Checked=true
-Cesanta.I-CUBE-Mongoose.7.21.7_SwParameter=MongooseJjNetworkingOoCore\:true;MongooseJjWebOoDeviceOoDashboard\:true;MongooseJjMQTTOoClient\:true;
ETH.IPParameters=MediaInterface
ETH.MediaInterface=HAL_ETH_RMII_MODE
File.Version=6
@@ -40,8 +34,6 @@ Mcu.Pin13=PE1
Mcu.Pin14=VP_RNG_VS_RNG
Mcu.Pin15=VP_SYS_VS_Systick
Mcu.Pin16=VP_MEMORYMAP_VS_MEMORYMAP
-Mcu.Pin17=VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7
-Mcu.Pin18=VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7
Mcu.Pin2=PA2
Mcu.Pin3=PA7
Mcu.Pin4=PC4
@@ -51,8 +43,7 @@ Mcu.Pin7=PB13
Mcu.Pin8=PB14
Mcu.Pin9=PD8
Mcu.PinsNb=19
-Mcu.ThirdParty0=Cesanta.I-CUBE-Mongoose.7.21.7
-Mcu.ThirdPartyNb=1
+Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32H723ZGTx
MxCube.Version=6.17.0
@@ -212,10 +203,6 @@ RCC.VCOInput2Freq_Value=2000000
RCC.VCOInput3Freq_Value=2000000
USART3.IPParameters=VirtualMode-Asynchronous
USART3.VirtualMode-Asynchronous=VM_ASYNC
-VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7.Mode=MongooseJjNetworkingOoCore
-VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7.Signal=Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7
-VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7.Mode=MongooseJjWebOoDeviceOoDashboard
-VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7.Signal=Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7
VP_MEMORYMAP_VS_MEMORYMAP.Mode=CurAppReg
VP_MEMORYMAP_VS_MEMORYMAP.Signal=MEMORYMAP_VS_MEMORYMAP
VP_RNG_VS_RNG.Mode=RNG_Activate
diff --git a/tutorials/stm32/nucleo_n657x0_q/cubemx/nucleo_n657x0_q.ioc b/tutorials/stm32/nucleo_n657x0_q/cubemx/nucleo_n657x0_q.ioc
index dfc17da2..d196fe45 100644
--- a/tutorials/stm32/nucleo_n657x0_q/cubemx/nucleo_n657x0_q.ioc
+++ b/tutorials/stm32/nucleo_n657x0_q/cubemx/nucleo_n657x0_q.ioc
@@ -171,7 +171,7 @@ ProjectManager.FirmwarePackage=STM32Cube FW_N6 V1.3.0
ProjectManager.FreePins=false
ProjectManager.FreePinsContext=FSBL
ProjectManager.HalAssertFull=false
-ProjectManager.HeapSize=FSBL-0x200,Appli-0x200,ExtMemLoader-0x200
+ProjectManager.HeapSize=FSBL-0x10000,Appli-0x200,ExtMemLoader-0x200
ProjectManager.KeepUserCode=true
ProjectManager.LastFirmware=true
ProjectManager.LibraryCopy=1
@@ -179,12 +179,12 @@ ProjectManager.MainLocation=Core/Src
ProjectManager.NoMain=false
ProjectManager.PreviousToolchain=STM32CubeIDE
ProjectManager.ProjectBuild=false
-ProjectManager.ProjectFileName=n567.ioc
-ProjectManager.ProjectName=n567
+ProjectManager.ProjectFileName=nucleo_n657x0_q.ioc
+ProjectManager.ProjectName=nucleo_n657x0_q
ProjectManager.ProjectStructure=FSBL\:FSBL\:true;Appli\:Appli\:false;ExtMemLoader\:ExtMemLoader\:false;
ProjectManager.RegisterCallBack=
-ProjectManager.StackSize=FSBL-0x800,Appli-0x800,ExtMemLoader-0x800
-ProjectManager.TargetToolchain=STM32CubeIDE
+ProjectManager.StackSize=FSBL-0x2000,Appli-0x800,ExtMemLoader-0x800
+ProjectManager.TargetToolchain=CMake
ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath=