nuttx/tools
Xiang Xiao fe217e533b tools/stackusage.py: use toolchain binaries instead of Python libraries
Replace pyelftools and capstone Python library dependencies with
subprocess calls to standard toolchain binaries (readelf, objdump,
addr2line). This eliminates all external Python package requirements,
removes manual DWARF parsing, and reduces the code from 818 to 563
lines.

Works with both GNU and LLVM toolchains via the -p/--prefix option:
  -p arm-none-eabi-  (GCC cross-compiler)
  -p llvm-           (LLVM/clang toolchain)

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2026-03-17 11:26:44 -03:00
..
bcm2711 arch/bcm2711, boards/raspberry-pi-4b: Add preliminary support for the BCM2711 and Raspberry Pi 4B. 2024-12-17 16:43:17 +08:00
bl602
ci msvc ci:change arm source to xpack 2026-01-21 19:19:39 +08:00
codeowners docs/codeowners: Add preliminary code owner file 2025-09-05 19:53:06 -04:00
cxd56 fix misspelled names in locally scoped code 2025-05-15 10:12:12 +08:00
esp32 espressif: automate build system for flash enc 2025-12-11 11:29:26 +01:00
esp32c3
esp32s2 espressif: automate build system for flash enc 2025-12-11 11:29:26 +01:00
esp32s3 espressif: automate build system for flash enc 2025-12-11 11:29:26 +01:00
espressif arch/risc-v/espressif/esp32p4: Support ESP32-P4 on NuttX 2026-03-09 21:40:25 +01:00
imx9 arch/arm64/imx9: Support for imx9 edgelock enclave 2025-03-17 21:35:25 +02:00
licensing
lwl docs/guides/lwl: move lwl's README.txt to lwl.rst 2025-12-23 15:20:06 +01:00
mpfs
nix tools/nix: move nix flakes to tools/ 2025-08-28 10:04:01 +08:00
pic32
pynuttx nxgdb: change the symbol g_statenames to nxsched_get_stateinfo::g_statenames 2026-03-02 08:06:18 -03:00
rp23xx tools/rp{2040,23xx}: Ensure that picotool is found or built 2025-08-22 00:30:28 +08:00
rp2040 style: Fix case statement formatting in power management callbacks. 2026-01-10 12:59:14 -03:00
simwifi fix(udhcpc): missing interface name in log message 2025-05-05 09:32:31 +08:00
zds
.gitignore
abi_check.py abi_check.py:Check ABI compatibility between different ELF versions. 2026-01-28 18:32:39 +01:00
b16.c
bdf-converter.c tools/bdf-converter: Fix loop termination condition. 2025-03-18 10:12:23 -03:00
btdecode.sh arch/risc-v/espressif/esp32p4: Support ESP32-P4 on NuttX 2026-03-09 21:40:25 +01:00
build-globals.sh libc/elf: rename modlib to libelf 2025-04-11 09:43:22 +08:00
callstack.py
cfgdefine.c libc/elf: rename modlib to libelf 2025-04-11 09:43:22 +08:00
cfgdefine.h
cfgparser.c
cfgparser.h
checkkconfig.py tools[feat]: add config check tool 2026-01-14 17:50:18 +01:00
checkpatch.sh tools/checkpatch.sh: Enhance stdin support for patch checking 2026-03-09 11:08:52 +08:00
checkrelease.sh
CMakeLists.txt tools/CMakeLists.txt: Improvements to CMakeLists.txt file 2025-05-17 16:09:20 +08:00
cmpconfig.c
cnvwindeps.c
Config.mk espressif: improve esp-hal-3rdparty handling 2025-12-27 11:38:13 +08:00
configure.bat
configure.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
configure.sh tools/configure.sh: align tools/configure.sh with CmakeLists.txt 2025-09-05 09:50:11 +08:00
configure_completion.bash
convert-comments.c
copydir.bat style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
copydir.sh style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
coredump.py coredump.py:bug fix python file not have rename 2024-10-30 12:29:22 +08:00
csvparser.c
csvparser.h tools/mksyscall: fix 106: Unexpected end of line: "FAR char * co" 2025-03-08 12:39:24 +08:00
D.defs debug symbol level: Use config instead 2024-12-04 22:36:45 +08:00
define.bat style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
define.sh style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
detab.c
Directories.mk libbuitin/compiler_rt: Supports separate builtin rt.builtins or rt.profile 2024-11-12 16:12:53 +08:00
discover.py
doreleasenotes.py tools/doreleasenotes: remove deprecater API 2025-05-27 20:34:54 +08:00
Export.mk tools: Export LLVM flags for kernel build 2025-01-26 20:22:35 +08:00
find_symbol_callers.sh toos/scipts: add script to find symbol caller 2025-12-31 08:47:23 -03:00
flash_writer.py fix misspelled names in locally scoped code 2025-05-15 10:12:12 +08:00
FlatLibs.mk libbuitin/compiler_rt: Supports separate builtin rt.builtins or rt.profile 2024-11-12 16:12:53 +08:00
gcov.py gcov: Refactoring the implementation framework of gcov 2025-07-03 00:17:58 +08:00
gdbserver.py gdbserver.py:add x86_64 arch 2026-01-24 23:31:43 +08:00
gencromfs.c
host_info_dump.py tools: fix make host_info flag parsing and config string escaping 2026-02-05 14:23:19 +01:00
host_info_parse.py tools: fix make host_info flag parsing and config string escaping 2026-02-05 14:23:19 +01:00
ide_exporter.py
incdir.bat
incdir.c
incdir.sh
indent.sh
initialconfig.c
jlink-nuttx.c
kasan_global.py kasan/globals: fix compile error 2024-12-05 20:37:47 +08:00
kconfig.bat
kconfig2html.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
KernelLibs.mk libbuitin/compiler_rt: Supports separate builtin rt.builtins or rt.profile 2024-11-12 16:12:53 +08:00
LibTargets.mk clang:libclang_rt.builtins-xxx.a supports builtin 2024-10-28 16:38:45 +08:00
link.bat
link.sh
lowhex.c
macar-qcs.sh tools/macar-qcs.sh: migrate license to ASF 2024-12-16 14:14:55 +08:00
Make.defs
Makefile.host
merge_config.py install kconfiglib using apt repo 2024-12-02 13:43:29 +08:00
mkallsyms.py
mkallsyms.sh
mkconfig.c
mkconfigvars.sh
mkctags.sh
mkdeps.c tools/mkdeps: increase MAX_BUFFER from 16384 to 65536 2024-10-31 08:55:07 +08:00
mkexport.sh build/export: Fix missing gnu-elf.ld copy and toolchain script. 2025-09-14 10:44:51 +08:00
mkfsdata.pl
mkfsdata.py style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
mknulldeps.sh
mkromfsimg.sh
mksymtab.c
mksyscall.c
mkversion.c
mkwindeps.sh
netusb.sh
noteinfo.c
nxstyle.c arch/tricore: support tc4evb board. 2026-03-10 10:38:19 +01:00
nxtagspkgsfetch.sh tools/nxtagspkgsfetch.sh: Fetch tags packages for NuttX and Apps. 2025-12-17 08:12:44 -03:00
parsecallstack.py
parsememdump.py mm: dump node overheadp during memdump 2024-11-25 00:42:34 +08:00
parsetrace.py tools/parsetrace.py: Fix get_typesize bug in parsetrace.py 2026-01-26 23:22:41 +01:00
pre-commit
process_config.py cmake(enhance):include-style defconfig can modified via menuconfig 2026-01-15 15:42:17 -03:00
process_config.sh tools/process_config.sh: Fix sed errors 2025-07-03 09:41:56 -03:00
ProtectedLibs.mk libbuitin/compiler_rt: Supports separate builtin rt.builtins or rt.profile 2024-11-12 16:12:53 +08:00
refresh.sh tools: Modify refresh.sh to support update all configs from a board 2025-06-21 04:21:10 +08:00
rmcr.c
Rust.defs tools/Rust.defs: Use 'gnu' target for Linux and 'darwin' for macOS 2025-01-28 16:43:37 +08:00
sethost.sh CI: Improved speed to build nuttx on MSYS2 job 2025-03-26 22:35:19 +08:00
showsize.sh
simbridge.sh
simhostroute.sh
simlaunch.sh sim:support sim elf and dynamic libs package in post build 2024-11-06 01:56:44 +08:00
size_report.py
splashscreen_converter.py drivers/video/fb.c: Add startup splashscreen option 2025-04-30 06:38:05 -03:00
stackusage.py tools/stackusage.py: use toolchain binaries instead of Python libraries 2026-03-17 11:26:44 -03:00
stm32_pinmap_tool.py fix misspelled names in locally scoped code 2025-05-15 10:12:12 +08:00
Swift.defs debug symbol level: Use config instead 2024-12-04 22:36:45 +08:00
testbuild.ps1 tools/testbuild.ps1: Windows fix the redirect error stream 2025-06-18 23:14:18 +08:00
testbuild.sh tools/testbuild.sh: Added a break to the dotest Blacklist and CMake loop 2026-03-17 10:28:48 +08:00
toolchain.cmake.export arch/crt0.c: revert entry _start 2025-12-10 19:06:04 +08:00
uncrustify.cfg style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
Unix.mk libc: add support for C23 stdbit.h with bit manipulation macros 2026-03-02 09:09:40 -03:00
unlink.bat
unlink.sh
version.sh
Win.mk libc: add support for C23 stdbit.h with bit manipulation macros 2026-03-02 09:09:40 -03:00
xmlrpc_test.py
Zig.defs
zipme.sh