【发布时间】:2017-01-17 14:56:11
【问题描述】:
我有一个想要放入 SVC 异常向量的函数,但我似乎找不到将函数地址放入该向量所需的语法。谁能推荐一个资源来提供帮助?
【问题讨论】:
我有一个想要放入 SVC 异常向量的函数,但我似乎找不到将函数地址放入该向量所需的语法。谁能推荐一个资源来提供帮助?
【问题讨论】:
假设您有一个名为your_function_name 的符号,以下代码将跳转到它。
SVC_Handler
EXTERN your_function_name
ldr r0,=your_function_name
bx r0
虽然处理程序通常是弱链接的,但函数void SVC_Handler(void) 应该最终链接而不是启动文件中定义的处理程序。
【讨论】:
太模糊了,这对您的代码非常具体,并且有多种方法可以实现 cortex-m 向量表和使用 GNU 工具,因此您没有提供足够的信息,在为我们找到这些信息时应该变得很明显你的桌子在哪里。您可以从反汇编二进制文件的 elf 版本开始,在向量表区域中找到标签名称,然后用 grep 查找这些名称的代码库。 如果您骑在一堆其他人的库等之上,处理可能会更加痛苦,可能会有函数调用等运行时用于注册处理程序。
有上百万种方法可以解决这个问题,而且都可能奏效,你用的是哪一种?
【讨论】: