TI中文支持网
TI专业的中文技术问题搜集分享网站

在CCS的例程中用到的部分函数无法定位到原函数。

在Hercules例程中,有一些以下划线开头的函数,无法定位到原函数,请问这些函数为何无法搜索到源。

是封装在LIB里的函数吗?

gaoyang9992006:

/* Enable the interrupt generation in CPSR register */ IntMasterIRQEnable(); _enable_FIQ();

———————————–

C:\ti\Hercules\HALCoGen EMAC Driver with lwIP Demonstration\v00.03.00\example\hdk\src\lwip_main.c

就这个文件里的。

Hank Zhao:

回复 gaoyang9992006:

还有一种可能就是这个函数的原函数是用汇编写的,CCS无法定位汇编代码的原函数。

gaoyang9992006:

回复 gaoyang9992006:

这是我和一个坛友讨论的结果。CSS无法定位在汇编里的函数原型。

不好意思,我找了一下没有找到,而且编译后无法定位源,应该是封装在LIB里 的,不过根据命名方式应该属于汇编性质的。 在文件sys_core.asm 中可以找到类似的。回头发帖问问TI负责这块的内部技术员,我在他们英文论坛也发现有人问这个问题,也是找不到实现的源,不过没人能回答这个问题,实在是抱歉。

————————————————————————-

您好:      前一段时间请教您的问题已经解决了。     我用的keil MDK开发平台,但_enable_FIQ();是ccs平台上使能/失能中断函数的宏定义,具体定义位置仍然没有找到。我通过看3137的用户手册知道了_enable_FIQ()的作用是操作CPSR寄存器(见504页),所以我就到asm文件中找关于CPSR寄存器的操作语句,发现如下内容是与中断有关的;——————————————————————————-; Disable interrupts – R4 IRQ & FIQ; SourceId : CORE_SourceId_025; DesignId : CORE_DesignId_025; Requirements: HL_SR494        .def _disable_interrupt_        .asmfunc_disable_interrupt_        cpsid if        bx    lr       .endasmfunc;——————————————————————————-; Disable FIQ interrupt; SourceId : CORE_SourceId_026; DesignId : CORE_DesignId_026; Requirements: HL_SR494        .def _disable_FIQ_interrupt_        .asmfunc_disable_FIQ_interrupt_        cpsid f        bx    lr        .endasmfunc;——————————————————————————-; Disable FIQ interrupt        .def _disable_IRQ_interrupt_        .asmfunc_disable_IRQ_interrupt_        cpsid i       bx    lr        .endasmfunc;——————————————————————————-; Enable interrupts – R4 IRQ & FIQ       .def _enable_interrupt_       .asmfunc_enable_interrupt_        cpsie if        bx    lr        .endasmfunc        我就直接在sys_main.c中调用sys_core.asm文件中的使能/失能中断函数,语句如下。extern _disable_IRQ_interrupt_();
extern _enable_interrupt_();问题已经解决,谢谢您的帮助。祝好!

赞(0)
未经允许不得转载:TI中文支持网 » 在CCS的例程中用到的部分函数无法定位到原函数。
分享到: 更多 (0)