summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorcopilot-swe-agent[bot] <[email protected]>2026-04-23 09:49:02 +0000
committerGitHub <[email protected]>2026-04-23 09:49:02 +0000
commit5c0c1662464e48681533e8ecc1217613fb6e3820 (patch)
treec3610534cb8307504707bd0c27eab5f461fc863d /tools
parentb46147a497bf68d680e9a8a898eeca2d255ce53b (diff)
parent1e644339fd984fd6168b8cc09728d3bb56f2eea2 (diff)
Merge upstream master into net descriptor-based ep_size branch
- Resolve .gitignore conflict: incorporate upstream's .worktrees entry and expand dependency path patterns to cover all tools/get_deps.py fetched dirs (lib/, tools/linkermap, tools/uf2, hw/mcu/*) instead of listing only a few - Auto-merged upstream changes: build system cleanups, BSP updates, portability fixes, new boards (nrf54lm20dk, stm32h743_weact), fatfs relocation, and many other upstream improvements - Net driver changes (ecm_rndis_device.c, ncm_device.c, net_device.h, usbd.h, usb_descriptors.c) retain our PR's descriptor-based ep_size approach as our branch takes precedence Co-authored-by: HiFiPhile <[email protected]>
Diffstat (limited to 'tools')
-rwxr-xr-xtools/get_deps.py20
-rw-r--r--tools/metrics.py5
2 files changed, 23 insertions, 2 deletions
diff --git a/tools/get_deps.py b/tools/get_deps.py
index 25b85ac3b..eb87abf6e 100755
--- a/tools/get_deps.py
+++ b/tools/get_deps.py
@@ -8,8 +8,11 @@ from multiprocessing import Pool
# Mandatory Dependencies that is always fetched
# path, url, commit, family (Alphabet sorted by path)
deps_mandatory = {
+ 'lib/fatfs': ['https://github.com/abbrev/fatfs.git',
+ '30ca13c62615df0d2e9104ab41256985b96590c1',
+ 'all'],
'lib/FreeRTOS-Kernel': ['https://github.com/FreeRTOS/FreeRTOS-Kernel.git',
- 'cc0e0707c0c748713485b870bb980852b210877f',
+ '9b777ae5c5b8e9e456065a00294d1e5f5f9facf5',
'all'],
'lib/lwip': ['https://github.com/lwip-tcpip/lwip.git',
'159e31b689577dbf69cf0683bbaffbd71fa5ee10',
@@ -79,6 +82,9 @@ deps_optional = {
'hw/mcu/nxp/mcux-devices-rt': ['https://github.com/nxp-mcuxpresso/mcux-devices-rt',
'dba2b523c9df61f3330bd186242f8210a8e47c45',
'imxrt'],
+ 'hw/mcu/raspberry_pi/FreeRTOS-Kernel': ['https://github.com/raspberrypi/FreeRTOS-Kernel.git',
+ '4f7299d6ea746b27a9dd19e87af568e34bd65b15',
+ 'rp2040'],
'hw/mcu/raspberry_pi/Pico-PIO-USB': ['https://github.com/sekigon-gonnoc/Pico-PIO-USB.git',
'675543bcc9baa8170f868ab7ba316d418dbcf41f',
'rp2040'],
@@ -284,6 +290,11 @@ deps_optional = {
'lpc55'],
}
+# Files to remove after cloning to avoid conflicts with TinyUSB's custom versions
+deps_remove_files = {
+ 'lib/fatfs': ['source/ffconf.h'],
+}
+
# combined 2 deps
deps_all = {**deps_mandatory, **deps_optional}
@@ -329,6 +340,13 @@ def get_a_dep(d):
run_cmd(f"{git_cmd} fetch --depth 1 origin {commit}")
run_cmd(f"{git_cmd} checkout FETCH_HEAD")
+ # Remove files that conflict with TinyUSB's custom versions
+ if d in deps_remove_files:
+ for f in deps_remove_files[d]:
+ fp = p / f
+ if fp.exists():
+ fp.unlink()
+
return 0
diff --git a/tools/metrics.py b/tools/metrics.py
index 6b992c8f5..f624f382f 100644
--- a/tools/metrics.py
+++ b/tools/metrics.py
@@ -166,6 +166,9 @@ def compute_avg(all_json_data):
file_accumulator[fname]["symbols"][name].append(sym.get("size", 0))
sections_map = f.get("sections") or {}
for sname, ssize in sections_map.items():
+ # linkermap -v produces nested dicts {subsection: size}, flatten to total
+ if isinstance(ssize, dict):
+ ssize = sum(ssize.values())
file_accumulator[fname]["sections"][sname].append(ssize)
# Build json_average with averaged values
@@ -209,7 +212,7 @@ def compute_avg(all_json_data):
def compare_files(base_file, new_file, filters=None):
- """Compare two CSV or JSON inputs and generate difference report."""
+ """Compare two CSV or JSON inputs and generate a difference report."""
filters = filters or []
base_avg = compute_avg(combine_files([base_file], filters))