2010-12-07 39 views
0

我试图调用驻留在特定内存地址(0x100h)中的C函数,但每次使用JTAG调试器查看函数调用时,它都会跳过它(无函数调用)并继续下一行代码。我将#pragma code_section(called_func,“FUNC_SEC”)中的被调用函数连接到内存地址。实际功能驻留在funcs.c文件中。从特定内存地址调用C函数? (TI代码作曲家工作室3.3)

我project.cmd链接文件具有以下内存和部分线路..

MEMORY 
{ 
FUNC_SEC   : origin = 0x000100, length = 0x0000ff 
} 

SECTIONS { 
CALLED_FUNC  : LOAD = FUNC_SEC, PAGE = 0 { 
    ..\release\Tests.obj(.text) 
} 
} 

当在0x100h地址看,它是空的,这可以解释的功能不能正常使用。我试图完成的是调用驻留在DSP(TMS320c28x)RAM区域中的函数并执行它。完成它的工作后,程序将恢复到DSP的闪存区域。

注意,函数名等已经改变..

能有人能帮助我解决这个问题?谢谢 !

回答

2

可能是你想检查你的启动例程。您的功能是否从加载地址正确复制到执行地址。

+0

该问题已通过将功能转移到内部闪存解决。所以你可能对启动程序很正确。 – user350636 2010-12-15 18:13:01