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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章