Sha*_*kar 4 elf debug-symbols trace32 readelf lauterbach
问题场景:简单来说,我们是否有一个Trace32命令从加载到目标的ELF文件中读取符号(及其内容)?我们有这种特殊情况,其中ELF文件的特定于应用程序的调试符号是ELF中'.noload'部分的一部分,这意味着符号/内容是ELF文件的一部分(使用readelf -a xxxx读取时可用). elf_file_name)但不是生成的最终二进制图像的一部分,即ELF文件中的'.noload'部分在生成闪存到目标内存的xxx.bin时被剥离.
任何输入:
- 我需要一个trace32命令的帮助,该命令可以直接读取ELF文件中的符号内容而不是目标内存.
- 还不确定我是否可以在练习脚本中使用'readelf'?如果我们对上述查询没有任何解决方案,可以在这方面提供帮助吗?
使用命令
Data.LOAD.Elf myfile.elf [<optional address offset>] /NoCODE
Run Code Online (Sandbox Code Playgroud)
选项/ NoCODE指示TRACE32仅从您的ELF加载debgug符号,但不向目标加载任何代码.您可以使用命令查看符号sYmbol.Browse.
但是,如果使用TRACE32将应用程序加载到目标,则不必先从ELF创建二进制文件.使用TRACE32,您还可以将ELF的PROGBITS部分直接加载到目标.在这种情况下,您只需使用不带/ NoCODE选项的Data.LOAD.Elf命令(启用闪存编程后).
由于您使用的是MMU,因此可能需要使用命令激活逻辑内存空间ID SYStem.Option.MMUSPACES ON.然后加载你的符号
Data.LOAD.Elf myfile.elf <space-ID>:<offset> /NoCODE
Run Code Online (Sandbox Code Playgroud)
其中'space-ID'与MMU用于任务的空间ID匹配,'offset'通常为零.
如果您在嵌入式Linux上调试应用程序,则应使用适用于Linux的TRACE32 OS感知和Linux符号自动加载程序将符号加载到正确的地址.
我认为你没有任何理由在TRACE32中使用'readelf'.无论如何,您可以使用命令OS.Area或调用任何命令行程序OS.Command.
| 归档时间: |
|
| 查看次数: |
5483 次 |
| 最近记录: |