问题:
用默认bf533-ezkit的设置来配置uclinux,在make menuconfig的时候修改了cpu的型号为532 设置了晶振频率,其他的删除了一些不用的驱动和应用,然后make。但是总是出现两个错误: 第一个错误:
bfin> iminfo ## Checking Image at 01000000 ... Legacy image found Image Name: bf533-2.6.34.7-ADI-2010R1 Created: 2011-10-14 10:29:09 UTC Image Type: Blackfin Linux Kernel Image (gzip compressed) Data Size: 568929 Bytes = 555.6 KiB Load Address: 00100000 Entry Point: 001fd27c Verifying Checksum ... Bad Data CRC
有时候没有第一个错误 但是出现第二个错误:
bfin> bootm 0x1000000 Image Name: bf533-2.6.34.7-ADI-2010R1 Created: 2011-10-14 1:28:42 UTC Image Type: Blackfin Linux Kernel Image (gzip compressed) Data Size: 610099 Bytes = 595.8 kB Load Address: 00100000 Entry Point: 00213288 Verifying Checksum ... OK Uncompressing Kernel Image ... OK Starting Kernel at = 00213288 Linux version 2.6.34.7-ADI-2010R1 (root@colinux) (gcc version 4.3.5 (ADI- 2010R1- RC4) ) #15 Fri Oct 14 01:28:33 UTC 2011 register early platform devices bootconsole [early_shadow0] enabled bootconsole [early_BFuart0] enabled early printk enabled on early_BFuart0 Board Memory: 32MB Kernel Managed Memory: 32MB BUG: recent printk recursion! <0>Kernel panic - not syncing: Died early Hardware Trace: Stack info: SP: [0x0020bc08] <0x0020bc08> /* kernel dynamic memory (maybe user-space) */ Invalid stack pointer
所以请问,我除了make menuconfig之外,是不是还得修改其他的地方啊?我的cpu是bf532,想在原来bf533-ezkit的基础上改。
我的编译器版本是4.3.5, 内核版本是Linux version 2.6.34.7-ADI-2010R1
答:
试着把系统时钟配低一点,有时候系统时钟太高,SDRAM会出错,我遇到过在110兆系统时钟时,有时候uC启动不了,更换了SDRAM之后就好了,但之前拆下的SDRAM没有坏,将系统时钟降低到100M就好了,你看看是不是这个问题。
后续解决:
我的cclk是400M sclk是100M 双层板 有可能是SDRAM的问题 但是我总觉着还有哪些地方没有配置好。
在sclk=80M的时候在uboot下执行mtest命令,结果返回很多错误的读写,回头改一下SDRAM的参数试试
修改了sdram的参数,但是mtest是仍是有错误,不过crc的问题暂时没有了,启动还是不行,bootm之后,打印信息就停在启动的地方了,如下: bfin> bootm 0x1000000 ## Booting kernel from Legacy Image at 01000000 ... Image Name: bf533-2.6.34.7-ADI-2010R1 Created: 2011-10-17 3:14:58 UTC Image Type: Blackfin Linux Kernel Image (gzip compressed) Data Size: 594852 Bytes = 580.9 KiB Load Address: 00100000 Entry Point: 0020b27c Verifying Checksum ... OK Uncompressing Kernel Image ... OK Starting Kernel at = 0020b27c Linux version 2.6.34.7-ADI-2010R1 (root@colinux) (gcc version 4.3.5 (ADI-2010R1- RC4) ) #25 Mon Oct 17 03:14:50 UTC 2011 register early platform devices bootconsole [early_shadow0] enabled bootconsole [early_BFuart0] enabled early printk enabled on early_BFuart0 Board Memory: 32MB Kernel Managed Memory: 32MB Memory map: fixedcode = 0x00000400-0x00000490 text = 0x00100000-0x001afc10 rodata = 0x001afc10-0x001e
就停这不动了,我不知道是我内核配置的问题还是SRDRAM的问题? 谁能指点下么 谢谢!
最后发现是硬件的问题,sdram的读写有错误,导致内核不能启动…… |