問題:
用默認(rèn)bf533-ezkit的設(shè)置來配置uclinux,在make menuconfig的時候修改了cpu的型號為532 設(shè)置了晶振頻率,其他的刪除了一些不用的驅(qū)動和應(yīng)用,然后make。但是總是出現(xiàn)兩個錯誤: 第一個錯誤:
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
有時候沒有第一個錯誤 但是出現(xiàn)第二個錯誤:
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的基礎(chǔ)上改。
我的編譯器版本是4.3.5, 內(nèi)核版本是Linux version 2.6.34.7-ADI-2010R1
答:
試著把系統(tǒng)時鐘配低一點(diǎn),有時候系統(tǒng)時鐘太高,SDRAM會出錯,我遇到過在110兆系統(tǒng)時鐘時,有時候uC啟動不了,更換了SDRAM之后就好了,但之前拆下的SDRAM沒有壞,將系統(tǒng)時鐘降低到100M就好了,你看看是不是這個問題。
后續(xù)解決:
我的cclk是400M sclk是100M 雙層板 有可能是SDRAM的問題 但是我總覺著還有哪些地方?jīng)]有配置好。
在sclk=80M的時候在uboot下執(zhí)行mtest命令,結(jié)果返回很多錯誤的讀寫,回頭改一下SDRAM的參數(shù)試試
修改了sdram的參數(shù),但是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
就停這不動了,我不知道是我內(nèi)核配置的問題還是SRDRAM的問題? 誰能指點(diǎn)下么 謝謝!
最后發(fā)現(xiàn)是硬件的問題,sdram的讀寫有錯誤,導(dǎo)致內(nèi)核不能啟動…… |