天嵌 ARM开发社区

 找回密码
 注册
查看: 3249|回复: 3

U-BOOT1.3.4引导没有加头的zImage.bin问题

[复制链接]
dunken 发表于 2012-11-28 21:30:33 | 显示全部楼层 |阅读模式
根据U-BOOT1.1.6的选项[8] Boot the system对应的启动内核的文件lib_arm/boot_zImage.c进行修改的!

出现如下错误信息:
Enter your selection: 8              选择启动系统
Start Linux ...
Copy linux kernel from 0x00200000 to 0x30008000, size = 0x00300000 ... Copy Kernel to SDRAM done,zImage magic = 0x016f2818
linux command line is: "noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0"
MACH_TYPE = 168
NOW, Booting Linux......
data abort
pc : [<3000b420>]          lr : [<0000005c>]
sp : 30246608  ip : 30007fff     fp : 30246624
r10: 40000000  r9 : 30000000     r8 : 30008000
r7 : 30007fff  r6 : 30007fff     r5 : 30007fff  r4 : 3023d164
r3 : 000000a8  r2 : 30256628     r1 : 30246628  r0 : 30256628
Flags: nzCv  IRQs off  FIQs off  Mode SVC_32
Resetting CPU ...

(自动重新启动)
U-Boot 1.3.4 (Nov 28 2012 - 21:21:24)

主要修改如下,nand_read_whole函数是启动代码搬移用到的函数。
static inline int copy_kernel_img(ulong src, ulong dst, size_t size)
{
int ret = 0;
#if 0
ret = nand_read_ll_lp_lcd((unsigned long)src,(unsigned char *)dst,(int)size);
#else        //NAND 地址          SDRAM地址             大小

ret = nand_read_whole(src,(unsigned char *)dst,size);
#endif
return ret;
}




Linux_Cult 发表于 2012-11-29 10:59:18 | 显示全部楼层
如果你用ret = nand_read_ll_lp_lcd((unsigned long)src,(unsigned char *)dst,(int)size);可以的话,那么就是你的读NAND的函数有问题。你可以对照nand_read_ll_lp_lcd函数的实现来改一下你的代码。
 楼主| dunken 发表于 2012-11-29 12:07:11 | 显示全部楼层
Linux_Cult 发表于 2012-11-29 10:59
如果你用ret = nand_read_ll_lp_lcd((unsigned long)src,(unsigned char *)dst,(int)size);可以的话,那么就 ...

我并没有添加LOGO,所以参考的是        ret = nand_read_ll_lp((unsigned char *)dst,  (unsigned long)src, (int)size);我想问启动代码搬移都能成功,这个错误到底是怎样造成的呢
 楼主| dunken 发表于 2012-11-29 15:51:41 | 显示全部楼层
问题解决啦    是在判断“是否对齐上出了错误”,导致启动代码无法重定向!

if ((start_addr & NAND_PAGE_MASK)||(size& NAND_PAGE_MASK))
改成
if (start_addr & NAND_PAGE_MASK)
不判断代码重定向的大小即可
也可以做页对齐调整,参考TQ的
int_size=(size + NAND_PAGE_MASK)&~(NAND_PAGE_MASK);





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

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-6-4 00:36 , Processed in 1.062500 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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