From de29fe310292e29b197cdfb037bf687c2809e123 Mon Sep 17 00:00:00 2001 From: Jorge Guzman Date: Sat, 6 Apr 2024 16:32:08 -0300 Subject: [PATCH] stm32h7/linum-stm32h753bi: add support to zmodem Signed-off-by: Jorge Guzman --- .../boards/linum-stm32h753bi/index.rst | 44 +++++++++- .../configs/zmodem/defconfig | 82 +++++++++++++++++++ 2 files changed, 125 insertions(+), 1 deletion(-) create mode 100644 boards/arm/stm32h7/linum-stm32h753bi/configs/zmodem/defconfig diff --git a/Documentation/platforms/arm/stm32h7/boards/linum-stm32h753bi/index.rst b/Documentation/platforms/arm/stm32h7/boards/linum-stm32h753bi/index.rst index 6513090f46..09cbb3dbc8 100644 --- a/Documentation/platforms/arm/stm32h7/boards/linum-stm32h753bi/index.rst +++ b/Documentation/platforms/arm/stm32h7/boards/linum-stm32h753bi/index.rst @@ -509,4 +509,46 @@ Example to blink the RBG led of board, using this example the board led status s led_daemon: LED set 0x04 led_daemon: LED set 0x03 led_daemon: LED set 0x02 - led_daemon: LED set 0x01 \ No newline at end of file + led_daemon: LED set 0x01 + +zmodem +------ + +This example use the nsh via usb and the SDCard to storage the files exchanged. +By default the zmodem lib use the path /tmp to storage the files. + +Sending files to target:: + + # Mount the SDCard at /tmp + nsh> mount -t vfat /dev/mmcsd0 /tmp + + # Waiting for a new file. + nsh> rz + + # Transmitting a file to target. + my_pc$ sz --zmodem nuttx_logo.txt > /dev/ttyACM0 < /dev/ttyACM0 + + # Check if the file was received + nsh> ls -l /tmp + /tmp: + -rw-rw-rw- 1942 nuttx_logo.txt + +Transmiting a file to PC:: + + # Sending the file nuttx_logo.txt to PC + nsh> sz -x 1 /tmp/nuttx_logo.txt + **B00000000000000 + + # Using zmodem to receive a file from target + my_pc/temp$ rz > /dev/ttyACM0 < /dev/ttyACM0 + Receiving: nuttx_logo.txt + Bytes received: 1942/ 1942 BPS:124544 + + Transfer complete + my_pc/temp$ ls -l + -rw------- 1 nuttx nuttx 1942 abr 6 16:07 nuttx_logo.txt + +If you don't have a SDCard on your board, you can mount the TMPFS at /tmp and transfer files to it, +but you cannot transfer big files because TMPFS could use the free RAM of your board:: + + nsh> mount -t tmpfs /tmp \ No newline at end of file diff --git a/boards/arm/stm32h7/linum-stm32h753bi/configs/zmodem/defconfig b/boards/arm/stm32h7/linum-stm32h753bi/configs/zmodem/defconfig new file mode 100644 index 0000000000..9b2cd50f1a --- /dev/null +++ b/boards/arm/stm32h7/linum-stm32h753bi/configs/zmodem/defconfig @@ -0,0 +1,82 @@ +# +# This file is autogenerated: PLEASE DO NOT EDIT IT. +# +# You can use "make menuconfig" to make any modifications to the installed .config file. +# You can then do "make savedefconfig" to generate a new defconfig file that includes your +# modifications. +# +# CONFIG_MMCSD_HAVE_WRITEPROTECT is not set +# CONFIG_MMCSD_MMCSUPPORT is not set +# CONFIG_STANDARD_SERIAL is not set +# CONFIG_STM32H7_USE_LEGACY_PINMAP is not set +CONFIG_ARCH="arm" +CONFIG_ARCH_BOARD="linum-stm32h753bi" +CONFIG_ARCH_BOARD_LINUM_STM32H753BI=y +CONFIG_ARCH_CHIP="stm32h7" +CONFIG_ARCH_CHIP_STM32H753BI=y +CONFIG_ARCH_CHIP_STM32H7=y +CONFIG_ARCH_CHIP_STM32H7_CORTEXM7=y +CONFIG_ARCH_STACKDUMP=y +CONFIG_ARMV7M_DCACHE=y +CONFIG_ARMV7M_DCACHE_WRITETHROUGH=y +CONFIG_ARMV7M_DTCM=y +CONFIG_ARMV7M_ICACHE=y +CONFIG_BOARDCTL_USBDEVCTRL=y +CONFIG_BOARD_LOOPSPERMSEC=43103 +CONFIG_BUILTIN=y +CONFIG_CDCACM=y +CONFIG_CDCACM_CONSOLE=y +CONFIG_DEBUG_FEATURES=y +CONFIG_DEBUG_SYMBOLS=y +CONFIG_EXAMPLES_ALARM=y +CONFIG_FAT_DMAMEMORY=y +CONFIG_FAT_LCNAMES=y +CONFIG_FAT_LFN=y +CONFIG_FS_FAT=y +CONFIG_FS_PROCFS=y +CONFIG_FS_TMPFS=y +CONFIG_GRAN=y +CONFIG_GRAN_INTR=y +CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INIT_STACKSIZE=4096 +CONFIG_INTELHEX_BINARY=y +CONFIG_LIBC_MEMFD_ERROR=y +CONFIG_LIBM=y +CONFIG_MMCSD=y +CONFIG_MMCSD_SDIO=y +CONFIG_MMCSD_SDIOWAIT_WRCOMPLETE=y +CONFIG_MM_REGIONS=4 +CONFIG_NSH_ARCHINIT=y +CONFIG_NSH_BUILTIN_APPS=y +CONFIG_NSH_DISABLE_IFUPDOWN=y +CONFIG_NSH_FILEIOSIZE=512 +CONFIG_NSH_LINELEN=64 +CONFIG_NSH_READLINE=y +CONFIG_OTG_ID_GPIO_DISABLE=y +CONFIG_PREALLOC_TIMERS=4 +CONFIG_RAM_SIZE=245760 +CONFIG_RAM_START=0x20010000 +CONFIG_RAW_BINARY=y +CONFIG_RR_INTERVAL=200 +CONFIG_RTC_ALARM=y +CONFIG_RTC_DATETIME=y +CONFIG_RTC_DRIVER=y +CONFIG_SCHED_HPWORK=y +CONFIG_SCHED_WAITPID=y +CONFIG_SDMMC1_SDIO_MODE=y +CONFIG_START_DAY=6 +CONFIG_START_MONTH=12 +CONFIG_START_YEAR=2011 +CONFIG_STM32H7_HSI48=y +CONFIG_STM32H7_OTGFS=y +CONFIG_STM32H7_PWR=y +CONFIG_STM32H7_RTC=y +CONFIG_STM32H7_SDMMC1=y +CONFIG_STM32H7_USART1=y +CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_ZMODEM=y +CONFIG_SYSTEM_ZMODEM_PKTBUFSIZE=1024 +CONFIG_SYSTEM_ZMODEM_RCVBUFSIZE=1024 +CONFIG_SYSTEM_ZMODEM_SNDBUFSIZE=1024 +CONFIG_TASK_NAME_SIZE=0 +CONFIG_USBDEV=y