嵌入式爱好者

查看: 5235|回复: 3

[Ubuntu] U-BOOT下运行裸机程序崩溃,cpu重启

[复制链接]

1

主题

2

帖子

11

积分

LS1028A通行证

扫一扫,手机访问本帖
发表于 2022-10-12 14:30:34 | 显示全部楼层 |阅读模式
在U-BOOT环境下使用TFTP命令传输.bin文件,编译和连接没有问题,直接使用go命令执行程序时直接崩溃,报错如下:
go 0x91000000
## Starting application at 0x91000000 ...
## Application terminated, rc = 0x91000030
"Synchronous Abort" handler, esr 0x02000000
elr: 00000000820b83b4 lr : 00000000820b83b4 (reloc)
elr: 00000000f7be53b4 lr : 00000000f7be53b4
x0 : 0000000000000001 x1 : 00000000f7be9000
x2 : 0000000000032aa0 x3 : 0000000000000001
x4 : 0000000000000000 x5 : 0000000000000030
x6 : 00000000f7bb9525 x7 : 000000000000000f
x8 : 00000000ffffffd0 x9 : 0000000000000008
x10: 0000000000000010 x11: 00000000f7930318
x12: 0000000000000004 x13: 0000000000000200
x14: 00000000f7925a1c x15: 00000000ffffffff
x16: 0000000000002080 x17: 0000000021201896
x18: 00000000f7928d68 x19: 00000000f7925d80
x20: 00000000f7b4d6f0 x21: 0000000000000000
x22: 00000000f792de60 x23: 0000000000000002
x24: 00000000f7be53b4 x25: 0000000000000000
x26: 0000000000000000 x27: 0000000000000000
x28: 00000000f792caa0 x29: 0000000000000000
Resetting CPU ...

### ERROR ### Please RESET the board ###

回复

使用道具 举报

0

主题

79

帖子

324

积分

发表于 2022-10-13 08:24:26 | 显示全部楼层
我们这边没有使用1028跑过裸机程序,没有办法给您提供解决思路,不过看着像应用程序的问题

点评

DKD
程序就是简单的显示输出,我这边贴出来: void (*show)(char *,...)=0x8207b124;//uboot的printf函数接口位置 int main(void) { show("hello.world\n"); return 0; } makefile: hello.bin:hello.o  详情 回复 发表于 2022-10-13 11:00
点评回复 支持 反对

使用道具 举报

1

主题

2

帖子

11

积分

LS1028A通行证

 楼主| 发表于 2022-10-13 11:00:29 | 显示全部楼层
hai 发表于 2022-10-13 08:24
我们这边没有使用1028跑过裸机程序,没有办法给您提供解决思路,不过看着像应用程序的问题

程序就是简单的显示输出,我这边贴出来:
void (*show)(char *,...)=0x8207b124;//uboot的printf函数接口位置
int main(void)
{
    show("hello.world\n");
    return 0;
}
makefile:
hello.bin:hello.o
        aarch64-linux-gnu-ld -Ttext=0x91000000 hello.o -o hello.elf
        aarch64-linux-gnu-objcopy -O binary hello.elf hello.bin
        aarch64-linux-gnu-objdump -d hello.elf > hello.dls
hello.o:hello.c
        aarch64-linux-gnu-gcc -c hello.c -o hello.o -nostdlib
clean:
        rm hello.bin hello.o hello.elf hello.dls
然后tftp下载到0x91000000位置上再执行go命令就出现报错

点评

hai
我们这边没有测试过裸机程序,还需要您自己排查一下,非常抱歉  详情 回复 发表于 2022-10-17 09:31
点评回复 支持 反对

使用道具 举报

0

主题

79

帖子

324

积分

发表于 2022-10-17 09:31:52 | 显示全部楼层
DKD 发表于 2022-10-13 11:00
程序就是简单的显示输出,我这边贴出来:
void (*show)(char *,...)=0x8207b124;//uboot的printf函数接 ...

我们这边没有测试过裸机程序,还需要您自己排查一下,非常抱歉
点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-11-22 14:16

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表