分类: 嵌入式
2012-05-20 15:39:58
E500ABI手册规定如何使用E500内核的URL寄存器。用户在进行编程时,需要遵循ABI中的这些规定。
l GPR0。E500 ABI规定普通用户不能使用此寄存器。GCC编译器使用GPR0寄存器保存LR寄存器。
l GPR1。E500 ABI规定该寄存器保存堆栈的栈顶指针。
l GPR2。E500 ABI规定一般用户不能使用此寄存器。
l GPR3~GPR4。E500 ABI使用这两个寄存器保存程序的返回值。基于E500内核的函数返回值最多为64位。
l GPR3~GPR10。E500 ABI首先使用GPR3~GPR10共8个寄存器传递函数的参数,当函数的参数多于8个时,E500 ABI使用堆栈进行参数传递。
l GPR11~GPR12。E500 ABI规定一般用户不能使用此寄存器。GCC编译器没有使用这两个寄存器。
l GPR13。E500 ABI规定该寄存器保存sdata段的基地址指针。
l GPR14~GPR31。E500 ABI使用这些寄存器存放一些临时变量,在应用程序中可以自由使用这些寄存器。