From 235d91a25afa2c009d75767253cdb15bad30a5b7 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Thu, 17 Mar 2022 11:59:20 +0100 Subject: [PATCH 1/3] Giga: Add target --- app/board.h | 66 ++++++++++++++++++++++++++ app/power/power.cpp | 2 + generate_rel.sh | 30 +++++++++++- mbed_app.json | 17 +++++++ mbed_app_giga.json | 100 ++++++++++++++++++++++++++++++++++++++++ mbed_app_giga_wifi.json | 99 +++++++++++++++++++++++++++++++++++++++ 6 files changed, 313 insertions(+), 1 deletion(-) create mode 100644 mbed_app_giga.json create mode 100644 mbed_app_giga_wifi.json diff --git a/app/board.h b/app/board.h index c511af7..3b13cff 100644 --- a/app/board.h +++ b/app/board.h @@ -273,6 +273,72 @@ #define BOARD_USB_OTG_HS_DIR_PULL (GPIO_NOPULL) #define BOARD_USB_OTG_HS_DIR_ALTERNATE (GPIO_AF10_OTG2_HS) #define BOARD_USB_OTG_HS_DIR_GPIO (GPIOC) + +#elif defined TARGET_GIGA + #define BOARD_GREEN_LED PJ_13 + #define BOARD_RED_LED PI_12 + #define BOARD_BLUE_LED PE_3 + + #define BOARD_LED_OFF 1 + + #define BOARD_USBD_VID 0x2341 + #define BOARD_USBD_PID 0x0366 + + #define BOARD_USBD_STRING "Giga" + + #define BOARD_QSPI_SO0 PD_11 + #define BOARD_QSPI_SO1 PD_12 + #define BOARD_QSPI_SO2 PE_2 + #define BOARD_QSPI_SO3 PF_6 + #define BOARD_QSPI_SCK PF_10 + #define BOARD_QSPI_CS PG_6 + + #define BOARD_USB_OTG_FS_DM_DP_PIN (GPIO_PIN_11 | GPIO_PIN_12) + #define BOARD_USB_OTG_FS_DM_DP_MODE (GPIO_MODE_AF_PP) + #define BOARD_USB_OTG_FS_DM_DP_PULL (GPIO_NOPULL) + #define BOARD_USB_OTG_FS_DM_DP_SPEED (GPIO_SPEED_FREQ_VERY_HIGH) + #define BOARD_USB_OTG_FS_DM_DP_ALTERNATE (GPIO_AF10_OTG1_FS) + #define BOARD_USB_OTG_FS_DM_DP_GPIO (GPIOA) + + #define BOARD_USB_OTG_HS_CLK_PIN (GPIO_PIN_5) + #define BOARD_USB_OTG_HS_CLK_MODE (GPIO_MODE_AF_PP) + #define BOARD_USB_OTG_HS_CLK_PULL (GPIO_NOPULL) + #define BOARD_USB_OTG_HS_CLK_SPEED (GPIO_SPEED_FREQ_VERY_HIGH) + #define BOARD_USB_OTG_HS_CLK_ALTERNATE (GPIO_AF10_OTG2_HS) + #define BOARD_USB_OTG_HS_CLK_GPIO (GPIOA) + + #define BOARD_USB_OTG_HS_D0_PIN (GPIO_PIN_3) + #define BOARD_USB_OTG_HS_D0_MODE (GPIO_MODE_AF_PP) + #define BOARD_USB_OTG_HS_D0_PULL (GPIO_NOPULL) + #define BOARD_USB_OTG_HS_D0_SPEED (GPIO_SPEED_FREQ_VERY_HIGH) + #define BOARD_USB_OTG_HS_D0_ALTERNATE (GPIO_AF10_OTG2_HS) + #define BOARD_USB_OTG_HS_D0_GPIO (GPIOA) + + #define BOARD_USB_OTG_HS_D1_D7_PIN (GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_5 | GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12 | GPIO_PIN_13) + #define BOARD_USB_OTG_HS_D1_D7_MODE (GPIO_MODE_AF_PP) + #define BOARD_USB_OTG_HS_D1_D7_PULL (GPIO_NOPULL) + #define BOARD_USB_OTG_HS_D1_D7_ALTERNATE (GPIO_AF10_OTG2_HS) + #define BOARD_USB_OTG_HS_D1_D7_GPIO (GPIOB) + + #define BOARD_USB_OTG_HS_STP_PIN (GPIO_PIN_0) + #define BOARD_USB_OTG_HS_STP_MODE (GPIO_MODE_AF_PP) + #define BOARD_USB_OTG_HS_STP_PULL (GPIO_NOPULL) + #define BOARD_USB_OTG_HS_STP_ALTERNATE (GPIO_AF10_OTG2_HS) + #define BOARD_USB_OTG_HS_STP_GPIO (GPIOC) + + #define BOARD_USB_OTG_HS_NXT_PIN (GPIO_PIN_4) + #define BOARD_USB_OTG_HS_NXT_MODE (GPIO_MODE_AF_PP) + #define BOARD_USB_OTG_HS_NXT_PULL (GPIO_NOPULL) + #define BOARD_USB_OTG_HS_NXT_ALTERNATE (GPIO_AF10_OTG2_HS) + #define BOARD_USB_OTG_HS_NXT_GPIO (GPIOH) + + #define BOARD_USB_OTG_HS_DIR_PIN (GPIO_PIN_11) + #define BOARD_USB_OTG_HS_DIR_MODE (GPIO_MODE_AF_PP) + #define BOARD_USB_OTG_HS_DIR_PULL (GPIO_NOPULL) + #define BOARD_USB_OTG_HS_DIR_ALTERNATE (GPIO_AF10_OTG2_HS) + #define BOARD_USB_OTG_HS_DIR_GPIO (GPIOI) +#else + #endif #endif /* __BOARD_H */ diff --git a/app/power/power.cpp b/app/power/power.cpp index 0ba673a..c319c3c 100644 --- a/app/power/power.cpp +++ b/app/power/power.cpp @@ -125,6 +125,8 @@ void power_init() { portenta_power_init(); #elif defined TARGET_NICLA_VISION nicla_vision_power_init(); +#elif defined TARGET_GIGA + //no power init function #else #endif diff --git a/generate_rel.sh b/generate_rel.sh index 43bea54..4404bbb 100755 --- a/generate_rel.sh +++ b/generate_rel.sh @@ -73,7 +73,7 @@ echo echo Generating binaries for OPTA mbed compile -c -m OPTA -t GCC_ARM --app=mbed_app_opta.json --profile=custom.json -N mcuboot_opta mkdir -p release/OPTA -mv ./libbootutil.a ./release/OPTA +cp ./libbootutil.a ./release/OPTA cp ./BUILD/OPTA/GCC_ARM-CUSTOM/mcuboot_opta.bin ./release/OPTA/mcuboot_opta.bin cp ./BUILD/OPTA/GCC_ARM-CUSTOM/mcuboot_opta_application.elf ./release/OPTA/mcuboot_opta.elf xxd -i ./release/OPTA/mcuboot_opta.bin > ./release/OPTA/mcuboot_opta.h @@ -81,3 +81,31 @@ sed -i "s/unsigned char __release_OPTA_mcuboot_opta_bin/const unsigned char mcub sed -i "s/__release_OPTA_mcuboot_opta_bin_len/mcuboot_opta_bin_len/" ./release/OPTA/mcuboot_opta.h tar -czvf ./release/OPTA.tar.gz -C ./release/ OPTA fi + +if [[ $1 == "giga" ]] || [[ $1 == "all" ]]; then +echo +echo Generating binaries for GIGA +mbed compile -c -m GIGA -t GCC_ARM --app=mbed_app_giga.json --profile=custom.json -N mcuboot_giga +mkdir -p release/GIGA +cp ./libbootutil.a ./release/GIGA +cp ./BUILD/GIGA/GCC_ARM-CUSTOM/mcuboot_giga.bin ./release/GIGA/mcuboot_giga.bin +cp ./BUILD/GIGA/GCC_ARM-CUSTOM/mcuboot_giga_application.elf ./release/GIGA/mcuboot_giga.elf +xxd -i ./release/GIGA/mcuboot_giga.bin > ./release/GIGA/mcuboot_giga.h +sed -i "s/unsigned char __release_GIGA_mcuboot_giga_bin/const unsigned char mcuboot_giga_bin/" ./release/GIGA/mcuboot_giga.h +sed -i "s/__release_GIGA_mcuboot_opta_bin_len/mcuboot_giga_bin_len/" ./release/GIGA/mcuboot_giga.h +tar -czvf ./release/GIGA.tar.gz -C ./release/ GIGA +fi + +if [[ $1 == "gigaw" ]] || [[ $1 == "all" ]]; then +echo +echo Generating binaries for GIGA_WiFi +mbed compile -c -m GIGA -t GCC_ARM --app=mbed_app_giga_wifi.json --profile=custom.json -N mcuboot_giga_wifi +mkdir -p release/GIGA_WiFi +mv ./libbootutil.a ./release/GIGA_WiFi +cp ./BUILD/GIGA/GCC_ARM-CUSTOM/mcuboot_giga_wifi.bin ./release/GIGA_WiFi/mcuboot_giga_wifi.bin +cp ./BUILD/GIGA/GCC_ARM-CUSTOM/mcuboot_giga_wifi_application.elf ./release/GIGA_WiFi/mcuboot_giga_wifi.elf +xxd -i ./release/GIGA_WiFi/mcuboot_giga_wifi.bin > ./release/GIGA_WiFi/mcuboot_giga_wifi.h +sed -i "s/unsigned char __release_GIGA_WiFi_mcuboot_giga_wifi_bin/const unsigned char mcuboot_giga_wifi_bin/" ./release/GIGA_WiFi/mcuboot_giga_wifi.h +sed -i "s/__release_GIGA_WiFi_mcuboot_giga_wifi_bin_len/mcuboot_giga_wifi_bin_len/" ./release/GIGA_WiFi/mcuboot_giga_wifi.h +tar -czvf ./release/GIGA_WiFi.tar.gz -C ./release/ GIGA_WiFi +fi diff --git a/mbed_app.json b/mbed_app.json index a30be84..cd59035 100644 --- a/mbed_app.json +++ b/mbed_app.json @@ -128,6 +128,23 @@ "CYW43XXX" ], "mcuboot.application-sdcard": null + }, + "GIGA": { + "target.clock_source": "USE_PLL_HSI", + "target.use-mpu": true, + "target.macros_add": [ + "USE_USB_FS", + "BOARD_HAS_VIDEO=0", + "BOARD_HAS_ETHERNET=0", + "BOARD_HAS_WIFI=0", + "BOARD_EXTCLOCK=16" + ], + "target.components_remove" : [ + "WHD", + "4343W_FS", + "CYW43XXX" + ], + "mcuboot.application-sdcard": null } } } diff --git a/mbed_app_giga.json b/mbed_app_giga.json new file mode 100644 index 0000000..ddd8129 --- /dev/null +++ b/mbed_app_giga.json @@ -0,0 +1,100 @@ +{ + "requires": [ + "bare-metal", + "mbedtls", + "mcuboot", + "flashiap-block-device", + "spif-driver", + "qspif", + "mbed-trace", + "filesystem", + "fat_chan", + "littlefs", + "rtos", + "cmsis-cmsis5-rtos2", + "events" + ], + "macros": [ + "MBED_FAULT_HANDLER_DISABLED", + "MBEDTLS_USER_CONFIG_FILE=\"mbedtls_config.h\"" + ], + "config": { + "serial-bootloader-enable": { + "help": "Build bootloader with serial update support", + "value": 0 + } + }, + "target_overrides": { + "GIGA": { + "target.restrict_size": "0x20000", + "target.c_lib": "small", + "target.printf_lib": "minimal-printf", + "target.i2c_timing_value_algo": false, + "target.extra_labels_remove" : ["CORDIO"], + "target.features_remove" : ["BLE"], + "target.device_has_remove": [ + "USBDEVICE", + "EMAC", + "CAN", + "SPI_ASYNCH", + "SPISLAVE", + "SPI", + "SERIAL_FC", + "PWMOUT", + "ANALOGIN", + "ANALOGOUT", + "I2CSLAVE", + "I2C_ASYNC", + "OSPI", + "TRNG", + "DAC", + "CRC", + "WATCHDOG", + "RTC", + "LPTICKER", + "SLEEP" + ], + "target.clock_source": "USE_PLL_HSI", + "target.use-mpu": true, + "target.macros_add": [ + "USE_USB_FS", + "BOARD_HAS_VIDEO=0", + "BOARD_HAS_ETHERNET=0", + "BOARD_HAS_WIFI=0", + "BOARD_EXTCLOCK=16" + ], + "target.components_remove" : [ + "WHD", + "4343W_FS", + "CYW43XXX" + ], + "platform.minimal-printf-enable-floating-point": false, + "platform.minimal-printf-enable-64-bit": false, + "platform.stdio-flush-at-exit": false, + "platform.stdio-baud-rate": 115200, + "fat_chan.ff_use_mkfs": 0, + "fat_chan.ff_use_lfn": 0, + "fat_chan.ff_fs_rpath": 0, + "mcuboot.log-level": "MCUBOOT_LOG_LEVEL_INFO", + "mcuboot.primary-slot-address": "0x8020000", + "mcuboot.slot-size": "0x1E0000", + "mcuboot.scratch-address": "0x9000000", + "mcuboot.scratch-size": "0x20000", + "mcuboot.max-img-sectors": "0x3C0", + "mcuboot.max-align": 32, + "mcuboot.bootstrap": true, + "mcuboot.application-hooks": true, + "mcuboot.application-littlefs": true, + "mcuboot.application-dfu": true, + "mcuboot.application-sdcard": null, + "mcuboot.signature-algorithm": "SIGNATURE_TYPE_EC256", + "mcuboot.encrypt-ec256": true, + "mcuboot.include-keys": null, + "mcuboot.bootloader-build": false, + "mcuboot.encrypt-scratch": true, + "mcuboot.swap-buf-size": 131072, + "mbed-trace.enable": false, + "mbed-trace.fea-ipv6": false + } + } +} diff --git a/mbed_app_giga_wifi.json b/mbed_app_giga_wifi.json new file mode 100644 index 0000000..11cbfaa --- /dev/null +++ b/mbed_app_giga_wifi.json @@ -0,0 +1,99 @@ +{ + "requires": [ + "bare-metal", + "mbedtls", + "mcuboot", + "flashiap-block-device", + "spif-driver", + "qspif", + "mbed-trace", + "filesystem", + "fat_chan", + "littlefs", + "rtos", + "cmsis-cmsis5-rtos2", + "events" + ], + "macros": [ + "MBED_FAULT_HANDLER_DISABLED", + "MBEDTLS_USER_CONFIG_FILE=\"mbedtls_config.h\"" + ], + "config": { + "serial-bootloader-enable": { + "help": "Build bootloader with serial update support", + "value": 0 + } + }, + "target_overrides": { + "GIGA": { + "target.restrict_size": "0x20000", + "target.c_lib": "small", + "target.printf_lib": "minimal-printf", + "target.i2c_timing_value_algo": false, + "target.extra_labels_remove" : ["CORDIO"], + "target.features_remove" : ["BLE"], + "target.device_has_remove": [ + "USBDEVICE", + "EMAC", + "CAN", + "SPI_ASYNCH", + "SPISLAVE", + "SPI", + "SERIAL_FC", + "PWMOUT", + "ANALOGIN", + "ANALOGOUT", + "I2CSLAVE", + "I2C_ASYNC", + "OSPI", + "TRNG", + "DAC", + "CRC", + "WATCHDOG", + "RTC", + "LPTICKER", + "SLEEP" + ], + "target.clock_source": "USE_PLL_HSI", + "target.use-mpu": true, + "target.macros_add": [ + "USE_USB_FS", + "BOARD_HAS_VIDEO=0", + "BOARD_HAS_ETHERNET=0", + "BOARD_EXTCLOCK=16" + ], + "target.components_remove" : [ + "WHD", + "4343W_FS", + "CYW43XXX" + ], + "platform.minimal-printf-enable-floating-point": false, + "platform.minimal-printf-enable-64-bit": false, + "platform.stdio-flush-at-exit": false, + "platform.stdio-baud-rate": 115200, + "fat_chan.ff_use_mkfs": 0, + "fat_chan.ff_use_lfn": 0, + "fat_chan.ff_fs_rpath": 0, + "mcuboot.log-level": "MCUBOOT_LOG_LEVEL_INFO", + "mcuboot.primary-slot-address": "0x8020000", + "mcuboot.slot-size": "0x1E0000", + "mcuboot.scratch-address": "0x9000000", + "mcuboot.scratch-size": "0x20000", + "mcuboot.max-img-sectors": "0x3C0", + "mcuboot.max-align": 32, + "mcuboot.bootstrap": true, + "mcuboot.application-hooks": true, + "mcuboot.application-littlefs": true, + "mcuboot.application-dfu": true, + "mcuboot.application-sdcard": null, + "mcuboot.signature-algorithm": "SIGNATURE_TYPE_EC256", + "mcuboot.encrypt-ec256": true, + "mcuboot.include-keys": null, + "mcuboot.bootloader-build": false, + "mcuboot.encrypt-scratch": true, + "mcuboot.swap-buf-size": 131072, + "mbed-trace.enable": false, + "mbed-trace.fea-ipv6": false + } + } +} From 92d1ae477737e24de37a66a11f653d5df57e6fee Mon Sep 17 00:00:00 2001 From: pennam Date: Fri, 23 Dec 2022 15:14:50 +0100 Subject: [PATCH 2/3] Update reference to mbed-os repository --- mbed-os.lib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mbed-os.lib b/mbed-os.lib index a667432..e69d55c 100644 --- a/mbed-os.lib +++ b/mbed-os.lib @@ -1 +1 @@ -https://github.com/bcmi-labs/mbed-os-h747/#6e44fdca33d7fa196e90d57c388b6d0c03e34d10 \ No newline at end of file +https://github.com/bcmi-labs/mbed-os/#21a34d1c730ca93a6c870592eea7d4844553f9da \ No newline at end of file From bfcabfe55569e4e133b95e753d4d8b00a9fa2a88 Mon Sep 17 00:00:00 2001 From: pennam Date: Thu, 12 Jan 2023 11:23:48 +0100 Subject: [PATCH 3/3] Update reference to mbed-os repository --- mbed-os.lib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mbed-os.lib b/mbed-os.lib index e69d55c..da9cc15 100644 --- a/mbed-os.lib +++ b/mbed-os.lib @@ -1 +1 @@ -https://github.com/bcmi-labs/mbed-os/#21a34d1c730ca93a6c870592eea7d4844553f9da \ No newline at end of file +https://github.com/bcmi-labs/mbed-os/#a55c905a33d04ed410029d2626fab114a78ddfec