【发布时间】:2014-04-08 16:59:26
【问题描述】:
我正在尝试编译嵌入式 C 代码,但发生小数据区溢出。我知道这是什么意思,但我不知道如何解决它。谁能给个建议?
所以,问题在于 r13 寄存器是 sda 的基指针,它是 16 位长。它是有符号的,所以它指向sda的中间,它可以作为一个偏移量来获取给定的变量值。
如果一个变量被#pragma ghs startsda 告知要放到sda 中,那么它将被sda_base+r13 寻址,如果变量的地址不能被这个base+register 偏移寻址,那么sda 溢出被举报了。
如何找到导致溢出的原因?如果我没有地图文件,但我不知道变量地址。
【问题讨论】:
标签: c embedded powerpc greenhills