韦东山Linux嵌入式课程社区
直播中

冬妮

8年用户 214经验值
私信 关注

为什么会出现两种不同的运行结果?

我使用mini2440开发板和其自带的Linux内核代码编译出uImage烧写到Nand flash 0x60000开始的地址空间,然后
[u-boot@MINI2440]# nand read.jffs2 0x30007fc0 0x60000 0x200000

NAND read: device 0 offset 0x60000, size 0x200000
2097152 bytes read: OK
[u-boot@MINI2440]# bootm 0x30007fc0
## Booting kernel from Legacy Image at 30007fc0 ...
   Image Name:   Linux-2.6.29.4-FriendlyARM
   Created:      2009-12-08   6:04:05 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2022344 Bytes =  1.9 MB
   Load Address: 30008000
   Entry Point:  30008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux.................................................................................................................................. done, booting the kernel.程序停止这里不动了?怎么办

---------------------------------------------------------------------------------------------------------

[u-boot@MINI2440]# nand read.jffs2 0x30008000 0x60000 0x200000

NAND read: device 0 offset 0x60000, size 0x200000
2097152 bytes read: OK
[u-boot@MINI2440]# bootm 0x30008000
## Booting kernel from Legacy Image at 30008000 ...
   Image Name:   Linux-2.6.29.4-FriendlyARM
   Created:      2009-12-08   6:04:05 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2022344 Bytes =  1.9 MB
   Load Address: 30008000
   Entry Point:  30008000
   Verifying Checksum ... OK
   XIP Kernel Image ... OK
OK

Starting kernel ...

data abort
pc : [<30008020>]          lr : [<33fa31e4>]
sp : 33f3fe04  ip : e59ff014     fp : e59ff014
r10: e59ff014  r9 : ea000012     r8 : 33f3ffdc
r7 : 33f3ffc0  r6 : 0000016a     r5 : 33f412ad  r4 : 00000000
r3 : 00000000  r2 : 30000100     r1 : 0000016a  r0 : 56190527
Flags: nzCv  IRQs off  FIQs off  Mode SVC_32
Resetting CPU ...

resetting ...

以上是两种不同的运行结果 这是为什么呢?

回帖(2)

张秀芳

2019-11-4 09:37:46
我仅修改了flash分区部分的代码如下:
static struct mtd_partition friendly_arm_default_nand_part[] = {
        [0] = {
                .name        = "u-boot",
                .size        = 0x00040000,
                .offset        = 0,
        },
        [1] = {
                .name        = "u-boot-env",
                .size        = 0x00020000,
                .offset        = 0x00040000,
        },
        [2] = {
                .name        = "kernel",
                .offset = 0x00060000,
                .size        = 0x00500000,
        },
        [3] = {
                .name        = "root",
                .offset = 0x00560000,
                .size        = 0x03aa0000,
        }
};

有u-boot使用经验的朋友帮帮忙 QQ372017601
举报

黄乃康

2019-11-4 09:52:35
$gedit arch/arm/mach-s3c2440/mach-mini2440.c
MACHINE_START(PNX4008, "FriendlyARM Mini2440 development board")
改为
MACHINE_START(MINI2440, "FriendlyARM Mini2440 development board")
在include/asm/mach-types.h中有定义
#define MACH_TYPE_PNX4008
782
#define MACH_TYPE_MINI2440

1999
举报

更多回帖

发帖
×
20
完善资料,
赚取积分