summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorHiFiPhile <[email protected]>2024-05-09 13:45:44 +0200
committerHiFiPhile <[email protected]>2024-05-09 13:45:44 +0200
commitfd1cde9b894e5312e6c6f9da63cfea5aa05d83d2 (patch)
tree5f43ffeecb05d80788cbe0bbc43913202a922a2a /tools
parentd0bff6fd3ec9fc133032dea84732451d93d202b4 (diff)
parent74e57499baac36c4cccf76549259905162031e41 (diff)
Merge branch 'master' into pr/2181
Diffstat (limited to 'tools')
-rw-r--r--tools/build_cmake.py2
-rw-r--r--tools/build_esp32.py62
-rw-r--r--tools/build_make.py (renamed from tools/build_family.py)13
-rw-r--r--tools/build_utils.py21
-rw-r--r--tools/cmake/cpu/cortex-m0.cmake17
-rw-r--r--tools/cmake/cpu/cortex-m0plus.cmake17
-rw-r--r--tools/cmake/cpu/cortex-m3.cmake16
-rw-r--r--tools/cmake/cpu/cortex-m33.cmake19
-rw-r--r--tools/cmake/cpu/cortex-m4.cmake23
-rw-r--r--tools/cmake/cpu/cortex-m7.cmake19
-rw-r--r--tools/cmake/toolchain/arm_gcc.cmake46
-rw-r--r--tools/cmake/toolchain/arm_iar.cmake31
-rw-r--r--tools/cmake/toolchain/set_flags.cmake17
-rw-r--r--tools/codespell/exclude-file.txt0
-rw-r--r--tools/codespell/ignore-words.txt14
-rw-r--r--tools/gen_doc.py6
-rw-r--r--tools/get_deps.py65
-rw-r--r--tools/iar_gen.py126
-rw-r--r--tools/iar_template.ipcf412
-rw-r--r--tools/make/cpu/arm1176.mk9
-rw-r--r--tools/make/cpu/cortex-a53.mk12
-rw-r--r--tools/make/cpu/cortex-a72.mk12
-rw-r--r--tools/make/cpu/cortex-m0.mk14
-rw-r--r--tools/make/cpu/cortex-m0plus.mk14
-rw-r--r--tools/make/cpu/cortex-m3.mk17
-rw-r--r--tools/make/cpu/cortex-m33.mk19
-rw-r--r--tools/make/cpu/cortex-m4.mk13
-rw-r--r--tools/make/cpu/cortex-m7.mk19
-rw-r--r--tools/make/toolchain/arm_gcc.mk71
-rw-r--r--tools/make/toolchain/arm_gcc_rules.mk78
-rw-r--r--tools/make/toolchain/arm_iar.mk11
-rw-r--r--tools/make/toolchain/arm_iar_rules.mk44
-rw-r--r--tools/make_release.py21
33 files changed, 466 insertions, 814 deletions
diff --git a/tools/build_cmake.py b/tools/build_cmake.py
index e539b9f94..2eda3f90f 100644
--- a/tools/build_cmake.py
+++ b/tools/build_cmake.py
@@ -36,7 +36,7 @@ def build_family(family, cmake_option):
# Generate build
r = subprocess.run(f"cmake examples -B {build_dir} -G \"Ninja\" -DFAMILY={family} -DBOARD"
- f"={board} {cmake_option}", shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ f"={board} -DCMAKE_BUILD_TYPE=MinSizeRel {cmake_option}", shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
# Build
if r.returncode == 0:
diff --git a/tools/build_esp32.py b/tools/build_esp32.py
index 00783bf58..951467c23 100644
--- a/tools/build_esp32.py
+++ b/tools/build_esp32.py
@@ -17,8 +17,8 @@ exit_status = 0
total_time = time.monotonic()
-build_format = '| {:23} | {:30} | {:18} | {:7} | {:6} | {:6} |'
-build_separator = '-' * 100
+build_format = '| {:30} | {:30} | {:18} | {:7} | {:6} | {:6} |'
+build_separator = '-' * 107
def filter_with_input(mylist):
if len(sys.argv) > 1:
@@ -26,13 +26,11 @@ def filter_with_input(mylist):
if len(input_args) > 0:
mylist[:] = input_args
+
# Build all examples if not specified
-all_examples = []
-for entry in os.scandir("examples/device"):
- # Only includes example with CMakeLists.txt for esp32s, and skip board_test to speed up ci
- if entry.is_dir() and os.path.exists(entry.path + "/sdkconfig.defaults") and entry.name != 'board_test':
- all_examples.append(entry.name)
+all_examples = [entry.replace('examples/', '') for entry in glob.glob("examples/*/*_freertos")]
filter_with_input(all_examples)
+all_examples.append('device/board_test')
all_examples.sort()
# Build all boards if not specified
@@ -46,32 +44,41 @@ all_boards.sort()
def build_board(example, board):
global success_count, fail_count, skip_count, exit_status
start_time = time.monotonic()
+
+ # Check if board is skipped
+ build_dir = f"cmake-build/cmake-build-{board}/{example}"
+
+ # Generate and build
+ r = subprocess.run(f"cmake examples/{example} -B {build_dir} -G \"Ninja\" -DBOARD={board} -DMAX3421_HOST=1",
+ shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ if r.returncode == 0:
+ r = subprocess.run(f"cmake --build {build_dir}", shell=True, stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT)
+ build_duration = time.monotonic() - start_time
flash_size = "-"
sram_size = "-"
- # Check if board is skipped
- if build_utils.skip_example(example, board):
- success = SKIPPED
- skip_count += 1
- print(build_format.format(example, board, success, '-', flash_size, sram_size))
+ if r.returncode == 0:
+ success = SUCCEEDED
+ success_count += 1
+ #(flash_size, sram_size) = build_size(example, board)
else:
- subprocess.run("make -C examples/device/{} BOARD={} clean".format(example, board), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
- build_result = subprocess.run("make -j -C examples/device/{} BOARD={} all".format(example, board), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
-
- if build_result.returncode == 0:
- success = SUCCEEDED
- success_count += 1
- (flash_size, sram_size) = build_size(example, board)
- else:
- exit_status = build_result.returncode
- success = FAILED
- fail_count += 1
+ exit_status = r.returncode
+ success = FAILED
+ fail_count += 1
- build_duration = time.monotonic() - start_time
- print(build_format.format(example, board, success, "{:.2f}s".format(build_duration), flash_size, sram_size))
+ title = build_format.format(example, board, success, "{:.2f}s".format(build_duration), flash_size, sram_size)
+ if os.getenv('CI'):
+ # always print build output if in CI
+ print(f"::group::{title}")
+ print(r.stdout.decode("utf-8"))
+ print(f"::endgroup::")
+ else:
+ # print build output if failed
+ print(title)
+ if r.returncode != 0:
+ print(r.stdout.decode("utf-8"))
- if build_result.returncode != 0:
- print(build_result.stdout.decode("utf-8"))
def build_size(example, board):
#elf_file = 'examples/device/{}/_build/{}/{}-firmware.elf'.format(example, board, board)
@@ -82,6 +89,7 @@ def build_size(example, board):
sram_size = int(size_list[1]) + int(size_list[2])
return (flash_size, sram_size)
+
print(build_separator)
print(build_format.format('Example', 'Board', '\033[39mResult\033[0m', 'Time', 'Flash', 'SRAM'))
print(build_separator)
diff --git a/tools/build_family.py b/tools/build_make.py
index fb90e0edb..240fc8d64 100644
--- a/tools/build_family.py
+++ b/tools/build_make.py
@@ -11,7 +11,6 @@ SKIPPED = "\033[33mskipped\033[0m"
build_separator = '-' * 106
-make_iar_option = 'TOOLCHAIN=iar'
def filter_with_input(mylist):
if len(sys.argv) > 1:
@@ -34,15 +33,17 @@ def build_family(example, family, make_option):
# sum all element of same index (column sum)
return list(map(sum, list(zip(*result))))
+
if __name__ == '__main__':
- # IAR CC
- if make_iar_option not in sys.argv:
- make_iar_option = ''
+ make_option = ''
+ for a in sys.argv:
+ if 'TOOLCHAIN=' in sys.argv:
+ make_option += ' ' + a
# If examples are not specified in arguments, build all
all_examples = []
for d in os.scandir("examples"):
- if d.is_dir() and 'cmake' not in d.name:
+ if d.is_dir() and 'cmake' not in d.name and 'build_system' not in d.name:
for entry in os.scandir(d.path):
if entry.is_dir() and 'cmake' not in entry.name:
all_examples.append(d.name + '/' + entry.name)
@@ -66,7 +67,7 @@ if __name__ == '__main__':
for example in all_examples:
print(build_separator)
for family in all_families:
- fret = build_family(example, family, make_iar_option)
+ fret = build_family(example, family, make_option)
if len(fret) == len(total_result):
total_result = [total_result[i] + fret[i] for i in range(len(fret))]
diff --git a/tools/build_utils.py b/tools/build_utils.py
index 5d735bc17..b66b64b97 100644
--- a/tools/build_utils.py
+++ b/tools/build_utils.py
@@ -64,18 +64,19 @@ def skip_example(example, board):
skip_file = ex_dir / "skip.txt"
only_file = ex_dir / "only.txt"
- if skip_file.exists() and only_file.exists():
- raise RuntimeError("Only have a skip or only file. Not both.")
- elif skip_file.exists():
+ if skip_file.exists():
skips = skip_file.read_text().split()
- return ("mcu:" + mcu in skips or
- "board:" + board in skips or
- "family:" + family in skips)
- elif only_file.exists():
+ if ("mcu:" + mcu in skips or
+ "board:" + board in skips or
+ "family:" + family in skips):
+ return True
+
+ if only_file.exists():
onlys = only_file.read_text().split()
- return not ("mcu:" + mcu in onlys or
- "board:" + board in onlys or
- "family:" + family in onlys)
+ if not ("mcu:" + mcu in onlys or
+ "board:" + board in onlys or
+ "family:" + family in onlys):
+ return True
return False
diff --git a/tools/cmake/cpu/cortex-m0.cmake b/tools/cmake/cpu/cortex-m0.cmake
deleted file mode 100644
index bc2257048..000000000
--- a/tools/cmake/cpu/cortex-m0.cmake
+++ /dev/null
@@ -1,17 +0,0 @@
-if (TOOLCHAIN STREQUAL "gcc")
- set(TOOLCHAIN_COMMON_FLAGS
- -mthumb
- -mcpu=cortex-m0plus
- -mfloat-abi=soft
- )
-
- set(FREERTOS_PORT GCC_ARM_CM0 CACHE INTERNAL "")
-
-elseif (TOOLCHAIN STREQUAL "iar")
- set(TOOLCHAIN_COMMON_FLAGS
- --cpu cortex-m0
- )
-
- set(FREERTOS_PORT IAR_ARM_CM0 CACHE INTERNAL "")
-
-endif ()
diff --git a/tools/cmake/cpu/cortex-m0plus.cmake b/tools/cmake/cpu/cortex-m0plus.cmake
deleted file mode 100644
index bc2257048..000000000
--- a/tools/cmake/cpu/cortex-m0plus.cmake
+++ /dev/null
@@ -1,17 +0,0 @@
-if (TOOLCHAIN STREQUAL "gcc")
- set(TOOLCHAIN_COMMON_FLAGS
- -mthumb
- -mcpu=cortex-m0plus
- -mfloat-abi=soft
- )
-
- set(FREERTOS_PORT GCC_ARM_CM0 CACHE INTERNAL "")
-
-elseif (TOOLCHAIN STREQUAL "iar")
- set(TOOLCHAIN_COMMON_FLAGS
- --cpu cortex-m0
- )
-
- set(FREERTOS_PORT IAR_ARM_CM0 CACHE INTERNAL "")
-
-endif ()
diff --git a/tools/cmake/cpu/cortex-m3.cmake b/tools/cmake/cpu/cortex-m3.cmake
deleted file mode 100644
index f6f5a62f8..000000000
--- a/tools/cmake/cpu/cortex-m3.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-if (TOOLCHAIN STREQUAL "gcc")
- set(TOOLCHAIN_COMMON_FLAGS
- -mthumb
- -mcpu=cortex-m3
- )
-
- set(FREERTOS_PORT GCC_ARM_CM3 CACHE INTERNAL "")
-
-elseif (TOOLCHAIN STREQUAL "iar")
- set(TOOLCHAIN_COMMON_FLAGS
- --cpu cortex-m3
- )
-
- set(FREERTOS_PORT IAR_ARM_CM3 CACHE INTERNAL "")
-
-endif ()
diff --git a/tools/cmake/cpu/cortex-m33.cmake b/tools/cmake/cpu/cortex-m33.cmake
deleted file mode 100644
index 7ebaf1748..000000000
--- a/tools/cmake/cpu/cortex-m33.cmake
+++ /dev/null
@@ -1,19 +0,0 @@
-if (TOOLCHAIN STREQUAL "gcc")
- set(TOOLCHAIN_COMMON_FLAGS
- -mthumb
- -mcpu=cortex-m33
- -mfloat-abi=hard
- -mfpu=fpv5-sp-d16
- )
-
- set(FREERTOS_PORT GCC_ARM_CM33_NTZ_NONSECURE CACHE INTERNAL "")
-
-elseif (TOOLCHAIN STREQUAL "iar")
- set(TOOLCHAIN_COMMON_FLAGS
- --cpu cortex-m33
- --fpu VFPv5-SP
- )
-
- set(FREERTOS_PORT IAR_ARM_CM4F CACHE INTERNAL "")
-
-endif ()
diff --git a/tools/cmake/cpu/cortex-m4.cmake b/tools/cmake/cpu/cortex-m4.cmake
deleted file mode 100644
index 4e9bc242d..000000000
--- a/tools/cmake/cpu/cortex-m4.cmake
+++ /dev/null
@@ -1,23 +0,0 @@
-if (TOOLCHAIN STREQUAL "gcc")
- set(TOOLCHAIN_COMMON_FLAGS
- -mthumb
- -mcpu=cortex-m4
- -mfloat-abi=hard
- -mfpu=fpv4-sp-d16
- )
-
- if (NOT DEFINED FREERTOS_PORT)
- set(FREERTOS_PORT GCC_ARM_CM4F CACHE INTERNAL "")
- endif ()
-
-elseif (TOOLCHAIN STREQUAL "iar")
- set(TOOLCHAIN_COMMON_FLAGS
- --cpu cortex-m4
- --fpu VFPv4
- )
-
- if (NOT DEFINED FREERTOS_PORT)
- set(FREERTOS_PORT IAR_ARM_CM4F CACHE INTERNAL "")
- endif ()
-
-endif ()
diff --git a/tools/cmake/cpu/cortex-m7.cmake b/tools/cmake/cpu/cortex-m7.cmake
deleted file mode 100644
index 3e5f7f44b..000000000
--- a/tools/cmake/cpu/cortex-m7.cmake
+++ /dev/null
@@ -1,19 +0,0 @@
-if (TOOLCHAIN STREQUAL "gcc")
- set(TOOLCHAIN_COMMON_FLAGS
- -mthumb
- -mcpu=cortex-m7
- -mfloat-abi=hard
- -mfpu=fpv5-d16
- )
-
- set(FREERTOS_PORT GCC_ARM_CM7 CACHE INTERNAL "")
-
-elseif (TOOLCHAIN STREQUAL "iar")
- set(TOOLCHAIN_COMMON_FLAGS
- --cpu cortex-m7
- --fpu VFPv5_D16
- )
-
- set(FREERTOS_PORT IAR_ARM_CM7 CACHE INTERNAL "")
-
-endif ()
diff --git a/tools/cmake/toolchain/arm_gcc.cmake b/tools/cmake/toolchain/arm_gcc.cmake
deleted file mode 100644
index cefa9d2ce..000000000
--- a/tools/cmake/toolchain/arm_gcc.cmake
+++ /dev/null
@@ -1,46 +0,0 @@
-set(CMAKE_SYSTEM_NAME Generic)
-
-set(CMAKE_C_COMPILER "arm-none-eabi-gcc")
-set(CMAKE_CXX_COMPILER "arm-none-eabi-g++")
-set(CMAKE_ASM_COMPILER "arm-none-eabi-gcc")
-
-set(CMAKE_SIZE "arm-none-eabi-size" CACHE FILEPATH "")
-set(CMAKE_OBJCOPY "arm-none-eabi-objcopy" CACHE FILEPATH "")
-set(CMAKE_OBJDUMP "arm-none-eabi-objdump" CACHE FILEPATH "")
-
-set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE)
-
-# Look for includes and libraries only in the target system prefix.
-set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
-set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
-set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
-set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
-
-# pass TOOLCHAIN_CPU to
-set(CMAKE_TRY_COMPILE_PLATFORM_VARIABLES CMAKE_SYSTEM_PROCESSOR)
-
-include(${CMAKE_CURRENT_LIST_DIR}/../cpu/${CMAKE_SYSTEM_PROCESSOR}.cmake)
-
-# enable all possible warnings for building examples
-list(APPEND TOOLCHAIN_COMMON_FLAGS
- -fdata-sections
- -ffunction-sections
- -fsingle-precision-constant
- -fno-strict-aliasing
- )
-
-set(TOOLCHAIN_EXE_LINKER_FLAGS
- -Wl,--print-memory-usage
- -Wl,--gc-sections
- -Wl,--cref
- )
-
-include(${CMAKE_CURRENT_LIST_DIR}/set_flags.cmake)
-
-# try_compile is cmake test compiling its own example,
-# pass -nostdlib to skip stdlib linking
-get_property(IS_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE)
-if (IS_IN_TRY_COMPILE)
- set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -nostdlib")
- set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -nostdlib")
-endif ()
diff --git a/tools/cmake/toolchain/arm_iar.cmake b/tools/cmake/toolchain/arm_iar.cmake
deleted file mode 100644
index a487e5b9f..000000000
--- a/tools/cmake/toolchain/arm_iar.cmake
+++ /dev/null
@@ -1,31 +0,0 @@
-set(CMAKE_SYSTEM_NAME Generic)
-
-set(CMAKE_C_COMPILER "iccarm")
-set(CMAKE_CXX_COMPILER "iccarm")
-set(CMAKE_ASM_COMPILER "iasmarm")
-
-set(CMAKE_SIZE "size" CACHE FILEPATH "")
-set(CMAKE_OBJCOPY "ielftool" CACHE FILEPATH "")
-set(CMAKE_OBJDUMP "iefdumparm" CACHE FILEPATH "")
-
-set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE)
-
-# Look for includes and libraries only in the target system prefix.
-set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
-set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
-set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
-set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
-
-# pass TOOLCHAIN_CPU to
-set(CMAKE_TRY_COMPILE_PLATFORM_VARIABLES CMAKE_SYSTEM_PROCESSOR)
-
-include(${CMAKE_CURRENT_LIST_DIR}/../cpu/${CMAKE_SYSTEM_PROCESSOR}.cmake)
-
-# enable all possible warnings for building examples
-list(APPEND TOOLCHAIN_COMMON_FLAGS
- )
-
-list(APPEND TOOLCHAIN_EXE_LINKER_FLAGS
- )
-
-include(${CMAKE_CURRENT_LIST_DIR}/set_flags.cmake)
diff --git a/tools/cmake/toolchain/set_flags.cmake b/tools/cmake/toolchain/set_flags.cmake
deleted file mode 100644
index 44930ef4d..000000000
--- a/tools/cmake/toolchain/set_flags.cmake
+++ /dev/null
@@ -1,17 +0,0 @@
-include(CMakePrintHelpers)
-
-# join the toolchain flags into a single string
-list(JOIN TOOLCHAIN_COMMON_FLAGS " " TOOLCHAIN_COMMON_FLAGS)
-
-foreach (LANG IN ITEMS C CXX ASM)
- set(CMAKE_${LANG}_FLAGS_INIT ${TOOLCHAIN_COMMON_FLAGS})
-
- #cmake_print_variables(CMAKE_${LANG}_FLAGS_INIT)
-
- # optimization flags for LOG, LOGGER ?
- #set(CMAKE_${LANG}_FLAGS_RELEASE_INIT "-Os")
- #set(CMAKE_${LANG}_FLAGS_DEBUG_INIT "-O0")
-endforeach ()
-
-# Linker
-list(JOIN TOOLCHAIN_EXE_LINKER_FLAGS " " CMAKE_EXE_LINKER_FLAGS_INIT)
diff --git a/tools/codespell/exclude-file.txt b/tools/codespell/exclude-file.txt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tools/codespell/exclude-file.txt
diff --git a/tools/codespell/ignore-words.txt b/tools/codespell/ignore-words.txt
new file mode 100644
index 000000000..957cbd86b
--- /dev/null
+++ b/tools/codespell/ignore-words.txt
@@ -0,0 +1,14 @@
+synopsys
+sie
+tre
+thre
+hsi
+fro
+dout
+mot
+te
+attch
+endianess
+pris
+busses
+ser
diff --git a/tools/gen_doc.py b/tools/gen_doc.py
index 9078299cc..c63294588 100644
--- a/tools/gen_doc.py
+++ b/tools/gen_doc.py
@@ -13,9 +13,9 @@ TOP = Path(__file__).parent.parent.resolve()
def gen_deps_doc():
deps_rst = Path(TOP) / "docs/reference/dependencies.rst"
- df = pd.DataFrame.from_dict(deps_all, orient='index', columns=['Commit', 'Project'])
- df = df[['Project', 'Commit']].sort_index()
- df = df.rename_axis("Path")
+ df = pd.DataFrame.from_dict(deps_all, orient='index', columns=['Repo', 'Commit', 'Required by'])
+ df = df[['Repo', 'Commit', 'Required by']].sort_index()
+ df = df.rename_axis("Local Path")
outstr = f"""\
************
diff --git a/tools/get_deps.py b/tools/get_deps.py
index d6505a1d9..cdb5dafe1 100644
--- a/tools/get_deps.py
+++ b/tools/get_deps.py
@@ -7,7 +7,7 @@ from multiprocessing import Pool
# path, url, commit, family (Alphabet sorted by path)
deps_mandatory = {
'lib/FreeRTOS-Kernel': ['https://github.com/FreeRTOS/FreeRTOS-Kernel.git',
- '5f19e34f878af97810a7662a75eac59bd74d628b',
+ 'cc0e0707c0c748713485b870bb980852b210877f',
'all'],
'lib/lwip': ['https://github.com/lwip-tcpip/lwip.git',
'159e31b689577dbf69cf0683bbaffbd71fa5ee10',
@@ -37,27 +37,27 @@ deps_optional = {
'xmc4000'],
'hw/mcu/microchip': ['https://github.com/hathach/microchip_driver.git',
'9e8b37e307d8404033bb881623a113931e1edf27',
- 'sam3x samd11 samd21 samd51 same5x same7x saml2x samg'],
+ 'sam3x samd11 samd21 samd51 samd5x_e5x same5x same7x saml2x samg'],
'hw/mcu/mindmotion/mm32sdk': ['https://github.com/hathach/mm32sdk.git',
- '0b79559eb411149d36e073c1635c620e576308d4',
+ 'b93e856211060ae825216c6a1d6aa347ec758843',
'mm32'],
'hw/mcu/nordic/nrfx': ['https://github.com/NordicSemiconductor/nrfx.git',
- '2527e3c8449cfd38aee41598e8af8492f410ed15',
+ '7c47cc0a56ce44658e6da2458e86cd8783ccc4a2',
'nrf'],
'hw/mcu/nuvoton': ['https://github.com/majbthrd/nuc_driver.git',
'2204191ec76283371419fbcec207da02e1bc22fa',
'nuc'],
'hw/mcu/nxp/lpcopen': ['https://github.com/hathach/nxp_lpcopen.git',
- '43c45c85405a5dd114fff0ea95cca62837740c13',
+ '04bfe7a5f6ee74a89a28ad618d3367dcfcfb7d83',
'lpc11 lpc13 lpc15 lpc17 lpc18 lpc40 lpc43'],
'hw/mcu/nxp/mcux-sdk': ['https://github.com/hathach/mcux-sdk.git',
- '950819b7de9b32f92c3edf396bc5ffb8d66e7009',
- 'kinetis_k32l2 kinetis_kl lpc51 lpc54 lpc55 mcx imxrt'],
+ '144f1eb7ea8c06512e12f12b27383601c0272410',
+ 'kinetis_k kinetis_k32l2 kinetis_kl lpc51 lpc54 lpc55 mcx imxrt'],
'hw/mcu/raspberry_pi/Pico-PIO-USB': ['https://github.com/sekigon-gonnoc/Pico-PIO-USB.git',
- 'd00a10a8c425d0d40f81b87169102944b01f3bb3',
+ '0f747aaa0c16f750bdfa2ba37ec25d6c8e1bc117',
'rp2040'],
'hw/mcu/renesas/fsp': ['https://github.com/renesas/fsp.git',
- '8dc14709f2a6518b43f71efad70d900b7718d9f1',
+ 'd52e5a6a59b7c638da860c2bb309b6e78e752ff8',
'ra'],
'hw/mcu/renesas/rx': ['https://github.com/kkitayam/rx_device.git',
'706b4e0cf485605c32351e2f90f5698267996023',
@@ -84,7 +84,7 @@ deps_optional = {
'2615e866fa48fe1ff1af9e31c348813f2b19e7ec',
'stm32f4'],
'hw/mcu/st/cmsis_device_f7': ['https://github.com/STMicroelectronics/cmsis_device_f7.git',
- 'fc676ef1ad177eb874eaa06444d3d75395fc51f4',
+ '25b0463439303b7a38f0d27b161f7d2f3c096e79',
'stm32f7'],
'hw/mcu/st/cmsis_device_g0': ['https://github.com/STMicroelectronics/cmsis_device_g0.git',
'3a23e1224417f3f2d00300ecd620495e363f2094',
@@ -95,8 +95,11 @@ deps_optional = {
'hw/mcu/st/cmsis_device_h7': ['https://github.com/STMicroelectronics/cmsis_device_h7.git',
'60dc2c913203dc8629dc233d4384dcc41c91e77f',
'stm32h7'],
+ 'hw/mcu/st/cmsis_device_h5': ['https://github.com/STMicroelectronics/cmsis_device_h5.git',
+ 'cd2d1d579743de57b88ccaf61a968b9c05848ffc',
+ 'stm32h5'],
'hw/mcu/st/cmsis_device_l0': ['https://github.com/STMicroelectronics/cmsis_device_l0.git',
- '06748ca1f93827befdb8b794402320d94d02004f',
+ '69cd5999fd40ae6e546d4905b21635c6ca1bcb92',
'stm32l0'],
'hw/mcu/st/cmsis_device_l1': ['https://github.com/STMicroelectronics/cmsis_device_l1.git',
'7f16ec0a1c4c063f84160b4cc6bf88ad554a823e',
@@ -108,7 +111,7 @@ deps_optional = {
'd922865fc0326a102c26211c44b8e42f52c1e53d',
'stm32l5'],
'hw/mcu/st/cmsis_device_u5': ['https://github.com/STMicroelectronics/cmsis_device_u5.git',
- 'bc00f3c9d8a4e25220f84c26d414902cc6bdf566',
+ '5ad9797c54ec3e55eff770fc9b3cd4a1aefc1309',
'stm32u5'],
'hw/mcu/st/cmsis_device_wb': ['https://github.com/STMicroelectronics/cmsis_device_wb.git',
'9c5d1920dd9fabbe2548e10561d63db829bb744f',
@@ -140,6 +143,9 @@ deps_optional = {
'hw/mcu/st/stm32h7xx_hal_driver': ['https://github.com/STMicroelectronics/stm32h7xx_hal_driver.git',
'd8461b980b59b1625207d8c4f2ce0a9c2a7a3b04',
'stm32h7'],
+ 'hw/mcu/st/stm32h5xx_hal_driver': ['https://github.com/STMicroelectronics/stm32h5xx_hal_driver.git',
+ '2cf77de584196d619cec1b4586c3b9e2820a254e',
+ 'stm32h5'],
'hw/mcu/st/stm32l0xx_hal_driver': ['https://github.com/STMicroelectronics/stm32l0xx_hal_driver.git',
'fbdacaf6f8c82a4e1eb9bd74ba650b491e97e17b',
'stm32l0'],
@@ -153,22 +159,28 @@ deps_optional = {
'675c32a75df37f39d50d61f51cb0dcf53f07e1cb',
'stm32l5'],
'hw/mcu/st/stm32u5xx_hal_driver': ['https://github.com/STMicroelectronics/stm32u5xx_hal_driver.git',
- '2e1d4cdb386e33391cb261dfff4fefa92e4aa35a',
+ '4d93097a67928e9377e655ddd14622adc31b9770',
'stm32u5'],
'hw/mcu/st/stm32wbxx_hal_driver': ['https://github.com/STMicroelectronics/stm32wbxx_hal_driver.git',
'2c5f06638be516c1b772f768456ba637f077bac8',
'stm32wb'],
'hw/mcu/ti': ['https://github.com/hathach/ti_driver.git',
'143ed6cc20a7615d042b03b21e070197d473e6e5',
- 'msp430 msp432e4 tm4c123'],
+ 'msp430 msp432e4 tm4c'],
'hw/mcu/wch/ch32v307': ['https://github.com/openwch/ch32v307.git',
'17761f5cf9dbbf2dcf665b7c04934188add20082',
'ch32v307'],
+ 'hw/mcu/wch/ch32f20x': ['https://github.com/openwch/ch32f20x.git',
+ '77c4095087e5ed2c548ec9058e655d0b8757663b',
+ 'ch32f20x'],
'lib/CMSIS_5': ['https://github.com/ARM-software/CMSIS_5.git',
'20285262657d1b482d132d20d755c8c330d55c1f',
'imxrt kinetis_k32l2 kinetis_kl lpc51 lpc54 lpc55 mcx mm32 msp432e4 nrf ra saml2x'
- 'stm32f0 stm32f1 stm32f2 stm32f3 stm32f4 stm32f7 stm32g0 stm32g4 '
- 'stm32h7 stm32l0 stm32l1 stm32l4 stm32l5 stm32u5 stm32wb'],
+ 'lpc11 lpc13 lpc15 lpc17 lpc18 lpc40 lpc43'
+ 'stm32f0 stm32f1 stm32f2 stm32f3 stm32f4 stm32f7 stm32g0 stm32g4 stm32h5'
+ 'stm32h7 stm32l0 stm32l1 stm32l4 stm32l5 stm32u5 stm32wb'
+ 'sam3x samd11 samd21 samd51 samd5x_e5x same5x same7x saml2x samg'
+ 'tm4c'],
'lib/sct_neopixel': ['https://github.com/gsteiert/sct_neopixel.git',
'e73e04ca63495672d955f9268e003cffe168fcd8',
'lpc55'],
@@ -181,6 +193,10 @@ deps_all = {**deps_mandatory, **deps_optional}
TOP = Path(__file__).parent.parent.resolve()
+def run_cmd(cmd):
+ return subprocess.run(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+
+
def get_a_dep(d):
if d not in deps_all.keys():
print('{} is not found in dependency list')
@@ -189,25 +205,24 @@ def get_a_dep(d):
commit = deps_all[d][1]
families = deps_all[d][2]
- print('cloning {} with {}'.format(d, url))
+ print(f'cloning {d} with {url}')
p = Path(TOP / d)
- git_cmd = "git -C {}".format(p)
+ git_cmd = f"git -C {p}"
# Init git deps if not existed
if not p.exists():
p.mkdir(parents=True)
- subprocess.run("{} init".format(git_cmd), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
- subprocess.run("{} remote add origin {}".format(git_cmd, url), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ run_cmd(f"{git_cmd} init")
+ run_cmd(f"{git_cmd} remote add origin {url}")
# Check if commit is already fetched
- result = subprocess.run("{} rev-parse HEAD".format(git_cmd, commit), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ result = run_cmd(f"{git_cmd} rev-parse HEAD")
head = result.stdout.decode("utf-8").splitlines()[0]
-
+ run_cmd(f"{git_cmd} reset --hard")
if commit != head:
- subprocess.run("{} reset --hard".format(git_cmd, commit), shell=True)
- subprocess.run("{} fetch --depth 1 origin {}".format(git_cmd, commit), shell=True)
- subprocess.run("{} checkout FETCH_HEAD".format(git_cmd), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ run_cmd(f"{git_cmd} fetch --depth 1 origin {commit}")
+ run_cmd(f"{git_cmd} checkout FETCH_HEAD")
return 0
diff --git a/tools/iar_gen.py b/tools/iar_gen.py
index 73c8b29fc..ebcfa1423 100644
--- a/tools/iar_gen.py
+++ b/tools/iar_gen.py
@@ -1,51 +1,87 @@
#!/usr/bin/python3
import os
+import sys
import xml.dom.minidom as XML
+import glob
-# Read base configuration
-base = ""
-with open("iar_template.ipcf") as f:
- base = f.read()
+def Main():
+ # Read base configuration
+ base = ""
+ with open("iar_template.ipcf") as f:
+ base = f.read()
-# Enumerate all device/host examples
-dir_1 = os.listdir("../examples")
-for dir_2 in dir_1:
- if os.path.isdir("../examples/{}".format(dir_2)):
- print(dir_2)
- examples = os.listdir("../examples/{}".format(dir_2))
- for example in examples:
- if os.path.isdir("../examples/{}/{}".format(dir_2, example)):
- print("../examples/{}/{}".format(dir_2, example))
- conf = XML.parseString(base)
- files = conf.getElementsByTagName("files")[0]
- inc = conf.getElementsByTagName("includePath")[0]
- # Add bsp inc
- path = conf.createElement('path')
- path_txt = conf.createTextNode("$TUSB_DIR$/hw")
- path.appendChild(path_txt)
- inc.appendChild(path)
- # Add board.c/.h
- grp = conf.createElement('group')
- grp.setAttribute("name", "bsp")
- path = conf.createElement('path')
- path_txt = conf.createTextNode("$TUSB_DIR$/hw/bsp/board.c")
- path.appendChild(path_txt)
- grp.appendChild(path)
- files.appendChild(grp)
- # Add example's .c/.h
- grp = conf.createElement('group')
- grp.setAttribute("name", "example")
- for file in os.listdir("../examples/{}/{}/src".format(dir_2, example)):
- if file.endswith(".c") or file.endswith(".h"):
- path = conf.createElement('path')
- path.setAttribute("copyTo", "$PROJ_DIR$/{}".format(file))
- path_txt = conf.createTextNode("$TUSB_DIR$/examples/{0}/{1}/src/{2}".format(dir_2, example, file))
- path.appendChild(path_txt)
- grp.appendChild(path)
- files.appendChild(grp)
- cfg_str = conf.toprettyxml()
- cfg_str = '\n'.join([s for s in cfg_str.splitlines() if s.strip()])
- #print(cfg_str)
- with open("../examples/{0}/{1}/iar_{1}.ipcf".format(dir_2, example), 'w') as f:
- f.write(cfg_str)
+ # Enumerate all device/host examples
+ dir_1 = os.listdir("../examples")
+ for dir_2 in dir_1:
+ if os.path.isdir("../examples/{}".format(dir_2)):
+ print(dir_2)
+ examples = os.listdir("../examples/{}".format(dir_2))
+ for example in examples:
+ if os.path.isdir("../examples/{}/{}".format(dir_2, example)):
+ print("../examples/{}/{}".format(dir_2, example))
+ conf = XML.parseString(base)
+ files = conf.getElementsByTagName("files")[0]
+ inc = conf.getElementsByTagName("includePath")[0]
+ # Add bsp inc
+ path = conf.createElement('path')
+ path_txt = conf.createTextNode("$TUSB_DIR$/hw")
+ path.appendChild(path_txt)
+ inc.appendChild(path)
+ # Add board.c/.h
+ grp = conf.createElement('group')
+ grp.setAttribute("name", "bsp")
+ path = conf.createElement('path')
+ path_txt = conf.createTextNode("$TUSB_DIR$/hw/bsp/board.c")
+ path.appendChild(path_txt)
+ grp.appendChild(path)
+ files.appendChild(grp)
+ # Add example's .c/.h
+ grp = conf.createElement('group')
+ grp.setAttribute("name", "example")
+ for file in os.listdir("../examples/{}/{}/src".format(dir_2, example)):
+ if file.endswith(".c") or file.endswith(".h"):
+ path = conf.createElement('path')
+ path.setAttribute("copyTo", "$PROJ_DIR$/{}".format(file))
+ path_txt = conf.createTextNode("$TUSB_DIR$/examples/{0}/{1}/src/{2}".format(dir_2, example, file))
+ path.appendChild(path_txt)
+ grp.appendChild(path)
+ files.appendChild(grp)
+ cfg_str = conf.toprettyxml()
+ cfg_str = '\n'.join([s for s in cfg_str.splitlines() if s.strip()])
+ #print(cfg_str)
+ with open("../examples/{0}/{1}/iar_{1}.ipcf".format(dir_2, example), 'w') as f:
+ f.write(cfg_str)
+
+def ListPath(path, blacklist=[]):
+ # Get all .c files
+ files = glob.glob(f'../{path}/**/*.c', recursive=True)
+ files.extend(glob.glob(f'../{path}/**/*.h', recursive=True))
+ # Filter
+ files = [x for x in files if all(y not in x for y in blacklist)]
+ # Get common dir list
+ dirs = []
+ for file in files:
+ dir = os.path.dirname(file)
+ if dir not in dirs:
+ dirs.append(dir)
+ # Print .c grouped by dir
+ for dir in dirs:
+ print('<group name="' + dir.replace('../', '').replace('\\','/') + '">')
+ for file in files:
+ if os.path.dirname(file) == dir:
+ print(' <path>$TUSB_DIR$/' + file.replace('../','').replace('\\','/')+'</path>')
+ print('</group>')
+
+def List():
+ ListPath('src', [ 'template.c', 'dcd_synopsys.c', 'dcd_esp32sx.c' ])
+ ListPath('lib/SEGGER_RTT')
+
+if __name__ == "__main__":
+ if os.path.dirname(os.getcwd()) != 'tools':
+ os.chdir('tools')
+ if (len(sys.argv) > 1):
+ if (sys.argv[1] == 'l'):
+ List()
+ else:
+ Main()
diff --git a/tools/iar_template.ipcf b/tools/iar_template.ipcf
index 6ea1d576d..e72ec0ce2 100644
--- a/tools/iar_template.ipcf
+++ b/tools/iar_template.ipcf
@@ -4,166 +4,272 @@
<includePath>
<path>$TUSB_DIR$/src</path>
<path>$TUSB_DIR$/lib/SEGGER_RTT/RTT</path>
+ <path>$TUSB_DIR$/lib/SEGGER_RTT/Config</path>
<path>$PROJ_DIR$</path>
</includePath>
<files>
- <group name="src/device">
- <path>$TUSB_DIR$/src/device/usbd.c</path>
- <path>$TUSB_DIR$/src/device/usbd_control.c</path>
- </group>
- <group name="src/common">
- <path>$TUSB_DIR$/src/common/tusb_fifo.c</path>
- </group>
- <group name="src/class/audio">
- <path>$TUSB_DIR$/src/class/audio/audio_device.c</path>
- </group>
- <group name="src/class/bth">
- <path>$TUSB_DIR$/src/class/bth/bth_device.c</path>
- </group>
- <group name="src/class/cdc">
- <path>$TUSB_DIR$/src/class/cdc/cdc_device.c</path>
- <path>$TUSB_DIR$/src/class/cdc/cdc_host.c</path>
- <path>$TUSB_DIR$/src/class/cdc/cdc_rndis_host.c</path>
- </group>
- <group name="src/class/dfu">
- <path>$TUSB_DIR$/src/class/dfu/dfu_device.c</path>
- <path>$TUSB_DIR$/src/class/dfu/dfu_rt_device.c</path>
- </group>
- <group name="src/class/hid">
- <path>$TUSB_DIR$/src/class/hid/hid_device.c</path>
- <path>$TUSB_DIR$/src/class/hid/hid_host.c</path>
- </group>
- <group name="src/class/midi">
- <path>$TUSB_DIR$/src/class/midi/midi_device.c</path>
- </group>
- <group name="src/class/msc">
- <path>$TUSB_DIR$/src/class/msc/msc_device.c</path>
- <path>$TUSB_DIR$/src/class/msc/msc_host.c</path>
- </group>
- <group name="src/class/net">
- <path>$TUSB_DIR$/src/class/net/ecm_rndis_device.c</path>
- <path>$TUSB_DIR$/src/class/net/ncm_device.c</path>
- </group>
- <group name="src/class/usbtmc">
- <path>$TUSB_DIR$/src/class/usbtmc/usbtmc_device.c</path>
- </group>
- <group name="src/class/vendor">
- <path>$TUSB_DIR$/src/class/vendor/vendor_device.c</path>
- <path>$TUSB_DIR$/src/class/vendor/vendor_host.c</path>
- </group>
<group name="src">
<path>$TUSB_DIR$/src/tusb.c</path>
+ <path>$TUSB_DIR$/src/tusb.h</path>
+ <path>$TUSB_DIR$/src/tusb_option.h</path>
</group>
- <group name="src/host">
- <path>$TUSB_DIR$/src/host/hub.c</path>
- <path>$TUSB_DIR$/src/host/usbh.c</path>
- </group>
- <group name="src/portable/bridgetek/ft9xx">
- <path>$TUSB_DIR$/src/portable/bridgetek/ft9xx/dcd_ft9xx.c</path>
- </group>
- <group name="src/portable/chipidea/ci_hs">
- <path>$TUSB_DIR$/src/portable/chipidea/ci_hs/dcd_ci_hs.c</path>
- <path>$TUSB_DIR$/src/portable/chipidea/ci_hs/hcd_ci_hs.c</path>
- </group>
- <group name="src/portable/synopsys/dwc2">
- <path>$TUSB_DIR$/src/portable/synopsys/dwc2/dcd_dwc2.c</path>
- </group>
- <group name="src/portable/dialog/da146xx">
- <path>$TUSB_DIR$/src/portable/dialog/da146xx/dcd_da146xx.c</path>
- </group>
- <group name="src/portable/ehci">
- <path>$TUSB_DIR$/src/portable/ehci/ehci.c</path>
- </group>
- <group name="src/portable/espressif/esp32sx">
- <path>$TUSB_DIR$/src/portable/espressif/esp32sx/dcd_esp32sx.c</path>
- </group>
- <group name="src/portable/mentor/musb">
- <path>$TUSB_DIR$/src/portable/mentor/musb/dcd_musb.c</path>
- <path>$TUSB_DIR$/src/portable/mentor/musb/hcd_musb.c</path>
- </group>
- <group name="src/portable/microchip/samd">
- <path>$TUSB_DIR$/src/portable/microchip/samd/dcd_samd.c</path>
- </group>
- <group name="src/portable/microchip/samg">
- <path>$TUSB_DIR$/src/portable/microchip/samg/dcd_samg.c</path>
- </group>
- <group name="src/portable/microchip/samx7x">
- <path>$TUSB_DIR$/src/portable/microchip/samx7x/dcd_samx7x.c</path>
- </group>
- <group name="src/portable/microchip/pic">
- <path>$TUSB_DIR$/src/portable/microchip/pic/dcd_pic.c</path>
- </group>
- <group name="src/portable/microchip/pic32mz">
- <path>$TUSB_DIR$/src/portable/microchip/pic32mz/dcd_pic32mz.c</path>
- </group>
- <group name="src/portable/mindmotion/mm32">
- <path>$TUSB_DIR$/src/portable/mindmotion/mm32/dcd_mm32f327x_otg.c</path>
- </group>
- <group name="src/portable/nordic/nrf5x">
- <path>$TUSB_DIR$/src/portable/nordic/nrf5x/dcd_nrf5x.c</path>
- </group>
- <group name="src/portable/nuvoton/nuc120">
- <path>$TUSB_DIR$/src/portable/nuvoton/nuc120/dcd_nuc120.c</path>
- </group>
- <group name="src/portable/nuvoton/nuc121">
- <path>$TUSB_DIR$/src/portable/nuvoton/nuc121/dcd_nuc121.c</path>
- </group>
- <group name="src/portable/nuvoton/nuc505">
- <path>$TUSB_DIR$/src/portable/nuvoton/nuc505/dcd_nuc505.c</path>
- </group>
- <group name="src/portable/nxp/khci">
- <path>$TUSB_DIR$/src/portable/nxp/khci/dcd_khci.c</path>
- <path>$TUSB_DIR$/src/portable/nxp/khci/hcd_khci.c</path>
- </group>
- <group name="src/portable/nxp/lpc17_40">
- <path>$TUSB_DIR$/src/portable/nxp/lpc17_40/dcd_lpc17_40.c</path>
- <path>$TUSB_DIR$/src/portable/nxp/lpc17_40/hcd_lpc17_40.c</path>
- </group>
- <group name="src/portable/nxp/lpc_ip3511">
- <path>$TUSB_DIR$/src/portable/nxp/lpc_ip3511/dcd_lpc_ip3511.c</path>
- </group>
- <group name="src/portable/nxp/transdimension">
- <path>$TUSB_DIR$/src/portable/nxp/transdimension/dcd_transdimension.c</path>
- <path>$TUSB_DIR$/src/portable/nxp/transdimension/hcd_transdimension.c</path>
- </group>
- <group name="src/portable/ohci">
- <path>$TUSB_DIR$/src/portable/ohci/ohci.c</path>
- </group>
- <group name="src/portable/raspberrypi/pio_usb">
- <path>$TUSB_DIR$/src/portable/raspberrypi/pio_usb/dcd_pio_usb.c</path>
- <path>$TUSB_DIR$/src/portable/raspberrypi/pio_usb/hcd_pio_usb.c</path>
- </group>
- <group name="src/portable/raspberrypi/rp2040">
- <path>$TUSB_DIR$/src/portable/raspberrypi/rp2040/dcd_rp2040.c</path>
- <path>$TUSB_DIR$/src/portable/raspberrypi/rp2040/hcd_rp2040.c</path>
- </group>
- <group name="src/portable/renesas/rusb2">
- <path>$TUSB_DIR$/src/portable/renesas/rusb2/dcd_rusb2.c</path>
- <path>$TUSB_DIR$/src/portable/renesas/rusb2/hcd_rusb2.c</path>
- </group>
- <group name="src/portable/sony/cxd56">
- <path>$TUSB_DIR$/src/portable/sony/cxd56/dcd_cxd56.c</path>
- </group>
- <group name="src/portable/st/stm32_fsdev">
- <path>$TUSB_DIR$/src/portable/st/stm32_fsdev/dcd_stm32_fsdev.c</path>
- </group>
- <group name="src/portable/sunxi">
- <path>$TUSB_DIR$/src/portable/sunxi/dcd_sunxi_musb.c</path>
- </group>
- <group name="src/portable/ti/msp430x5xx">
- <path>$TUSB_DIR$/src/portable/ti/msp430x5xx/dcd_msp430x5xx.c</path>
- </group>
- <group name="src/portable/valentyusb/eptri">
- <path>$TUSB_DIR$/src/portable/valentyusb/eptri/dcd_eptri.c</path>
- </group>
- <group name="src/portable/wch/ch32v307">
- <path>$TUSB_DIR$/src/portable/wch/ch32v307/dcd_usbhs.c</path>
- </group>
- <group name="lib/SEGGER_RTT">
- <path>$TUSB_DIR$/lib/SEGGER_RTT/RTT/SEGGER_RTT.c</path>
+ <group name="src/class/audio">
+ <path>$TUSB_DIR$/src/class/audio/audio_device.c</path>
+ <path>$TUSB_DIR$/src/class/audio/audio.h</path>
+ <path>$TUSB_DIR$/src/class/audio/audio_device.h</path>
+ </group>
+ <group name="src/class/bth">
+ <path>$TUSB_DIR$/src/class/bth/bth_device.c</path>
+ <path>$TUSB_DIR$/src/class/bth/bth_device.h</path>
+ </group>
+ <group name="src/class/cdc">
+ <path>$TUSB_DIR$/src/class/cdc/cdc_device.c</path>
+ <path>$TUSB_DIR$/src/class/cdc/cdc_host.c</path>
+ <path>$TUSB_DIR$/src/class/cdc/cdc_rndis_host.c</path>
+ <path>$TUSB_DIR$/src/class/cdc/cdc.h</path>
+ <path>$TUSB_DIR$/src/class/cdc/cdc_device.h</path>
+ <path>$TUSB_DIR$/src/class/cdc/cdc_host.h</path>
+ <path>$TUSB_DIR$/src/class/cdc/cdc_rndis.h</path>
+ <path>$TUSB_DIR$/src/class/cdc/cdc_rndis_host.h</path>
+ </group>
+ <group name="src/class/dfu">
+ <path>$TUSB_DIR$/src/class/dfu/dfu_device.c</path>
+ <path>$TUSB_DIR$/src/class/dfu/dfu_rt_device.c</path>
+ <path>$TUSB_DIR$/src/class/dfu/dfu.h</path>
+ <path>$TUSB_DIR$/src/class/dfu/dfu_device.h</path>
+ <path>$TUSB_DIR$/src/class/dfu/dfu_rt_device.h</path>
+ </group>
+ <group name="src/class/hid">
+ <path>$TUSB_DIR$/src/class/hid/hid_device.c</path>
+ <path>$TUSB_DIR$/src/class/hid/hid_host.c</path>
+ <path>$TUSB_DIR$/src/class/hid/hid.h</path>
+ <path>$TUSB_DIR$/src/class/hid/hid_device.h</path>
+ <path>$TUSB_DIR$/src/class/hid/hid_host.h</path>
+ </group>
+ <group name="src/class/midi">
+ <path>$TUSB_DIR$/src/class/midi/midi_device.c</path>
+ <path>$TUSB_DIR$/src/class/midi/midi.h</path>
+ <path>$TUSB_DIR$/src/class/midi/midi_device.h</path>
+ </group>
+ <group name="src/class/msc">
+ <path>$TUSB_DIR$/src/class/msc/msc_device.c</path>
+ <path>$TUSB_DIR$/src/class/msc/msc_host.c</path>
+ <path>$TUSB_DIR$/src/class/msc/msc.h</path>
+ <path>$TUSB_DIR$/src/class/msc/msc_device.h</path>
+ <path>$TUSB_DIR$/src/class/msc/msc_host.h</path>
+ </group>
+ <group name="src/class/net">
+ <path>$TUSB_DIR$/src/class/net/ecm_rndis_device.c</path>
+ <path>$TUSB_DIR$/src/class/net/ncm_device.c</path>
+ <path>$TUSB_DIR$/src/class/net/ncm.h</path>
+ <path>$TUSB_DIR$/src/class/net/net_device.h</path>
+ </group>
+ <group name="src/class/usbtmc">
+ <path>$TUSB_DIR$/src/class/usbtmc/usbtmc_device.c</path>
+ <path>$TUSB_DIR$/src/class/usbtmc/usbtmc.h</path>
+ <path>$TUSB_DIR$/src/class/usbtmc/usbtmc_device.h</path>
+ </group>
+ <group name="src/class/vendor">
+ <path>$TUSB_DIR$/src/class/vendor/vendor_device.c</path>
+ <path>$TUSB_DIR$/src/class/vendor/vendor_host.c</path>
+ <path>$TUSB_DIR$/src/class/vendor/vendor_device.h</path>
+ <path>$TUSB_DIR$/src/class/vendor/vendor_host.h</path>
+ </group>
+ <group name="src/class/video">
+ <path>$TUSB_DIR$/src/class/video/video_device.c</path>
+ <path>$TUSB_DIR$/src/class/video/video.h</path>
+ <path>$TUSB_DIR$/src/class/video/video_device.h</path>
+ </group>
+ <group name="src/common">
+ <path>$TUSB_DIR$/src/common/tusb_fifo.c</path>
+ <path>$TUSB_DIR$/src/common/tusb_common.h</path>
+ <path>$TUSB_DIR$/src/common/tusb_compiler.h</path>
+ <path>$TUSB_DIR$/src/common/tusb_debug.h</path>
+ <path>$TUSB_DIR$/src/common/tusb_fifo.h</path>
+ <path>$TUSB_DIR$/src/common/tusb_mcu.h</path>
+ <path>$TUSB_DIR$/src/common/tusb_private.h</path>
+ <path>$TUSB_DIR$/src/common/tusb_types.h</path>
+ <path>$TUSB_DIR$/src/common/tusb_verify.h</path>
+ </group>
+ <group name="src/device">
+ <path>$TUSB_DIR$/src/device/usbd.c</path>
+ <path>$TUSB_DIR$/src/device/usbd_control.c</path>
+ <path>$TUSB_DIR$/src/device/dcd.h</path>
+ <path>$TUSB_DIR$/src/device/usbd.h</path>
+ <path>$TUSB_DIR$/src/device/usbd_pvt.h</path>
+ </group>
+ <group name="src/host">
+ <path>$TUSB_DIR$/src/host/hub.c</path>
+ <path>$TUSB_DIR$/src/host/usbh.c</path>
+ <path>$TUSB_DIR$/src/host/hcd.h</path>
+ <path>$TUSB_DIR$/src/host/hub.h</path>
+ <path>$TUSB_DIR$/src/host/usbh.h</path>
+ <path>$TUSB_DIR$/src/host/usbh_pvt.h</path>
+ </group>
+ <group name="src/portable/analog/max3421">
+ <path>$TUSB_DIR$/src/portable/analog/max3421/hcd_max3421.c</path>
+ </group>
+ <group name="src/portable/bridgetek/ft9xx">
+ <path>$TUSB_DIR$/src/portable/bridgetek/ft9xx/dcd_ft9xx.c</path>
+ </group>
+ <group name="src/portable/chipidea/ci_fs">
+ <path>$TUSB_DIR$/src/portable/chipidea/ci_fs/dcd_ci_fs.c</path>
+ <path>$TUSB_DIR$/src/portable/chipidea/ci_fs/ci_fs_kinetis.h</path>
+ <path>$TUSB_DIR$/src/portable/chipidea/ci_fs/ci_fs_mcx.h</path>
+ <path>$TUSB_DIR$/src/portable/chipidea/ci_fs/ci_fs_type.h</path>
+ </group>
+ <group name="src/portable/chipidea/ci_hs">
+ <path>$TUSB_DIR$/src/portable/chipidea/ci_hs/dcd_ci_hs.c</path>
+ <path>$TUSB_DIR$/src/portable/chipidea/ci_hs/hcd_ci_hs.c</path>
+ <path>$TUSB_DIR$/src/portable/chipidea/ci_hs/ci_hs_imxrt.h</path>
+ <path>$TUSB_DIR$/src/portable/chipidea/ci_hs/ci_hs_lpc18_43.h</path>
+ <path>$TUSB_DIR$/src/portable/chipidea/ci_hs/ci_hs_mcx.h</path>
+ <path>$TUSB_DIR$/src/portable/chipidea/ci_hs/ci_hs_type.h</path>
+ </group>
+ <group name="src/portable/dialog/da146xx">
+ <path>$TUSB_DIR$/src/portable/dialog/da146xx/dcd_da146xx.c</path>
+ </group>
+ <group name="src/portable/ehci">
+ <path>$TUSB_DIR$/src/portable/ehci/ehci.c</path>
+ <path>$TUSB_DIR$/src/portable/ehci/ehci.h</path>
+ <path>$TUSB_DIR$/src/portable/ehci/ehci_api.h</path>
+ </group>
+ <group name="src/portable/mentor/musb">
+ <path>$TUSB_DIR$/src/portable/mentor/musb/dcd_musb.c</path>
+ <path>$TUSB_DIR$/src/portable/mentor/musb/hcd_musb.c</path>
+ <path>$TUSB_DIR$/src/portable/mentor/musb/musb_msp432e.h</path>
+ <path>$TUSB_DIR$/src/portable/mentor/musb/musb_tm4c.h</path>
+ <path>$TUSB_DIR$/src/portable/mentor/musb/musb_type.h</path>
+ </group>
+ <group name="src/portable/microchip/pic">
+ <path>$TUSB_DIR$/src/portable/microchip/pic/dcd_pic.c</path>
+ </group>
+ <group name="src/portable/microchip/pic32mz">
+ <path>$TUSB_DIR$/src/portable/microchip/pic32mz/dcd_pic32mz.c</path>
+ <path>$TUSB_DIR$/src/portable/microchip/pic32mz/usbhs_registers.h</path>
+ </group>
+ <group name="src/portable/microchip/samd">
+ <path>$TUSB_DIR$/src/portable/microchip/samd/dcd_samd.c</path>
+ </group>
+ <group name="src/portable/microchip/samg">
+ <path>$TUSB_DIR$/src/portable/microchip/samg/dcd_samg.c</path>
+ </group>
+ <group name="src/portable/microchip/samx7x">
+ <path>$TUSB_DIR$/src/portable/microchip/samx7x/dcd_samx7x.c</path>
+ <path>$TUSB_DIR$/src/portable/microchip/samx7x/common_usb_regs.h</path>
+ </group>
+ <group name="src/portable/mindmotion/mm32">
+ <path>$TUSB_DIR$/src/portable/mindmotion/mm32/dcd_mm32f327x_otg.c</path>
+ </group>
+ <group name="src/portable/nordic/nrf5x">
+ <path>$TUSB_DIR$/src/portable/nordic/nrf5x/dcd_nrf5x.c</path>
+ </group>
+ <group name="src/portable/nuvoton/nuc120">
+ <path>$TUSB_DIR$/src/portable/nuvoton/nuc120/dcd_nuc120.c</path>
+ </group>
+ <group name="src/portable/nuvoton/nuc121">
+ <path>$TUSB_DIR$/src/portable/nuvoton/nuc121/dcd_nuc121.c</path>
+ </group>
+ <group name="src/portable/nuvoton/nuc505">
+ <path>$TUSB_DIR$/src/portable/nuvoton/nuc505/dcd_nuc505.c</path>
+ </group>
+ <group name="src/portable/nxp/khci">
+ <path>$TUSB_DIR$/src/portable/nxp/khci/dcd_khci.c</path>
+ <path>$TUSB_DIR$/src/portable/nxp/khci/hcd_khci.c</path>
+ </group>
+ <group name="src/portable/nxp/lpc17_40">
+ <path>$TUSB_DIR$/src/portable/nxp/lpc17_40/dcd_lpc17_40.c</path>
+ <path>$TUSB_DIR$/src/portable/nxp/lpc17_40/hcd_lpc17_40.c</path>
+ <path>$TUSB_DIR$/src/portable/nxp/lpc17_40/dcd_lpc17_40.h</path>
+ </group>
+ <group name="src/portable/nxp/lpc_ip3511">
+ <path>$TUSB_DIR$/src/portable/nxp/lpc_ip3511/dcd_lpc_ip3511.c</path>
+ </group>
+ <group name="src/portable/ohci">
+ <path>$TUSB_DIR$/src/portable/ohci/ohci.c</path>
+ <path>$TUSB_DIR$/src/portable/ohci/ohci.h</path>
+ </group>
+ <group name="src/portable/raspberrypi/pio_usb">
+ <path>$TUSB_DIR$/src/portable/raspberrypi/pio_usb/dcd_pio_usb.c</path>
+ <path>$TUSB_DIR$/src/portable/raspberrypi/pio_usb/hcd_pio_usb.c</path>
+ </group>
+ <group name="src/portable/raspberrypi/rp2040">
+ <path>$TUSB_DIR$/src/portable/raspberrypi/rp2040/dcd_rp2040.c</path>
+ <path>$TUSB_DIR$/src/portable/raspberrypi/rp2040/hcd_rp2040.c</path>
+ <path>$TUSB_DIR$/src/portable/raspberrypi/rp2040/rp2040_usb.c</path>
+ <path>$TUSB_DIR$/src/portable/raspberrypi/rp2040/rp2040_usb.h</path>
+ </group>
+ <group name="src/portable/renesas/rusb2">
+ <path>$TUSB_DIR$/src/portable/renesas/rusb2/dcd_rusb2.c</path>
+ <path>$TUSB_DIR$/src/portable/renesas/rusb2/hcd_rusb2.c</path>
+ <path>$TUSB_DIR$/src/portable/renesas/rusb2/rusb2_common.c</path>
+ <path>$TUSB_DIR$/src/portable/renesas/rusb2/rusb2_ra.h</path>
+ <path>$TUSB_DIR$/src/portable/renesas/rusb2/rusb2_rx.h</path>
+ <path>$TUSB_DIR$/src/portable/renesas/rusb2/rusb2_type.h</path>
+ </group>
+ <group name="src/portable/sony/cxd56">
+ <path>$TUSB_DIR$/src/portable/sony/cxd56/dcd_cxd56.c</path>
+ </group>
+ <group name="src/portable/st/stm32_fsdev">
+ <path>$TUSB_DIR$/src/portable/st/stm32_fsdev/dcd_stm32_fsdev.c</path>
+ <path>$TUSB_DIR$/src/portable/st/stm32_fsdev/dcd_stm32_fsdev.h</path>
+ </group>
+ <group name="src/portable/st/typec">
+ <path>$TUSB_DIR$/src/portable/st/typec/typec_stm32.c</path>
+ </group>
+ <group name="src/portable/sunxi">
+ <path>$TUSB_DIR$/src/portable/sunxi/dcd_sunxi_musb.c</path>
+ <path>$TUSB_DIR$/src/portable/sunxi/musb_def.h</path>
+ </group>
+ <group name="src/portable/synopsys/dwc2">
+ <path>$TUSB_DIR$/src/portable/synopsys/dwc2/dcd_dwc2.c</path>
+ <path>$TUSB_DIR$/src/portable/synopsys/dwc2/dwc2_bcm.h</path>
+ <path>$TUSB_DIR$/src/portable/synopsys/dwc2/dwc2_efm32.h</path>
+ <path>$TUSB_DIR$/src/portable/synopsys/dwc2/dwc2_esp32.h</path>
+ <path>$TUSB_DIR$/src/portable/synopsys/dwc2/dwc2_gd32.h</path>
+ <path>$TUSB_DIR$/src/portable/synopsys/dwc2/dwc2_stm32.h</path>
+ <path>$TUSB_DIR$/src/portable/synopsys/dwc2/dwc2_type.h</path>
+ <path>$TUSB_DIR$/src/portable/synopsys/dwc2/dwc2_xmc.h</path>
+ </group>
+ <group name="src/portable/ti/msp430x5xx">
+ <path>$TUSB_DIR$/src/portable/ti/msp430x5xx/dcd_msp430x5xx.c</path>
+ </group>
+ <group name="src/portable/valentyusb/eptri">
+ <path>$TUSB_DIR$/src/portable/valentyusb/eptri/dcd_eptri.c</path>
+ <path>$TUSB_DIR$/src/portable/valentyusb/eptri/dcd_eptri.h</path>
+ </group>
+ <group name="src/portable/wch">
+ <path>$TUSB_DIR$/src/portable/wch/dcd_ch32_usbhs.c</path>
+ <path>$TUSB_DIR$/src/portable/wch/ch32_usbhs_reg.h</path>
+ </group>
+ <group name="src/typec">
+ <path>$TUSB_DIR$/src/typec/usbc.c</path>
+ <path>$TUSB_DIR$/src/typec/pd_types.h</path>
+ <path>$TUSB_DIR$/src/typec/tcd.h</path>
+ <path>$TUSB_DIR$/src/typec/usbc.h</path>
+ </group>
+ <group name="src/class/cdc/serial">
+ <path>$TUSB_DIR$/src/class/cdc/serial/ch34x.h</path>
+ <path>$TUSB_DIR$/src/class/cdc/serial/cp210x.h</path>
+ <path>$TUSB_DIR$/src/class/cdc/serial/ftdi_sio.h</path>
+ </group>
+ <group name="src/osal">
+ <path>$TUSB_DIR$/src/osal/osal.h</path>
+ <path>$TUSB_DIR$/src/osal/osal_freertos.h</path>
+ <path>$TUSB_DIR$/src/osal/osal_mynewt.h</path>
+ <path>$TUSB_DIR$/src/osal/osal_none.h</path>
+ <path>$TUSB_DIR$/src/osal/osal_pico.h</path>
+ <path>$TUSB_DIR$/src/osal/osal_rtthread.h</path>
+ <path>$TUSB_DIR$/src/osal/osal_rtx4.h</path>
+ </group>
+ <group name="lib/SEGGER_RTT/RTT">
+ <path>$TUSB_DIR$/lib/SEGGER_RTT/RTT/SEGGER_RTT.c</path>
<path>$TUSB_DIR$/lib/SEGGER_RTT/RTT/SEGGER_RTT_printf.c</path>
- <path>$TUSB_DIR$/lib/SEGGER_RTT/Syscalls/SEGGER_RTT_Syscalls_IAR.c</path>
- </group>
+ <path>$TUSB_DIR$/lib/SEGGER_RTT/RTT/SEGGER_RTT.h</path>
+ </group>
+ <group name="lib/SEGGER_RTT/Config">
+ <path>$TUSB_DIR$/lib/SEGGER_RTT/Config/SEGGER_RTT_Conf.h</path>
+ </group>
</files>
</iarProjectConnection>
diff --git a/tools/make/cpu/arm1176.mk b/tools/make/cpu/arm1176.mk
deleted file mode 100644
index 022ccf7ad..000000000
--- a/tools/make/cpu/arm1176.mk
+++ /dev/null
@@ -1,9 +0,0 @@
-ifeq ($(TOOLCHAIN),gcc)
- CFLAGS += \
- -mcpu=arm1176jzf-s \
-
-else ifeq ($(TOOLCHAIN),iar)
- #CFLAGS += --cpu cortex-a53
- #ASFLAGS += --cpu cortex-a53
-
-endif
diff --git a/tools/make/cpu/cortex-a53.mk b/tools/make/cpu/cortex-a53.mk
deleted file mode 100644
index 42e522ecf..000000000
--- a/tools/make/cpu/cortex-a53.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-ifeq ($(TOOLCHAIN),gcc)
- CFLAGS += \
- -mcpu=cortex-a53 \
-
-else ifeq ($(TOOLCHAIN),iar)
- CFLAGS += \
- --cpu cortex-a53 \
-
- ASFLAGS += \
- --cpu cortex-a53 \
-
-endif
diff --git a/tools/make/cpu/cortex-a72.mk b/tools/make/cpu/cortex-a72.mk
deleted file mode 100644
index 1b3d8da4a..000000000
--- a/tools/make/cpu/cortex-a72.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-ifeq ($(TOOLCHAIN),gcc)
- CFLAGS += \
- -mcpu=cortex-a72 \
-
-else ifeq ($(TOOLCHAIN),iar)
- CFLAGS += \
- --cpu cortex-a72 \
-
- ASFLAGS += \
- --cpu cortex-a72 \
-
-endif
diff --git a/tools/make/cpu/cortex-m0.mk b/tools/make/cpu/cortex-m0.mk
deleted file mode 100644
index feb0f395b..000000000
--- a/tools/make/cpu/cortex-m0.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-ifeq ($(TOOLCHAIN),gcc)
- CFLAGS += \
- -mthumb \
- -mcpu=cortex-m0 \
- -mfloat-abi=soft \
-
-else ifeq ($(TOOLCHAIN),iar)
- # IAR Flags
- CFLAGS += --cpu cortex-m0
- ASFLAGS += --cpu cortex-m0
-endif
-
-# For freeRTOS port source
-FREERTOS_PORTABLE_SRC ?= $(FREERTOS_PORTABLE_PATH)/ARM_CM0
diff --git a/tools/make/cpu/cortex-m0plus.mk b/tools/make/cpu/cortex-m0plus.mk
deleted file mode 100644
index b416b7a4a..000000000
--- a/tools/make/cpu/cortex-m0plus.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-ifeq ($(TOOLCHAIN),gcc)
- CFLAGS += \
- -mthumb \
- -mcpu=cortex-m0plus \
- -mfloat-abi=soft \
-
-else ifeq ($(TOOLCHAIN),iar)
- # IAR Flags
- CFLAGS += --cpu cortex-m0+
- ASFLAGS += --cpu cortex-m0+
-endif
-
-# For freeRTOS port source
-FREERTOS_PORTABLE_SRC ?= $(FREERTOS_PORTABLE_PATH)/ARM_CM0
diff --git a/tools/make/cpu/cortex-m3.mk b/tools/make/cpu/cortex-m3.mk
deleted file mode 100644
index 7a34b9e04..000000000
--- a/tools/make/cpu/cortex-m3.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-ifeq ($(TOOLCHAIN),gcc)
- CFLAGS += \
- -mthumb \
- -mcpu=cortex-m3 \
- -mfloat-abi=soft \
-
-else ifeq ($(TOOLCHAIN),iar)
- # IAR Flags
- CFLAGS += \
- --cpu cortex-m3 \
-
- ASFLAGS += \
- --cpu cortex-m3
-endif
-
-# For freeRTOS port source
-FREERTOS_PORTABLE_SRC ?= $(FREERTOS_PORTABLE_PATH)/ARM_CM3
diff --git a/tools/make/cpu/cortex-m33.mk b/tools/make/cpu/cortex-m33.mk
deleted file mode 100644
index fe5b7b380..000000000
--- a/tools/make/cpu/cortex-m33.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-ifeq ($(TOOLCHAIN),gcc)
- CFLAGS += \
- -mthumb \
- -mcpu=cortex-m33 \
- -mfloat-abi=hard \
- -mfpu=fpv5-sp-d16 \
-
-else ifeq ($(TOOLCHAIN),iar)
- CFLAGS += \
- --cpu cortex-m33 \
- --fpu VFPv5-SP \
-
- ASFLAGS += \
- --cpu cortex-m33 \
- --fpu VFPv5-SP \
-
-endif
-
-FREERTOS_PORTABLE_SRC ?= $(FREERTOS_PORTABLE_PATH)/ARM_CM33_NTZ/non_secure
diff --git a/tools/make/cpu/cortex-m4.mk b/tools/make/cpu/cortex-m4.mk
deleted file mode 100644
index d8776b5d8..000000000
--- a/tools/make/cpu/cortex-m4.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-ifeq ($(TOOLCHAIN),gcc)
- CFLAGS += \
- -mthumb \
- -mcpu=cortex-m4 \
- -mfloat-abi=hard \
- -mfpu=fpv4-sp-d16 \
-
-else ifeq ($(TOOLCHAIN),iar)
- CFLAGS += --cpu cortex-m4 --fpu VFPv4
- ASFLAGS += --cpu cortex-m4 --fpu VFPv4
-endif
-
-FREERTOS_PORTABLE_SRC ?= $(FREERTOS_PORTABLE_PATH)/ARM_CM4F
diff --git a/tools/make/cpu/cortex-m7.mk b/tools/make/cpu/cortex-m7.mk
deleted file mode 100644
index 0e3461787..000000000
--- a/tools/make/cpu/cortex-m7.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-ifeq ($(TOOLCHAIN),gcc)
- CFLAGS += \
- -mthumb \
- -mcpu=cortex-m7 \
- -mfloat-abi=hard \
- -mfpu=fpv5-d16 \
-
-else ifeq ($(TOOLCHAIN),iar)
- CFLAGS += \
- --cpu cortex-m7 \
- --fpu VFPv5_D16 \
-
- ASFLAGS += \
- --cpu cortex-m7 \
- --fpu VFPv5_D16 \
-
-endif
-
-FREERTOS_PORTABLE_SRC ?= $(FREERTOS_PORTABLE_PATH)/ARM_CM7/r0p1
diff --git a/tools/make/toolchain/arm_gcc.mk b/tools/make/toolchain/arm_gcc.mk
deleted file mode 100644
index bba0607df..000000000
--- a/tools/make/toolchain/arm_gcc.mk
+++ /dev/null
@@ -1,71 +0,0 @@
-# makefile for arm gcc toolchain
-
-CC = $(CROSS_COMPILE)gcc
-CXX = $(CROSS_COMPILE)g++
-AS = $(CC) -x assembler-with-cpp
-LD = $(CC)
-
-GDB = $(CROSS_COMPILE)gdb
-OBJCOPY = $(CROSS_COMPILE)objcopy
-SIZE = $(CROSS_COMPILE)size
-
-# ---------------------------------------
-# Compiler Flags
-# ---------------------------------------
-CFLAGS += \
- -MD \
- -ggdb \
- -fdata-sections \
- -ffunction-sections \
- -fsingle-precision-constant \
- -fno-strict-aliasing \
- -Wall \
- -Wextra \
- -Werror \
- -Wfatal-errors \
- -Wdouble-promotion \
- -Wstrict-prototypes \
- -Wstrict-overflow \
- -Werror-implicit-function-declaration \
- -Wfloat-equal \
- -Wundef \
- -Wshadow \
- -Wwrite-strings \
- -Wsign-compare \
- -Wmissing-format-attribute \
- -Wunreachable-code \
- -Wcast-align \
- -Wcast-function-type \
- -Wcast-qual \
- -Wnull-dereference \
- -Wuninitialized \
- -Wunused \
- -Wreturn-type \
- -Wredundant-decls \
-
-# conversion is too strict for most mcu driver, may be disable sign/int/arith-conversion
-# -Wconversion
-
-# Size Optimization as default
-CFLAGS_OPTIMIZED ?= -Os
-
-# Debugging/Optimization
-ifeq ($(DEBUG), 1)
- CFLAGS += -O0
- NO_LTO = 1
-else
- CFLAGS += $(CFLAGS_OPTIMIZED)
-endif
-
-# ---------------------------------------
-# Linker Flags
-# ---------------------------------------
-LDFLAGS += \
- -Wl,-cref \
- -Wl,-gc-sections \
-
-# Some toolchain such as renesas rx does not support --print-memory-usage flags
-ifneq ($(FAMILY),rx)
-LDFLAGS += -Wl,--print-memory-usage
-endif
diff --git a/tools/make/toolchain/arm_gcc_rules.mk b/tools/make/toolchain/arm_gcc_rules.mk
deleted file mode 100644
index f3482b9a8..000000000
--- a/tools/make/toolchain/arm_gcc_rules.mk
+++ /dev/null
@@ -1,78 +0,0 @@
-SRC_S += $(SRC_S_GCC)
-
-# Assembly files can be name with upper case .S, convert it to .s
-SRC_S := $(SRC_S:.S=.s)
-
-# Due to GCC LTO bug https://bugs.launchpad.net/gcc-arm-embedded/+bug/1747966
-# assembly file should be placed first in linking order
-# '_asm' suffix is added to object of assembly file
-OBJ += $(addprefix $(BUILD)/obj/, $(SRC_S:.s=_asm.o))
-OBJ += $(addprefix $(BUILD)/obj/, $(SRC_C:.c=.o))
-
-CFLAGS += $(CFLAGS_GCC) -MD
-
-# LTO makes it difficult to analyze map file for optimizing size purpose
-# We will run this option in ci
-ifeq ($(NO_LTO),1)
-CFLAGS := $(filter-out -flto,$(CFLAGS))
-endif
-
-ifneq ($(CFLAGS_SKIP),)
-CFLAGS := $(filter-out $(CFLAGS_SKIP),$(CFLAGS))
-endif
-
-LDFLAGS += $(CFLAGS) $(LDFLAGS_GCC)
-
-ifdef LD_FILE
-LDFLAGS += -Wl,-T,$(TOP)/$(LD_FILE)
-endif
-
-ifdef LD_FILE_GCC
-LDFLAGS += -Wl,-T,$(TOP)/$(LD_FILE_GCC)
-endif
-
-ifneq ($(SKIP_NANOLIB), 1)
-LDFLAGS += --specs=nosys.specs --specs=nano.specs
-endif
-
-ASFLAGS += $(CFLAGS)
-
-LIBS_GCC ?= -lgcc -lm -lnosys
-
-# libc
-LIBS += $(LIBS_GCC)
-
-ifneq ($(BOARD), spresense)
-LIBS += -lc
-endif
-
-# ---------------------------------------
-# Rules
-# ---------------------------------------
-
-# Compile .c file
-$(BUILD)/obj/%.o: %.c
- @echo CC $(notdir $@)
- @$(CC) $(CFLAGS) -c -o $@ $<
-
-# ASM sources lower case .s
-$(BUILD)/obj/%_asm.o: %.s
- @echo AS $(notdir $@)
- @$(AS) $(ASFLAGS) -c -o $@ $<
-
-# ASM sources upper case .S
-$(BUILD)/obj/%_asm.o: %.S
- @echo AS $(notdir $@)
- @$(AS) $(ASFLAGS) -c -o $@ $<
-
-$(BUILD)/$(PROJECT).bin: $(BUILD)/$(PROJECT).elf
- @echo CREATE $@
- @$(OBJCOPY) -O binary $^ $@
-
-$(BUILD)/$(PROJECT).hex: $(BUILD)/$(PROJECT).elf
- @echo CREATE $@
- @$(OBJCOPY) -O ihex $^ $@
-
-$(BUILD)/$(PROJECT).elf: $(OBJ)
- @echo LINK $@
- @$(LD) -o $@ $(LDFLAGS) $^ -Wl,--start-group $(LIBS) -Wl,--end-group
diff --git a/tools/make/toolchain/arm_iar.mk b/tools/make/toolchain/arm_iar.mk
deleted file mode 100644
index 04c9f22b3..000000000
--- a/tools/make/toolchain/arm_iar.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-# makefile for arm iar toolchain
-AS = iasmarm
-LD = ilinkarm
-OBJCOPY = ielftool --silent
-SIZE = size
-
-# Enable extension mode (gcc compatible)
-CFLAGS += -e --debug --silent
-
-# silent mode
-ASFLAGS += -S $(addprefix -I,$(INC))
diff --git a/tools/make/toolchain/arm_iar_rules.mk b/tools/make/toolchain/arm_iar_rules.mk
deleted file mode 100644
index 2c066f6da..000000000
--- a/tools/make/toolchain/arm_iar_rules.mk
+++ /dev/null
@@ -1,44 +0,0 @@
-SRC_S += $(SRC_S_IAR)
-
-# Assembly files can be name with upper case .S, convert it to .s
-SRC_S := $(SRC_S:.S=.s)
-
-# Due to GCC LTO bug https://bugs.launchpad.net/gcc-arm-embedded/+bug/1747966
-# assembly file should be placed first in linking order
-# '_asm' suffix is added to object of assembly file
-OBJ += $(addprefix $(BUILD)/obj/, $(SRC_S:.s=_asm.o))
-OBJ += $(addprefix $(BUILD)/obj/, $(SRC_C:.c=.o))
-
-# Linker script
-LDFLAGS += --config $(TOP)/$(LD_FILE_IAR)
-
-# ---------------------------------------
-# Rules
-# ---------------------------------------
-
-# Compile .c file
-$(BUILD)/obj/%.o: %.c
- @echo CC $(notdir $@)
- @$(CC) $(CFLAGS) -c -o $@ $<
-
-# ASM sources lower case .s
-$(BUILD)/obj/%_asm.o: %.s
- @echo AS $(notdir $@)
- @$(AS) $(ASFLAGS) -c -o $@ $<
-
-# ASM sources upper case .S
-$(BUILD)/obj/%_asm.o: %.S
- @echo AS $(notdir $@)
- @$(AS) $(ASFLAGS) -c -o $@ $<
-
-$(BUILD)/$(PROJECT).bin: $(BUILD)/$(PROJECT).elf
- @echo CREATE $@
- @$(OBJCOPY) --bin $^ $@
-
-$(BUILD)/$(PROJECT).hex: $(BUILD)/$(PROJECT).elf
- @echo CREATE $@
- @$(OBJCOPY) --ihex $^ $@
-
-$(BUILD)/$(PROJECT).elf: $(OBJ)
- @echo LINK $@
- @$(LD) -o $@ $(LDFLAGS) $^
diff --git a/tools/make_release.py b/tools/make_release.py
index 7481e8864..256ca8f21 100644
--- a/tools/make_release.py
+++ b/tools/make_release.py
@@ -1,6 +1,6 @@
import re
-version = '0.15.0'
+version = '0.16.0'
print('version {}'.format(version))
ver_id = version.split('.')
@@ -9,13 +9,11 @@ ver_id = version.split('.')
# src/tusb_option.h
###################
f_option_h = 'src/tusb_option.h'
-
with open(f_option_h) as f:
fdata = f.read()
-
-fdata = re.sub(r'(#define TUSB_VERSION_MAJOR *) \d+', r"\1 {}".format(ver_id[0]), fdata)
-fdata = re.sub(r'(#define TUSB_VERSION_MINOR *) \d+', r"\1 {}".format(ver_id[1]), fdata)
-fdata = re.sub(r'(#define TUSB_VERSION_REVISION *) \d+', r"\1 {}".format(ver_id[2]), fdata)
+ fdata = re.sub(r'(#define TUSB_VERSION_MAJOR *) \d+', r"\1 {}".format(ver_id[0]), fdata)
+ fdata = re.sub(r'(#define TUSB_VERSION_MINOR *) \d+', r"\1 {}".format(ver_id[1]), fdata)
+ fdata = re.sub(r'(#define TUSB_VERSION_REVISION *) \d+', r"\1 {}".format(ver_id[2]), fdata)
# Write the file out again
with open(f_option_h, 'w') as f:
@@ -34,6 +32,17 @@ if fdata.find(version) < 0:
f.write(fdata)
###################
+# library.json
+###################
+f_library_json = 'library.json'
+with open(f_library_json) as f:
+ fdata = f.read()
+ fdata = re.sub(r'( {4}"version":) "\d+\.\d+\.\d+"', rf'\1 "{version}"', fdata)
+
+with open(f_library_json, 'w') as f:
+ f.write(fdata)
+
+###################
# docs/info/changelog.rst
###################