我在终止一个通过 uboot 运行的独立应用程序时遇到了一点问题。我正在开发基于 TI 的基于 omap5 的评估板。Uboot 工作正常,我有一个简单的程序,我可以使用 loady 通过 uboot 的命令提示符上传并使用 go 执行它[加载地址]。
问题是程序运行并显示一串字符后,它就挂在那里了。我必须手动重置板子才能启动它并继续使用 uboot。我正在使用的启动汇编代码是这个
.global _Start
_Start:
LDR sp, = sp_top
BL my_init
mov pc,r14
基本上我只想在我的程序执行后返回命令提示符
编辑:
我正在运行的代码
#define UART3_addr 0x48020000 //UART Port Address
volatile unsigned char * const UART_PTR = (unsigned char *)UART3_addr;
int my_init()
{
display ("Testing");
return 0;
}
void display(const char *string)
{
while(*string != '\0'){
*UART_PTR = *string;
string++;
}
}