From f2372fd85ef3e1f98291065a27172c78d97b83dc Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Thu, 14 Apr 2022 10:21:20 +0200 Subject: [PATCH 1/2] Update BL sketches to return N/A if external RAM is missing --- .../STM32H747_getBootloaderInfo.ino | 9 ++++++++- .../STM32H747_updateBootloader.ino | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/libraries/STM32H747_System/examples/STM32H747_getBootloaderInfo/STM32H747_getBootloaderInfo.ino b/libraries/STM32H747_System/examples/STM32H747_getBootloaderInfo/STM32H747_getBootloaderInfo.ino index 6fca30832..d77203ab0 100644 --- a/libraries/STM32H747_System/examples/STM32H747_getBootloaderInfo/STM32H747_getBootloaderInfo.ino +++ b/libraries/STM32H747_System/examples/STM32H747_getBootloaderInfo/STM32H747_getBootloaderInfo.ino @@ -19,7 +19,7 @@ void setup() { Serial.println("USB Speed: " + getUSBSpeed(bootloader_data[3])); Serial.println("Has Ethernet: " + String(bootloader_data[4] == 1 ? "Yes" : "No")); Serial.println("Has WiFi module: " + String(bootloader_data[5] == 1 ? "Yes" : "No")); - Serial.println("RAM size: " + String(bootloader_data[6]) + " MB"); + Serial.println("RAM size: " + getRAMSize(bootloader_data[6])); Serial.println("QSPI size: " + String(bootloader_data[7]) + " MB"); Serial.println("Has Video output: " + String(bootloader_data[8] == 1 ? "Yes" : "No")); Serial.println("Has Crypto chip: " + String(bootloader_data[9] == 1 ? "Yes" : "No")); @@ -49,6 +49,13 @@ String getClockSource(uint8_t flag) { } } +String getRAMSize(uint8_t flag) { + if (flag == 0) { + return "N/A"; + } + return (String(flag) + "MB"); +} + void loop() { delay(1000); } diff --git a/libraries/STM32H747_System/examples/STM32H747_updateBootloader/STM32H747_updateBootloader.ino b/libraries/STM32H747_System/examples/STM32H747_updateBootloader/STM32H747_updateBootloader.ino index b5dbe9671..efe9fa179 100644 --- a/libraries/STM32H747_System/examples/STM32H747_updateBootloader/STM32H747_updateBootloader.ino +++ b/libraries/STM32H747_System/examples/STM32H747_updateBootloader/STM32H747_updateBootloader.ino @@ -60,7 +60,7 @@ void setup() { Serial.println("USB Speed: " + getUSBSpeed(bootloader_data[3])); Serial.println("Has Ethernet: " + String(bootloader_data[4] == 1 ? "Yes" : "No")); Serial.println("Has WiFi module: " + String(bootloader_data[5] == 1 ? "Yes" : "No")); - Serial.println("RAM size: " + String(bootloader_data[6]) + " MB"); + Serial.println("RAM size: " + getRAMSize(bootloader_data[6])); Serial.println("QSPI size: " + String(bootloader_data[7]) + " MB"); Serial.println("Has Video output: " + String(bootloader_data[8] == 1 ? "Yes" : "No")); Serial.println("Has Crypto chip: " + String(bootloader_data[9] == 1 ? "Yes" : "No")); @@ -172,6 +172,13 @@ String getClockSource(uint8_t flag) { } } +String getRAMSize(uint8_t flag) { + if (flag == 0) { + return "N/A"; + } + return (String(flag) + "MB"); +} + void printProgress(uint32_t offset, uint32_t size, uint32_t threshold, bool reset) { static int percent_done = 0; if (reset == true) { From 43fce2dbd3772f9096df8844bb885105ecdfd4b7 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Thu, 14 Apr 2022 10:40:17 +0200 Subject: [PATCH 2/2] Update Nicla Vision BL binaries with fixed RAM byte descriptor --- bootloaders/NICLA_VISION/bootloader.bin | Bin 128044 -> 128044 bytes bootloaders/NICLA_VISION/bootloader.elf | Bin 4259240 -> 4259240 bytes .../nicla_vision_bootloader.h | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/bootloaders/NICLA_VISION/bootloader.bin b/bootloaders/NICLA_VISION/bootloader.bin index 2eeb6505c7d4df7e9e7147716645e48fd1a3eb16..0db1c77c0dd17e8f86b290dde13eac21221243cd 100755 GIT binary patch delta 19 bcmZ4Uf_=>k_J%EtY#$gIwzGd=RAm7GR)q&U delta 19 bcmZ4Uf_=>k_J%EtY#$gowzGd=RAm7GR=o#9 diff --git a/bootloaders/NICLA_VISION/bootloader.elf b/bootloaders/NICLA_VISION/bootloader.elf index 579cdda71af3e4cf3fc7e686153ece44673ca6ad..b6fe6b289b6c424ee97f89387a23d4428c8dbbb9 100755 GIT binary patch delta 273 zcmWN=M@|9(002N1kwrwRQ~{-^Sg2wFL42Bt2j9Vs2axctJ$qp$nce?yeCN+TNJc^I zFN^}?o|y2|q@gL#OnYv|3$y0TTd-)!OUqWQTC;A$E1R}#d+m)KyY}pR>z(%weDKjH hpB*}K?8K=vU!42uo9}+OaOtNj*M7MX?_+)|*(9ru(dQ{jOsHR?2Yq{$O4+H`oP jOOHMSUKlcB%!F5_%y?tYf+Z`~yz{{)Uq4~AIb{9-e?xCW diff --git a/libraries/STM32H747_System/examples/STM32H747_updateBootloader/nicla_vision_bootloader.h b/libraries/STM32H747_System/examples/STM32H747_updateBootloader/nicla_vision_bootloader.h index 6fff31c93..73a237659 100644 --- a/libraries/STM32H747_System/examples/STM32H747_updateBootloader/nicla_vision_bootloader.h +++ b/libraries/STM32H747_System/examples/STM32H747_updateBootloader/nicla_vision_bootloader.h @@ -10582,7 +10582,7 @@ const unsigned char bootloader_mbed_bin[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xa0, 0x17, 0x08, 0x01, 0x00, 0x01, 0x08, 0x10, + 0x00, 0x00, 0x00, 0x00, 0xa0, 0x17, 0x08, 0x01, 0x00, 0x01, 0x00, 0x10, 0x00, 0x01, 0x19, 0x00, 0xcc, 0x12, 0xfe, 0x7f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0a, 0x00, 0x08, 0xd5, 0x09, 0x00, 0x08, 0xb5, 0x0b, 0x00, 0x08, 0x89, 0x0a, 0x00, 0x08, 0xa1, 0x09, 0x00, 0x08,