酒泉市网站建设_网站建设公司_门户网站_seo优化
2026/1/12 20:48:17 网站建设 项目流程

如果你想把“映射到哪个内核函数”做到 100% 精确(显示出 ptr 实际指向的符号名),最直接的办法是:生成/拿到带符号的内核 ELF,然后用 nm/addr2line 对照 ptr 地址反查符号名。你要我顺便帮你在当前构建产物里定位内核 ELF/符号文件并给出反查命令吗?

交叉编译工具链已经安装了,在路径路径在D:\unirtos-toolchain\bin下

回答

我先在当前 PowerShell 会话里把 bin 临时加入 PATH,确认 where unirtos.exe 能找到,然后直接跑一次 buildlib_unirtos.bat 去生成 qos_build/build/ap_application.elf

Set-Location 'D:\TBOX\SDK\QSR01A01_C_SDK_LTE_E_BETA20251225' $env:Path = 'D:\unirtos-toolchain\bin;' + $env:Path cmd /c "where unirtos.exe" .\buildlib_unirtos.bat

经过上面的命令,脚本已经编译成功,生成的elf在D:\TBOX\SDK\QSR01A01_C_SDK_LTE_E_BETA20251225\qos_build\release\EC800ZCNLFR01A01M04_BETA0403_OCPU\DBG下,继续执行反汇编

AI

我先确认 DBG 目录里具体是哪一个 ELF(文件名可能不止一个),然后用 arm-none-eabi-objdump 生成反汇编到文本文件(避免终端输出爆炸),再按需要给你“按符号/按地址”精确反汇编的命令。

Set-Location 'D:\TBOX\SDK\QSR01A01_C_SDK_LTE_E_BETA20251225\qos_build\release\EC800ZCNLFR01A01M04_BETA0403_OCPU\DBG' $env:Path = 'D:\unirtos-toolchain\gcc-arm-none-eabi-10.2.1\bin;D:\unirtos-toolchain\bin;' + $env:Path cmd /c "where arm-none-eabi-objdump.exe" arm-none-eabi-objdump.exe -d -S --demangle --line-numbers ap_application.elf > ap_application.disasm.S arm-none-eabi-objdump.exe -h ap_application.elf > ap_application.sections.txt arm-none-eabi-nm.exe -n ap_application.elf > ap_application.nm.txt

打印

PS D:\TBOX\SDK\QSR01A01_C_SDK_LTE_E_BETA20251225> Set-Location 'D:\TBOX\SDK\QSR01A01_C_SDK_LTE_E_BETA20251225\qos_build\release\EC800ZCNLFR01A01M04_BETA0403_OCPU\DBG'
PS D:\TBOX\SDK\QSR01A01_C_SDK_LTE_E_BETA20251225\qos_build\release\EC800ZCNLFR01A01M04_BETA0403_OCPU\DBG> $env:Path = 'D:\unirtos-toolchain\gcc-arm-none-eabi-10.2.1\bin;D:\unirtos-toolchain\bin;' + $env:Path
PS D:\TBOX\SDK\QSR01A01_C_SDK_LTE_E_BETA20251225\qos_build\release\EC800ZCNLFR01A01M04_BETA0403_OCPU\DBG> cmd 
/c "where arm-none-eabi-objdump.exe"
D:\unirtos-toolchain\gcc-arm-none-eabi-10.2.1\bin\arm-none-eabi-objdump.exe
PS D:\TBOX\SDK\QSR01A0

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询