FL2440移植linux2.6.33內核(備忘)(之四)

昨天一天課沒來得及更新,今天繼續。。。

首先我找到了2.6.28/arch/arm/plat-s3c24xx/decs.c這個文件。照着歷程發現在dm9000這個函數中缺少一句話EXPORT_SYMBOL(s3c_device_dm9000);可能是這個沒有執行才導致網卡不好使吧,其他設備都有EXPORT_SYMBOL這樣的語句,唯獨dm9000沒有這個沒道理的,加之。


仔細查看才發現原來,在這個平臺下是沒有實時時鐘的驅動的。用不用添加呢。以後再說吧。我現在的目的是讓他能夠掛載。

在平臺上加入&s3c_device_dm9000

[root@WEB188 linux-2.6.33]# vi arch/arm/mach-s3c2410/include/mach/map.h
新增
/* DM9000 */ 
#define   S3C24XX_PA_DM9000 0x20000300 
#define   S3C24XX_VA_DM9000 0xE0000000
(如果無法發現網卡,請進行操作:)修改arch/arm/mach-s3c2410/mach-smdk2410.c在smdk2410_devices增加以下行
&s3c_device_dm9000,
另外在static struct map_desc smdk2410_iodesc[] __initdata增加以下內容
[0] = { 
.virtual   = (unsigned long)S3C24XX_VA_DM9000, 
.pfn       = __phys_to_pfn(S3C24XX_PA_DM9000), 
.length     = SZ_1M, 
.type     = MT_DEVICE, 
},

 

沒什麼要改的了,make zImage

 

接下來我要嘗試一下我linux平臺下的DNW,這項工作應該儘早脫離windows平臺。OK,DNW好使來是下載下載成功

NAND ID is 0xecda                                                              
Set boot params = root=/dev/mtdblock3 init=/linuxrc load_ramdisk=0 console=ttyS
Load Kernel...                                                                 
Undefined instruction exception!!!  

又出現新的錯誤了,還是得繼續找錯,先寫到着

糟糕。我最不期盼的事情發生了,我將原來的zImage燒進去,發現了和新的相同的錯誤。這次比較嚴峻,應該是bootloader出現問題了。一直沒有接觸bootloader因爲板子剛買回來的時候我在家,沒趕上看老師怎麼弄bootloader,準備花點時間研究了

發佈了24 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章