From 85a3315a998ce7c625796177a665e6f4cd373e73 Mon Sep 17 00:00:00 2001 From: hathach Date: Mon, 9 Mar 2020 15:51:29 +0700 Subject: [PATCH 1/7] Adding lwip_webserver to ci - buil_al.py skip specific MCU if .skip.MCU_ exists - reduce stm32f070 heap & stack size to compile webserver --- .../device/lwip_webserver/.skip.MCU_LPC11UXX | 0 .../device/lwip_webserver/.skip.MCU_LPC13XX | 0 .../device/lwip_webserver/.skip.MCU_NUC121 | 0 .../device/lwip_webserver/.skip.MCU_STM32L0 | 0 hw/bsp/samg55xplained/samg55xplained.c | 3 +- hw/bsp/spresense/board.mk | 4 +- .../stm32f070rbnucleo/stm32F070rbtx_flash.ld | 4 +- src/class/net/net_device.h | 2 + tools/build_all.py | 56 +++++++++++++------ tools/build_success.sh | 10 ---- 10 files changed, 48 insertions(+), 31 deletions(-) create mode 100644 examples/device/lwip_webserver/.skip.MCU_LPC11UXX create mode 100644 examples/device/lwip_webserver/.skip.MCU_LPC13XX create mode 100644 examples/device/lwip_webserver/.skip.MCU_NUC121 create mode 100644 examples/device/lwip_webserver/.skip.MCU_STM32L0 delete mode 100644 tools/build_success.sh diff --git a/examples/device/lwip_webserver/.skip.MCU_LPC11UXX b/examples/device/lwip_webserver/.skip.MCU_LPC11UXX new file mode 100644 index 00000000..e69de29b diff --git a/examples/device/lwip_webserver/.skip.MCU_LPC13XX b/examples/device/lwip_webserver/.skip.MCU_LPC13XX new file mode 100644 index 00000000..e69de29b diff --git a/examples/device/lwip_webserver/.skip.MCU_NUC121 b/examples/device/lwip_webserver/.skip.MCU_NUC121 new file mode 100644 index 00000000..e69de29b diff --git a/examples/device/lwip_webserver/.skip.MCU_STM32L0 b/examples/device/lwip_webserver/.skip.MCU_STM32L0 new file mode 100644 index 00000000..e69de29b diff --git a/hw/bsp/samg55xplained/samg55xplained.c b/hw/bsp/samg55xplained/samg55xplained.c index a5e14573..66a3d137 100644 --- a/hw/bsp/samg55xplained/samg55xplained.c +++ b/hw/bsp/samg55xplained/samg55xplained.c @@ -24,13 +24,14 @@ */ #include "sam.h" +#include "bsp/board.h" + #include "peripheral_clk_config.h" #include "hal/include/hal_init.h" #include "hal/include/hpl_usart_sync.h" #include "hpl/pmc/hpl_pmc.h" #include "hal/include/hal_gpio.h" -#include "bsp/board.h" //--------------------------------------------------------------------+ // MACRO TYPEDEF CONSTANT ENUM DECLARATION diff --git a/hw/bsp/spresense/board.mk b/hw/bsp/spresense/board.mk index 2e88cf99..c6b5ce12 100644 --- a/hw/bsp/spresense/board.mk +++ b/hw/bsp/spresense/board.mk @@ -1,5 +1,4 @@ CFLAGS += \ - -DCONFIG_WCHAR_BUILTIN \ -DCONFIG_HAVE_DOUBLE \ -Dmain=spresense_main \ -pipe \ @@ -14,6 +13,9 @@ CFLAGS += \ -fomit-frame-pointer \ -DCFG_TUSB_MCU=OPT_MCU_CXD56 \ +# lwip/src/core/raw.c:334:43: error: declaration of 'recv' shadows a global declaration +CFLAGS += -Wno-error=shadow + SPRESENSE_SDK = $(TOP)/hw/mcu/sony/cxd56/spresense-exported-sdk INC += \ diff --git a/hw/bsp/stm32f070rbnucleo/stm32F070rbtx_flash.ld b/hw/bsp/stm32f070rbnucleo/stm32F070rbtx_flash.ld index 7ae8e596..59e18f37 100644 --- a/hw/bsp/stm32f070rbnucleo/stm32F070rbtx_flash.ld +++ b/hw/bsp/stm32f070rbnucleo/stm32F070rbtx_flash.ld @@ -55,8 +55,8 @@ ENTRY(Reset_Handler) /* Highest address of the user mode stack */ _estack = 0x20004000; /* end of "RAM" Ram type memory */ -_Min_Heap_Size = 0x400; /* required amount of heap */ -_Min_Stack_Size = 0x600; /* required amount of stack */ +_Min_Heap_Size = 0x200; /* required amount of heap */ +_Min_Stack_Size = 0x400; /* required amount of stack */ /* Memories definition */ MEMORY diff --git a/src/class/net/net_device.h b/src/class/net/net_device.h index fee54163..71483364 100644 --- a/src/class/net/net_device.h +++ b/src/class/net/net_device.h @@ -31,6 +31,8 @@ #include "common/tusb_common.h" #include "device/usbd.h" #include "class/cdc/cdc.h" + +// TODO should not include external files #include "lwip/pbuf.h" #include "netif/ethernet.h" diff --git a/tools/build_all.py b/tools/build_all.py index 97294a9a..45ae8d4d 100644 --- a/tools/build_all.py +++ b/tools/build_all.py @@ -1,5 +1,5 @@ import os -import shutil +import glob import sys import subprocess import time @@ -10,9 +10,8 @@ exit_status = 0 total_time = time.monotonic() +# 1st Argument is Example, build all examples if not existed all_examples = [] - -# build all example if input not existed if len(sys.argv) > 1: all_examples.append(sys.argv[1]) else: @@ -22,11 +21,17 @@ else: # TODO update freeRTOS example to work with all boards (only nrf52840 now) all_examples.remove("cdc_msc_hid_freertos") +all_examples.sort() +# 2nd Argument is Board, build all boards if not existed all_boards = [] -for entry in os.scandir("hw/bsp"): - if entry.is_dir(): - all_boards.append(entry.name) +if len(sys.argv) > 2: + all_boards.append(sys.argv[2]) +else: + for entry in os.scandir("hw/bsp"): + if entry.is_dir(): + all_boards.append(entry.name) +all_boards.sort() def build_example(example, board): @@ -35,6 +40,16 @@ def build_example(example, board): return subprocess.run("make -j 4 -C examples/device/{} BOARD={} all".format(example, board), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) +def skip_example(example, board): + ex_dir = 'examples/device/' + example + board_mk = 'hw/bsp/{}/board.mk'.format(board) + for skip_file in glob.iglob(ex_dir + '/.skip.MCU_*'): + mcu_cflag = '-DCFG_TUSB_MCU=OPT_' + os.path.basename(skip_file).split('.')[2] + with open(board_mk) as mk: + if mcu_cflag in mk.read(): + return 1 + + return 0 build_format = '| {:30} | {:30} | {:9} ' build_separator = '-' * 87 @@ -44,20 +59,27 @@ for example in all_examples: print(build_separator) for board in all_boards: start_time = time.monotonic() - build_result = build_example(example, board) - build_duration = time.monotonic() - start_time - if build_result.returncode == 0: - success = "\033[32msucceeded\033[0m" - success_count += 1 + # Check if board is skipped + if skip_example(example, board): + success = "\033[33mskipped\033[0m " + print((build_format + '| {:.2f}s |').format(example, board, success, 0)) else: - exit_status = build_result.returncode - success = "\033[31mfailed\033[0m " - fail_count += 1 + build_result = build_example(example, board) - print((build_format + '| {:.2f}s |').format(example, board, success, build_duration)) - if build_result.returncode != 0: - print(build_result.stdout.decode("utf-8")) + if build_result.returncode == 0: + success = "\033[32msucceeded\033[0m" + success_count += 1 + else: + exit_status = build_result.returncode + success = "\033[31mfailed\033[0m " + fail_count += 1 + + build_duration = time.monotonic() - start_time + print((build_format + '| {:.2f}s |').format(example, board, success, build_duration)) + + if build_result.returncode != 0: + print(build_result.stdout.decode("utf-8")) # FreeRTOS example # example = 'cdc_msc_hid_freertos' diff --git a/tools/build_success.sh b/tools/build_success.sh deleted file mode 100644 index df725bdc..00000000 --- a/tools/build_success.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash - -# Trigger mynewt-tinyusb-example repo each push -curl -s -X POST \ - -H "Content-Type: application/json" \ - -H "Accept: application/json" \ - -H "Travis-API-Version: 3" \ - -H "Authorization: token $TRAVIS_TOKEN" \ - -d '{ "request": { "branch":"master" }}' \ - https://api.travis-ci.com/repo/hathach%2Fmynewt-tinyusb-example/requests \ No newline at end of file From 1617b9d22e760647e1539cbf0fbb3a142f3960c2 Mon Sep 17 00:00:00 2001 From: hathach Date: Mon, 9 Mar 2020 15:53:20 +0700 Subject: [PATCH 2/7] rename lwip_webserver to net_webserver for example naming convention (with class driver) --- .../device/{lwip_webserver => net_webserver}/.skip.MCU_LPC11UXX | 0 .../device/{lwip_webserver => net_webserver}/.skip.MCU_LPC13XX | 0 .../device/{lwip_webserver => net_webserver}/.skip.MCU_NUC121 | 0 .../device/{lwip_webserver => net_webserver}/.skip.MCU_STM32L0 | 0 examples/device/{lwip_webserver => net_webserver}/Makefile | 0 examples/device/{lwip_webserver => net_webserver}/src/arch/cc.h | 0 examples/device/{lwip_webserver => net_webserver}/src/lwipopts.h | 0 examples/device/{lwip_webserver => net_webserver}/src/main.c | 0 .../device/{lwip_webserver => net_webserver}/src/tusb_config.h | 0 .../{lwip_webserver => net_webserver}/src/usb_descriptors.c | 0 .../{lwip_webserver => net_webserver}/src/usb_descriptors.h | 0 11 files changed, 0 insertions(+), 0 deletions(-) rename examples/device/{lwip_webserver => net_webserver}/.skip.MCU_LPC11UXX (100%) rename examples/device/{lwip_webserver => net_webserver}/.skip.MCU_LPC13XX (100%) rename examples/device/{lwip_webserver => net_webserver}/.skip.MCU_NUC121 (100%) rename examples/device/{lwip_webserver => net_webserver}/.skip.MCU_STM32L0 (100%) rename examples/device/{lwip_webserver => net_webserver}/Makefile (100%) rename examples/device/{lwip_webserver => net_webserver}/src/arch/cc.h (100%) rename examples/device/{lwip_webserver => net_webserver}/src/lwipopts.h (100%) rename examples/device/{lwip_webserver => net_webserver}/src/main.c (100%) rename examples/device/{lwip_webserver => net_webserver}/src/tusb_config.h (100%) rename examples/device/{lwip_webserver => net_webserver}/src/usb_descriptors.c (100%) rename examples/device/{lwip_webserver => net_webserver}/src/usb_descriptors.h (100%) diff --git a/examples/device/lwip_webserver/.skip.MCU_LPC11UXX b/examples/device/net_webserver/.skip.MCU_LPC11UXX similarity index 100% rename from examples/device/lwip_webserver/.skip.MCU_LPC11UXX rename to examples/device/net_webserver/.skip.MCU_LPC11UXX diff --git a/examples/device/lwip_webserver/.skip.MCU_LPC13XX b/examples/device/net_webserver/.skip.MCU_LPC13XX similarity index 100% rename from examples/device/lwip_webserver/.skip.MCU_LPC13XX rename to examples/device/net_webserver/.skip.MCU_LPC13XX diff --git a/examples/device/lwip_webserver/.skip.MCU_NUC121 b/examples/device/net_webserver/.skip.MCU_NUC121 similarity index 100% rename from examples/device/lwip_webserver/.skip.MCU_NUC121 rename to examples/device/net_webserver/.skip.MCU_NUC121 diff --git a/examples/device/lwip_webserver/.skip.MCU_STM32L0 b/examples/device/net_webserver/.skip.MCU_STM32L0 similarity index 100% rename from examples/device/lwip_webserver/.skip.MCU_STM32L0 rename to examples/device/net_webserver/.skip.MCU_STM32L0 diff --git a/examples/device/lwip_webserver/Makefile b/examples/device/net_webserver/Makefile similarity index 100% rename from examples/device/lwip_webserver/Makefile rename to examples/device/net_webserver/Makefile diff --git a/examples/device/lwip_webserver/src/arch/cc.h b/examples/device/net_webserver/src/arch/cc.h similarity index 100% rename from examples/device/lwip_webserver/src/arch/cc.h rename to examples/device/net_webserver/src/arch/cc.h diff --git a/examples/device/lwip_webserver/src/lwipopts.h b/examples/device/net_webserver/src/lwipopts.h similarity index 100% rename from examples/device/lwip_webserver/src/lwipopts.h rename to examples/device/net_webserver/src/lwipopts.h diff --git a/examples/device/lwip_webserver/src/main.c b/examples/device/net_webserver/src/main.c similarity index 100% rename from examples/device/lwip_webserver/src/main.c rename to examples/device/net_webserver/src/main.c diff --git a/examples/device/lwip_webserver/src/tusb_config.h b/examples/device/net_webserver/src/tusb_config.h similarity index 100% rename from examples/device/lwip_webserver/src/tusb_config.h rename to examples/device/net_webserver/src/tusb_config.h diff --git a/examples/device/lwip_webserver/src/usb_descriptors.c b/examples/device/net_webserver/src/usb_descriptors.c similarity index 100% rename from examples/device/lwip_webserver/src/usb_descriptors.c rename to examples/device/net_webserver/src/usb_descriptors.c diff --git a/examples/device/lwip_webserver/src/usb_descriptors.h b/examples/device/net_webserver/src/usb_descriptors.h similarity index 100% rename from examples/device/lwip_webserver/src/usb_descriptors.h rename to examples/device/net_webserver/src/usb_descriptors.h From 6e6b929f8e3ccc2d53e11be5283cb294dbcc6877 Mon Sep 17 00:00:00 2001 From: hathach Date: Mon, 9 Mar 2020 15:54:16 +0700 Subject: [PATCH 3/7] add net_webserver into ci build --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 72922251..d1e3b899 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,8 +24,8 @@ jobs: strategy: fail-fast: false matrix: - example: ['board_test', 'cdc_dual_ports', 'cdc_msc', 'dfu_rt', 'hid_composite', - 'hid_generic_inout', 'midi_test', 'msc_dual_lun', 'usbtmc', 'webusb_serial'] + example: ['board_test', 'cdc_dual_ports', 'cdc_msc', 'dfu_rt', 'hid_composite', 'hid_generic_inout', + 'midi_test', 'msc_dual_lun', 'net_webserver', 'usbtmc', 'webusb_serial'] steps: - name: Setup Python uses: actions/setup-python@v1 From 6f5466f017eb03aca64e397093af65b1bf80a8dd Mon Sep 17 00:00:00 2001 From: hathach Date: Mon, 9 Mar 2020 17:42:57 +0700 Subject: [PATCH 4/7] add Flash & Ram to ci build result --- tools/build_all.py | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/tools/build_all.py b/tools/build_all.py index 45ae8d4d..039b7702 100644 --- a/tools/build_all.py +++ b/tools/build_all.py @@ -6,6 +6,7 @@ import time success_count = 0 fail_count = 0 +skip_count = 0 exit_status = 0 total_time = time.monotonic() @@ -40,6 +41,14 @@ def build_example(example, board): return subprocess.run("make -j 4 -C examples/device/{} BOARD={} all".format(example, board), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) +def build_size(example, board): + elf_file = 'examples/device/{}/_build/build-{}/{}-firmware.elf'.format(example, board, board) + size_output = subprocess.run('size {}'.format(elf_file), shell=True, stdout=subprocess.PIPE).stdout.decode("utf-8") + size_list = size_output.split('\n')[1].split('\t') + flash_size = int(size_list[0]) + sram_size = int(size_list[1]) + int(size_list[2]) + return (flash_size, sram_size) + def skip_example(example, board): ex_dir = 'examples/device/' + example board_mk = 'hw/bsp/{}/board.mk'.format(board) @@ -51,32 +60,38 @@ def skip_example(example, board): return 0 -build_format = '| {:30} | {:30} | {:9} ' -build_separator = '-' * 87 +build_format = '| {:20} | {:30} | {:9} | {:5} | {:6} | {:6} |' +build_separator = '-' * 95 print(build_separator) -print((build_format + '| {:5} |').format('Example', 'Board', 'Result', 'Time')) +print(build_format.format('Example', 'Board', 'Result', 'Time', 'Flash', 'SRAM')) + for example in all_examples: print(build_separator) for board in all_boards: start_time = time.monotonic() + flash_size = "-" + sram_size = "-" + # Check if board is skipped if skip_example(example, board): success = "\033[33mskipped\033[0m " - print((build_format + '| {:.2f}s |').format(example, board, success, 0)) + skip_count += 1 + print((build_format + '| {:.2f}s |').format(example, board, success, 0, flash_size, sram_size)) else: build_result = build_example(example, board) if build_result.returncode == 0: success = "\033[32msucceeded\033[0m" success_count += 1 + (flash_size, sram_size) = build_size(example, board) else: exit_status = build_result.returncode success = "\033[31mfailed\033[0m " fail_count += 1 build_duration = time.monotonic() - start_time - print((build_format + '| {:.2f}s |').format(example, board, success, build_duration)) + print(build_format.format(example, board, success, "{:.2f}".format(build_duration), flash_size, sram_size)) if build_result.returncode != 0: print(build_result.stdout.decode("utf-8")) @@ -88,7 +103,7 @@ for example in all_examples: total_time = time.monotonic() - total_time print(build_separator) -print("Build Sumamary: {} \033[32msucceeded\033[0m, {} \033[31mfailed\033[0m and took {:.2f}s".format(success_count, fail_count, total_time)) +print("Build Sumamary: {} \033[32msucceeded\033[0m, {} \033[31mfailed\033[0m, {} \033[33mskipped\033[0m and took {:.2f}s".format(success_count, fail_count, skip_count, total_time)) print(build_separator) sys.exit(exit_status) From ec4323277d78c4a4fc4f1f2f58147eb108d5a0f1 Mon Sep 17 00:00:00 2001 From: hathach Date: Mon, 9 Mar 2020 17:55:31 +0700 Subject: [PATCH 5/7] fix ci --- tools/build_all.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/build_all.py b/tools/build_all.py index 039b7702..4f3e2874 100644 --- a/tools/build_all.py +++ b/tools/build_all.py @@ -77,7 +77,7 @@ for example in all_examples: if skip_example(example, board): success = "\033[33mskipped\033[0m " skip_count += 1 - print((build_format + '| {:.2f}s |').format(example, board, success, 0, flash_size, sram_size)) + print(build_format.format(example, board, success, '-', flash_size, sram_size)) else: build_result = build_example(example, board) From 8a8f84cd3708781a4b2031a76b1f12dbde5d006c Mon Sep 17 00:00:00 2001 From: hathach Date: Mon, 9 Mar 2020 23:05:22 +0700 Subject: [PATCH 6/7] more rename --- .github/workflows/build.yml | 2 +- .../{net_webserver => net_lwip_webserver}/.skip.MCU_LPC11UXX | 0 .../{net_webserver => net_lwip_webserver}/.skip.MCU_LPC13XX | 0 .../{net_webserver => net_lwip_webserver}/.skip.MCU_NUC121 | 0 .../{net_webserver => net_lwip_webserver}/.skip.MCU_STM32L0 | 0 examples/device/{net_webserver => net_lwip_webserver}/Makefile | 0 .../device/{net_webserver => net_lwip_webserver}/src/arch/cc.h | 0 .../device/{net_webserver => net_lwip_webserver}/src/lwipopts.h | 0 .../device/{net_webserver => net_lwip_webserver}/src/main.c | 0 .../{net_webserver => net_lwip_webserver}/src/tusb_config.h | 0 .../{net_webserver => net_lwip_webserver}/src/usb_descriptors.c | 0 .../{net_webserver => net_lwip_webserver}/src/usb_descriptors.h | 0 12 files changed, 1 insertion(+), 1 deletion(-) rename examples/device/{net_webserver => net_lwip_webserver}/.skip.MCU_LPC11UXX (100%) rename examples/device/{net_webserver => net_lwip_webserver}/.skip.MCU_LPC13XX (100%) rename examples/device/{net_webserver => net_lwip_webserver}/.skip.MCU_NUC121 (100%) rename examples/device/{net_webserver => net_lwip_webserver}/.skip.MCU_STM32L0 (100%) rename examples/device/{net_webserver => net_lwip_webserver}/Makefile (100%) rename examples/device/{net_webserver => net_lwip_webserver}/src/arch/cc.h (100%) rename examples/device/{net_webserver => net_lwip_webserver}/src/lwipopts.h (100%) rename examples/device/{net_webserver => net_lwip_webserver}/src/main.c (100%) rename examples/device/{net_webserver => net_lwip_webserver}/src/tusb_config.h (100%) rename examples/device/{net_webserver => net_lwip_webserver}/src/usb_descriptors.c (100%) rename examples/device/{net_webserver => net_lwip_webserver}/src/usb_descriptors.h (100%) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d1e3b899..54d4baba 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,7 +25,7 @@ jobs: fail-fast: false matrix: example: ['board_test', 'cdc_dual_ports', 'cdc_msc', 'dfu_rt', 'hid_composite', 'hid_generic_inout', - 'midi_test', 'msc_dual_lun', 'net_webserver', 'usbtmc', 'webusb_serial'] + 'midi_test', 'msc_dual_lun', 'net_lwip_webserver', 'usbtmc', 'webusb_serial'] steps: - name: Setup Python uses: actions/setup-python@v1 diff --git a/examples/device/net_webserver/.skip.MCU_LPC11UXX b/examples/device/net_lwip_webserver/.skip.MCU_LPC11UXX similarity index 100% rename from examples/device/net_webserver/.skip.MCU_LPC11UXX rename to examples/device/net_lwip_webserver/.skip.MCU_LPC11UXX diff --git a/examples/device/net_webserver/.skip.MCU_LPC13XX b/examples/device/net_lwip_webserver/.skip.MCU_LPC13XX similarity index 100% rename from examples/device/net_webserver/.skip.MCU_LPC13XX rename to examples/device/net_lwip_webserver/.skip.MCU_LPC13XX diff --git a/examples/device/net_webserver/.skip.MCU_NUC121 b/examples/device/net_lwip_webserver/.skip.MCU_NUC121 similarity index 100% rename from examples/device/net_webserver/.skip.MCU_NUC121 rename to examples/device/net_lwip_webserver/.skip.MCU_NUC121 diff --git a/examples/device/net_webserver/.skip.MCU_STM32L0 b/examples/device/net_lwip_webserver/.skip.MCU_STM32L0 similarity index 100% rename from examples/device/net_webserver/.skip.MCU_STM32L0 rename to examples/device/net_lwip_webserver/.skip.MCU_STM32L0 diff --git a/examples/device/net_webserver/Makefile b/examples/device/net_lwip_webserver/Makefile similarity index 100% rename from examples/device/net_webserver/Makefile rename to examples/device/net_lwip_webserver/Makefile diff --git a/examples/device/net_webserver/src/arch/cc.h b/examples/device/net_lwip_webserver/src/arch/cc.h similarity index 100% rename from examples/device/net_webserver/src/arch/cc.h rename to examples/device/net_lwip_webserver/src/arch/cc.h diff --git a/examples/device/net_webserver/src/lwipopts.h b/examples/device/net_lwip_webserver/src/lwipopts.h similarity index 100% rename from examples/device/net_webserver/src/lwipopts.h rename to examples/device/net_lwip_webserver/src/lwipopts.h diff --git a/examples/device/net_webserver/src/main.c b/examples/device/net_lwip_webserver/src/main.c similarity index 100% rename from examples/device/net_webserver/src/main.c rename to examples/device/net_lwip_webserver/src/main.c diff --git a/examples/device/net_webserver/src/tusb_config.h b/examples/device/net_lwip_webserver/src/tusb_config.h similarity index 100% rename from examples/device/net_webserver/src/tusb_config.h rename to examples/device/net_lwip_webserver/src/tusb_config.h diff --git a/examples/device/net_webserver/src/usb_descriptors.c b/examples/device/net_lwip_webserver/src/usb_descriptors.c similarity index 100% rename from examples/device/net_webserver/src/usb_descriptors.c rename to examples/device/net_lwip_webserver/src/usb_descriptors.c diff --git a/examples/device/net_webserver/src/usb_descriptors.h b/examples/device/net_lwip_webserver/src/usb_descriptors.h similarity index 100% rename from examples/device/net_webserver/src/usb_descriptors.h rename to examples/device/net_lwip_webserver/src/usb_descriptors.h From 9a0c02236e1647bbbeaf3284ab9ba4da0caf56f1 Mon Sep 17 00:00:00 2001 From: hathach Date: Tue, 10 Mar 2020 13:28:55 +0700 Subject: [PATCH 7/7] doc update --- CONTRIBUTORS.md | 8 +++++--- README.md | 3 ++- docs/boards.md | 1 + 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index e1d5db69..6c83ef9c 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -25,9 +25,11 @@ * Board support for STM32F070RB Nucleo, STM32F303 Discovery * **[Peter Lawrence](https://github.com/majbthrd)** - * Nuvoton NUC 121, 125, 126 device driver port - * Board support for NuTiny NUC121s, NUC125s, NUC126V - * Complete multiple class interfaces & add cdc_dual_ports example + * Nuvoton NUC 120, 121, 125, 126, 505 device driver port + * USBNET RNDIS, CDC-ECM, CDC-EEM class driver + * Added `net_lwip_webserver` example for demonstration of usbnet with lwip + * Board support for NuTiny NUC120, NUC121s, NUC125s, NUC126V, NUC505 + * Complete multiple class interfaces & add cdc_dual_ports example * **[Scott Shawcroft](https://github.com/tannewt)** * SAMD21 and SAMD51 device driver port diff --git a/README.md b/README.md index 7ab55f78..211dcc50 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ The stack supports the following MCUs: - **Sony:** CXD56 - **ST:** STM32 series: L0, F0, F1, F2, F3, F4, F7, H7 (device only) - **[ValentyUSB](https://github.com/im-tomu/valentyusb)** eptri -- **Nuvoton:** NUC121/NUC125, NUC126, NUC505 +- **Nuvoton:** NUC120, NUC121/NUC125, NUC126, NUC505 [Here is the list of supported Boards](docs/boards.md) that can be used with provided examples. @@ -50,6 +50,7 @@ Supports multiple device configurations by dynamically changing usb descriptors. - Human Interface Device (HID): Generic (In & Out), Keyboard, Mouse, Gamepad etc ... - Mass Storage Class (MSC): with multiple LUNs - Musical Instrument Digital Interface (MIDI) +- Network with RNDIS, CDC-ECM, CDC-EEM (work in progress) - Vendor-specific class support with generic In & Out endpoints. Can be used with MS OS 2.0 compatible descriptor to load winUSB driver without INF file. - [WebUSB](https://github.com/WICG/webusb) with vendor-specific class diff --git a/docs/boards.md b/docs/boards.md index d56e39bd..9667f694 100644 --- a/docs/boards.md +++ b/docs/boards.md @@ -33,6 +33,7 @@ This code base already had supported for a handful of following boards (sorted a ### Nuvoton +- NuTiny SDK NUC120 - [NuTiny NUC121S](https://direct.nuvoton.com/en/nutiny-nuc121s) - [NuTiny NUC125S](https://direct.nuvoton.com/en/nutiny-nuc125s) - [NuTiny NUC126V](https://direct.nuvoton.com/en/nutiny-nuc126v)