郭天祥-S3C2440开发板Linux2.6.31移植教程

发布时间:2024-07-31  

本人使用的开发板是广州天嵌的TQ2440开发板


最近使用了郭天祥的教程学习S3C2440嵌入式linux2.6.31系统移植,移植yaffs2文件系统成功后,发现开发板移植的系统的ping命令无法ping通电脑。后面通过烧录开发板自带的linux镜像文件和yaffs2文件系统,对比之后。发现本人的笔记本(联想G40系列),如果只接通过本地网卡与开发板直连,无法ping通,但是使用自己的台式电脑,可以使用网线直连开发板ping通,确认了问题的原因是:


1.笔记本在网线直连开发板的情况下,无法ping通开发板。


2.个人移植的linux 2.6.31操作系统驱动存在问题。


第一个问题很好解决,如果要继续使用笔记本,可以将开发板连接到局域网内,而不是通过笔记本本地网卡直连。


第二个问题,就是一直操作系统的时候出现了问题。由于本人是根据郭天祥团队的手册《郭天祥 - linux2.6.31移植》(下载地址http://download.csdn.net/detail/camelbrand/9777501)来完成的移植,所以很可能是在该过程中出现了问题。


本人做出的变更,取消文档中对于devs.h和devs.c的操作,如下代码不加入devs.h和devs.c中


修改 arch/arm/plat-s3c24xx/devs.c 在最前面 38 行加入:


 1 #include //别忘加这个头文件

 2 /*DM9000*/

 3 static struct resource s3c_dm9000_resource[] = 

 4 {

 5     [0] = {

 6         .start = S3C2410_CS4,

 7         .end = S3C2410_CS4 + 3,

 8         .flags = IORESOURCE_MEM,

 9     },

10     [1] = {

11         .start = S3C2410_CS4 + 4,

12         .end = S3C2410_CS4 + 4 + 3,

13         .flags = IORESOURCE_MEM,

14     },

15     [2] = {

16         .start = IRQ_EINT18, /*use eint18 GPG10*/

17         .end = IRQ_EINT18,

18         .flags = IORESOURCE_IRQ,

19             }

20     };

21 static struct dm9000_plat_data s3c_dm9000_platdata = 

22 {

23         .flags = DM9000_PLATF_16BITONLY,

24 };

25 extern struct platform_device s3c_device_dm9000 = 

26 {

27     .name = "dm9000",

28     .id = 0,

29     .num_resources = ARRAY_SIZE(s3c_dm9000_resource),

30     .resource = s3c_dm9000_resource,

31     .dev = 

32     {

33         .platform_data = &s3c_dm9000_platdata,

34     }

35 };

36 

37 EXPORT_SYMBOL(s3c_device_dm9000);


在 arch/arm/plat-s3c/include/plat/devs.h 中加入一行:

extern struct platform_device s3c_device_dm9000;


修改linux-2.6.31archarmmach-s3c2440mach-smdk2440.c


头文件添加:#include


static struct s3c2410fb_mach_info smdk2440_fb_info __initdata结构体定义后添加:


 1 /* DM9000 */

 2 static struct resource s3c_dm9k_resource[] = {

 3     [0] = {

 4         .start    = S3C2410_CS4,

 5         .end    = S3C2410_CS4 + 3,

 6         .flags    = IORESOURCE_MEM,

 7     },

 8     [1] = {

 9         .start    = S3C2410_CS4 + 4,

10         .end    = S3C2410_CS4 + 4 + 3,

11         .flags    = IORESOURCE_MEM,

12     },

13     [2] = {

14         .start    = IRQ_EINT7,

15         .end    = IRQ_EINT7,

16         .flags    = IORESOURCE_IRQ | IRQF_TRIGGER_RISING,

17     }

18 

19 };

20 

21 static struct dm9000_plat_data s3c_dm9k_platdata = {

22     .flags    = DM9000_PLATF_16BITONLY,

23 };

24 

25 struct platform_device s3c_device_dm9000 = {

26     .name        = "dm9000",

27     .id            = 0,

28     .num_resources    = ARRAY_SIZE(s3c_dm9k_resource),

29     .resource        = s3c_dm9k_resource,

30     .dev            = {

31         .platform_data = &s3c_dm9k_platdata,

32     }

33 };


重新编译,就可以正常使用dm9000.c网卡了


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>