当前位置: 首页 > 知识库问答 >
问题:

如何获得特定源文件行的指令adr-gcc 4.71-Arm Cortex-M4

严俊友
2023-03-14

我正在使用GCC4.71工具链为STM32F4(ARM Cortex-M4)微控制器编译我的c程序。在我的程序被编译和链接(我有.elf文件)之后,我想提取每个源代码行的第一条指令的地址。目前,我正试图通过解析反汇编文件来实现这一点——例如,下面我在main的第41行得到了adr 0x8000c44。C

有没有其他更方便的方法来使用gcc工具获取这些信息?

样品拆解文件:

c:\a_test2/main。c:41

8000c44: b580推送{r7, lr}

我用来编译和链接的命令行:

c:\Yagarto471\bin\arm none eabi gcc。exe-c-mcpu=cortex-m4-mthumb-ffunction sections-fdata sections-Wall-Wextra-Wno unused parameter-Wno unknown pragmas-Wno unused variable-Wno unused but set variable-std=gnu89-g-ggdb3-fverbose asm-Wa,-ahlms=app。lst-DUSE_STDPERIPH_驱动程序-DSTM32F4XX-DUSE_STM32F4_发现-DUSE_USB_OTG_FS-DHSE_值=8000000-MD-MP-MF应用程序。d-I-Iinc-save temps-c main。干道。o

C:\Yagarto471\bin\arm-no-eabi-g-mcpu=cortex-m4-mthum-Tstm32f4xx.ld-g-Wl,-Map=Map.map,--cref,--no-warst-mismate-Wl,--gc-节段-nostarfile启动\startup_stm32f4xx. o启动\stm32f4_discovery. o启动\system_stm32f4xx. o启动\stm32f4xx_rcc. o启动\stm32f4xx_gpio. o启动\stm32f4xx_tim. o启动\misc. o启动\stm32f4xx_usart. o启动\syscals. o main. o sys. o intr. o vars. o调试. o lib. o-ostm32f4_temp.elf

共有1个答案

尉迟清野
2023-03-14

gdb是做你想做的事情的好工具。

arm none eabi gdb-batch-ex文件stm32f4_temp。elf'-ex'拆卸主管道'

您将获得每条指令的地址信息。

 类似资料:
  • 但这是一个如此糟糕的解决方案。 如何在excel文件中获取具有名称的特定列的值?

  • 问题内容: 我可以使用它来获取命令的输出,该命令将在与可执行位置相同的路径中运行。 如何指定要在哪个文件夹中运行命令? 问题答案: 返回一个type值。是一个struct并具有一个字段: 因此,只需在调用之前进行设置: 另请注意,这特定于命令;允许您使用该标志传递路径,因此您也可以这样操作:

  • 我不知道如何从文件中获取特定的文本行。假设文本文件是: 文本文件(标记)的第二行怎么弄?我只需要读就行了,不是编辑就行了。

  • 问题内容: 我已经阅读了很多有关此部分的内容,发现是编写地理编码并搜索tweet,例如 https://api.twitter.com/1.1/search/tweets.json?geocode=37.781157,-122.398720,1mi&count = 10 根据我在Twitter网站上发现的信息,返回位于给定纬度/经度半径内的用户的推文。使用“半径”修改器时,最多将考虑1,000个不

  • 6.10.特定的资源文件 Android允许你提供多种资源文件。比如你可以提供不同版本的strings.xml、status.xml或者background.png,针对不同的情景选用不同的资源文件。 假如你想让外国人使用你的应用程序,但他们的语言不同。这时你可能希望提供一个特定语言的strings.xml文件。或者你想让自己的应用程序跑在某设备上,但它的分辨率不一样,这时你可能希望提供一个特定的

  • 我是使用Kotlin开发Firebase android的初学者,我的问题是我想使用Kotlin检测特定的。我如何达到预期的结果。 我看到过使用Java的例子,但我不知道如何使用Kotlin实现它。任何帮助都是非常感谢的。下面是我在代码中写的内容: 如果电话号码已经存在,我希望用一个toast向用户显示。