标签:移植 cs8900 问题 [推送到技术圈]
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://ironpeak.blog.51cto.com/439173/100484 |
移植主要是参考该网页: http://www.cublog.cn/u2/63560/showart_514147.html 我的内核是2.6.24.4 以下是我移植过程存在的一些问题: 内核启动信息: Cirrus Logic CS8900A driver for Linux (Modified for SMDK2410) Unable to handle kernel paging request at virtual address e000030a pgd = c0004000 [e000030a] *pgd=00000000 Internal error: Oops: 805 [#1] Modules linked in: CPU: 0 Not tainted (2.6.24.4 #5) PC is at cs8900_probe+0xdc/0x2c0 LR is at 0xe0000300 pc : [<c001bfc0>] lr : [<e0000300>] psr: a0000013 sp : c3c19f10 ip : e000030a fp : c3c19f30 r10: 00000000 r9 : c0023854 r8 : c3c18000 r7 : c0022320 r6 : 00000002 r5 : c3c63000 r4 : 00000000 r3 : e000030a r2 : 00000000 r1 : c3ddf2a0 r0 : c3ddf2a0 Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel Control: c000717f Table: 30004000 DAC: 00000017 Process swapper (pid: 1, stack limit = 0xc3c18258) Stack: (0xc3c19f10 to 0xc3c1a000) 9f00: c0022320 c3c19f30 c3c63000 00000000 9f20: c03602c0 c3c19f50 c3c19f34 c01f16b0 c001bef4 c3c19f50 c3c63000 00000000 9f40: 00000000 c3c19f68 c3c19f54 c01f198c c01f1620 c3c63000 c035d09c c3c19f80 9f60: c3c19f6c c001c22c c01f1958 00000000 00000000 c3c19ff4 c3c19f84 c0008c38 9f80: c001c1b4 c3c19f90 00000000 00000000 00000001 c3c19fa0 c003fea0 c003fe10 9fa0: 00000000 c3c19fb0 c002aee4 c003fe98 00000000 00000000 c0008b58 c00466a8 9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 9fe0: 00000000 00000000 00000000 c3c19ff8 c00466a8 c0008b68 00000000 00000000 Backtrace: [<c001bee4>] (cs8900_probe+0x0/0x2c0) from [<c01f16b0>] (register_netdevice+0xa) r6:c03602c0 r5:00000000 r4:c3c63000 [<c01f1610>] (register_netdevice+0x0/0x338) from [<c01f198c>] (register_netdev+) r6:00000000 r5:00000000 r4:c3c63000 [<c01f1948>] (register_netdev+0x0/0x54) from [<c001c22c>] (cs8900_init+0x88/0xb) r5:c035d09c r4:c3c63000 [<c001c1a4>] (cs8900_init+0x0/0xb4) from [<c0008c38>] (kernel_init+0xe0/0x29c) r5:00000000 r4:00000000 [<c0008b58>] (kernel_init+0x0/0x29c) from [<c00466a8>] (do_exit+0x0/0x6d4) Code: e28ec00a e35c0201 e1a0300c 328334f6 (e1c340b0) ---[ end trace bba2f1a4ae8afd07 ]--- Kernel panic - not syncing: Attempted to kill init! 解决办法: 我在arch\arm\mach-s3c2410\mach-smdk2410.c的smdk2410_iodesc[]中 增加{vSMDK2410_ETH_IO, pSMDK2410_ETH_IO, SZ_1M, MT_DEVICE} 在include\asm\plat-s3c24xx\Common-smdk.h中,增加了: #define pSMDK2410_ETH_IO __phys_to_pfn(0x19000000) #define vSMDK2410_ETH_IO 0xE0000000 #define SMDK2410_ETH_IRQ IRQ_EINT9 然后编译,下载,就好了。 再在文件系统的/etc/init.d/rcS文件里 添加 /sbin/ifconfig eth0 192.168.1.119 /sbin/ifconfig lo 127.0.0.1 这样网络就没有问题了 ping主机也可以ping通了。 本文出自 "西安铁峰电子有限公司" 博客,请务必保留此出处http://ironpeak.blog.51cto.com/439173/100484 本文出自 51CTO.COM技术博客 |
评论
发表评论