【问题标题】:ARM Eclipse debugging code in the RAM. Is it possible to see the source code`RAM 中的 ARM Eclipse 调试代码。是否可以看到源代码`
【发布时间】:2019-11-10 13:05:29
【问题描述】:
我在尝试调试复制到 SRAM 并从那里执行的代码时遇到问题。
代码正在覆盖数据 - 但仅在系统更新期间完成。放置代码的部分在链接描述文件中正确定义,并且调试器可以正确看到地址。但是当我进入函数时(并且 RAM 中的代码是正确的),它不会将源文件与内存中执行的代码连接起来。
你知道怎么做吗?在汇编程序级别调试 C 代码并不是一件让我高兴的事情 :)
任何帮助表示赞赏。
【问题讨论】:
标签:
eclipse
debugging
arm
stm32
【解决方案1】:
这个问题有点傻。当您从 FLASH 调用 RAM 函数时(第一次调用必须以这种方式完成),它必须由单板完成。它弄乱了调试器。但是有自己的调用宏(因为距离它必须通过指针来完成)一切正常
示例调用宏。
#define RAMFCALL(func, ...) {unsigned (* volatile fptr)() = (unsigned (* volatile)())func; fptr(__VA_ARGS__);}