Tag: mips

在C中调用堆栈回溯

我试图在我的断言/exception处理程序中获取调用堆栈回溯。 不能include “execinfo.h”因此不能使用int backtrace(void **buffer, int size); 。 此外,尝试使用__builtin_return_address()但根据: http : //codingrelic.geekhold.com/2009/05/pre-mortem-backtracing.html …在一些架构上,包括我心爱的MIPS,只有__builtin_return_address(0)可以正常工作.MIPS没有帧指针,这使得很难向后走回堆栈。 帧0可以直接使用返回地址寄存器。 如何重现完整的调用堆栈回溯?

MIPS(或SPIM):加载浮点数

我在尝试学习一些MIPS时正在研究一个小型的迷你编译器。 这是我的问题: MIPS有一个指令li(立即加载),它会像这样工作 li $5,100 这会将100加载到寄存器5中。 但是,我现在需要将浮动加载到寄存器中并且正在努力找出一种方法来实现它…因为li $ 5,2.5不起作用。 有人有什么建议吗? 我在C工作,我想我可以以某种方式获得我正在使用的浮点数的整数表示(即浮点二进制表示== ints二进制表示)然后将“整数”加载到寄存器中并将其视为从那时起的浮动。 也许为时已晚,但我现在卡住了。

如何交叉编译MIPS?

我有一个类似于Dreambox的DVB接收器( 机顶盒 ),它有MIPS cpu 它嵌入了Linux ,我可以通过telnet连接到它 问题是如何在C中编译简单的“ Hello World ”应用程序? 哪里可以获得工具链 , SDK ?