代码之家  ›  专栏  ›  技术社区  ›  sparklewhiskers

在“C”代码中使用链接器命令文件变量的绝对值

  •  1
  • sparklewhiskers  · 技术社区  · 16 年前

    我有一个链接器命令文件,它将堆栈的顶部地址分配到一个变量中

    _stack = . + 0x80000;  
    

    我想在“c”程序中使用此地址-我想将堆栈复制到另一个位置,然后在对原始RAM库进行破坏性内存测试之前更新堆栈指针以指向新位置。

    extern u32 *_stack;  
    myFunction(_stack);
    

    lwz r3,0(r8)
    

    而不是堆栈本身的地址。 有人能帮忙吗?

    3 回复  |  直到 16 年前
        1
  •  5
  •   Mark Ransom    16 年前

    尝试

    extern u32 _stack;
    U32 * stackPtr;
    stackPtr = &_stack;
    
        2
  •  1
  •   Tall Jeff    16 年前

    extern U32 _stack[];
    U32 *stackPtr;
    stackPtr = _stack;
    
        3
  •  0
  •   Paul Nathan    16 年前

    myFunction(&u堆栈); 应向myFunction传递变量*_stack*的地址。 否则,它将传递变量中包含的值 _堆叠 .