求助uboot移植问题

发布于 2022-09-30 03:57:30 字数 1533 浏览 15 评论 0

uboot可以启动也可以擦写nand了,但是启动内核报错如下:

NAND read: device 0 offset 196608, size 1048576 ...  1048576 bytes read: OK

## Booting image at 30008000 ...

   Image Name:   WXL2410

   Created:      2007-08-30   3:14:59 UTC

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    795496 Bytes = 776.9 kB

  
   Load Address: 30008000

   Entry Point:  30008000

   Verifying Checksum ... OK

   XIP Kernel Image ... OK

Starting kernel ...

data abort

pc : [<30008008>]    lr : [<33f95d00>]

sp : 33f07c64  ip : 33f07c54  fp : 33f07c98

r10: 33f07d0c  r9 : 00000001  r8 : 33f4ffdc

r7 : 33f9f59c  r6 : 30008000  r5 : 00000000  r4 : 00000000

r3 : 30008000  r2 : 30000100  r1 : 000000c1  r0 : 00000000

Flags: nZCv  IRQs off  FIQs off  Mode SVC_32

Resetting CPU ...

使用的是nand read 0x30008000 0x30000 0x100000;bootm
打印一些信息显示是在执行theKernel (0, bd->bi_arch_number, bd->bi_boot_params);后发生异常,查了下这个函数就是最后的跳转到内核的函数了吧,不知道错误原因是什么,请高手赐教,不甚感激!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

橘寄 2022-10-07 03:57:30

晕了,是mkimage用错了
./mkimage -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008040 -n WXL2410 -d zImage uImage

-e 后面应该是0x30008040而不是0x30008000(内核的入口地址(hex),因为信息头的大小是0x40)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文