问题场景:简单来说,我们是否有一个 Trace32 命令来从加载到目标的 ELF 文件中读取符号(及其内容)?我们有这种特殊情况,其中 ELF 文件的应用程序特定调试符号作为 ELF 中“.noload”部分的一部分,这意味着符号/内容是 ELF 文件的一部分(使用 readelf -a xxxx 读取时可用。 elf_file_name) 但不是最终生成的二进制映像的一部分,即在生成闪存到目标内存的 xxx.bin 时,ELF 文件中的“.noload”部分被剥离。
- '.noload' 部分中的调试符号是静态分配的值,并且这些值在运行时不会更改。
- 当我试图读取“.noload”部分的调试符号部分(编译成二进制文件并加载到 Trace32 之后)时,我看到 trace32 弹出窗口上标记了“MMU 失败”,这意味着 trace32 正在尝试从内存中读取符号内容,但是不可访问,因为“.noload”部分的符号部分根本没有加载,尽管它们已经映射了地址。
任何输入:
- 我需要一个 trace32 命令的帮助,该命令可以直接从 ELF 文件中读取符号内容,而不是从目标内存中读取符号内容。
- 也不确定我是否可以在练习脚本中使用“readelf”?如果我们对上述查询没有任何解决方案,这方面有什么帮助吗?