uboot启动Linux内核时undefined instruction错误

发布者:心灵舞动最新更新时间:2024-10-15 来源: cnblogs关键字:Linux内核  undefined 手机看文章 扫描二维码
随时随地手机看文章

错误描述


U-Boot 1.1.6 (Oct 18 2011 - 15:23:51) for FriendlyARM MINI6410

 

CPU:     S3C6410@532MHz

         Fclk = 532MHz, Hclk = 133MHz, Pclk = 66MHz, Serial = CLKUART (SYNC Mode)

Board:   MINI6410

DRAM:    256 MB

Flash:   0 kB

NAND:    256 MB

In:      serial

Out:     serial

Err:     serial

MAC: 08:90:90:90:90:90

Hit any key to stop autoboot:  0

 

NAND read: device 0 offset 0x80000, size 0x500000

........................................ 5242880 bytes read: OK

## Booting image at c0008000 ...

Boot with Image

 

Starting kernel ...

 

undefined instruction

pc : [

sp : c7fffe14  ip : 000000ff     fp : 00000000

r10: c7e609a3  r9 : 00000000     r8 : 7a176bfd

r7 : c7e442c0  r6 : 00000000     r5 : c7e5ffb8  r4 : 00000000

r3 : 50008000  r2 : 50000100     r1 : 000009d8  r0 : 00000000

Flags: nZCv  IRQs off  FIQs off  Mode SVC_32

Resetting CPU ...

 

reset...

  

解决办法

导致这个错误的原因是烧入Uboot的时候没有重新烧入linux内核,导致uboot启动的时候找不到Linux内核,烧入uboot的时候重新烧入Linux内核就可以了。但是坑爹的我在查找问题的时候修改了Linux内核的启动参数,导致在Linux启动到init进程的时候启动失败了。现在先看一下uboot相关的选项和参数:


U-Boot 1.1.6 (Oct 18 2011 - 15:23:51) for FriendlyARM MINI6410

 

CPU:     S3C6410@532MHz

         Fclk = 532MHz, Hclk = 133MHz, Pclk = 66MHz, Serial = CLKUART (SYNC Mode)

Board:   MINI6410

DRAM:    256 MB

Flash:   0 kB

NAND:    256 MB

In:      serial

Out:     serial

Err:     serial

MAC: 08:90:90:90:90:90

Hit any key to stop autoboot:  0

##### FriendlyARM U-Boot(2011-10, NAND) for 6410 #####

[f] Format the nand flash

[v] Download u-boot.bin

[k] Download Linux/Android kernel

[y] Download root yaffs2 image

[u] Download root ubifs image

[a] Download Absolute User Application

[n] Download Nboot.nb0 for WinCE

[w] Download WinCE NK.nb0

[s] Set the boot parameter of Linux

[b] Boot Linux

[q] Quit to shell

NAND(SLC): 256 MiB, RAM: 256 MiB

Enter your Selection:

 

 

##s这个选项是设置Linux启动的参数,一旦选中它,输入的任何字符都会被当做Linux参数保存哦,就算输入一个字符q,然后按回车,你认为想退出,其实它已经把q当做Linux的参数保存了,再次启动Linux的时候就可能出问题,除非只是单独的按回车。这是可以输入q,进入Quit to shell选项,在这里输入help,可以看到帮助命令,还可以在这里看到Linux的输入选项呢。


这里只所以出现init进程跑失败,是因为Linux启动参数设置的文件系统和实际烧入的文件系统不匹配,所以一定要对照好两个。


关键字:Linux内核  undefined 引用地址:uboot启动Linux内核时undefined instruction错误

上一篇:Linux嵌入式 -- Bootloader , Uboo
下一篇:友善之臂6410设置静态Ip

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved