【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000

时间:2022-02-10 09:23:37
JZ2440学习笔记

Chili

2015.5

第四部分,移植uboot2015支持JZ2440的DM9000
7,修改uboot支持DM9000
Uboot 内核已经支持DM9000网口,先打开DM9000的驱动看看,因为我们看电路图知道DM9000通过内存接口连到了JZ2440上,在Dm9000x.c (u-boot-2015.04-rc4\u-boot-2015.04-rc4-my2440\drivers\net)中也有对内存进行操作,从而控制DM9000,但是DM9000.c中并没有任何关于DM9000_IO以及DM9000_DATA的定义。
【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000
图 1

由于内存接口的定义跟硬件息息相关,所以驱动并没有定义,用户实际用到该驱动时,需要自己根据实际连接情况自己定义。
这种属于配置定义,所以我们就去smdk2410.h添加:
book@book-desktop:~/uboot/u-boot-2015.04-rc4$ vim include/configs/smdk2410.h 
【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000
图 2

在板级初始化函数中添加dm9000的初始化函数:
book@book-desktop:~/uboot/u-boot-2015.04-rc4$ vim board/samsung/smdk2410/smdk2410.c 
【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000
图3

保存,编译烧写,启动,打印如下
【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000
图 4

根据打印提示,我们知道Dm9000a驱动成功,但是MAC地址未进行设置,下面去smdk2410.h中继续添加配置修改配置文件
book@book-desktop:~/uboot/u-boot-2015.04-rc4$ vim include/configs/smdk2410.h
添加
#define CONFIG_ETHADDR     00:02:03:04:05:06
【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000
图5

保存,烧写启动,打印如下表示我们网卡工作正常:
【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000
图 6


或者直接在uboot命令行中设置ethaddr环境变量,并保存
SMDK2410 # set ethaddr 00:02:03:04:05:06
SMDK2410 # set ipaddr  192.168.1.111
SMDK2410 # set serverip 192.168.1.1
SMDK2410 # saveenv
8,总结
本文通过实际log提示以及现象得出分析,一步步的修改uboot,直到完成整个移植工作,移植不是目的,希望大家在一步步的修改过程中能够学习到:
1,uboot的执行流程,知道什么东西去哪里更改(当然这需要有一定的代码阅读能力,并且对uboot源码有过仔细认真的阅读分析,代码还是要看的,这可不能偷懒哦)
2,遇到问题,分析问题和解决问题的思路方法。
其实越新的uboot做的东西就越多,我们需要更改的就越少,但是本质都一样,只要大家能够了解uboot的执行流程,知道什么东西去哪里改就很简单了。之前大家可能都写过单片机,arm程序,知道如何写寄存器设置不同的外设,那么uboot移植其实类似的,毕竟uboot只是一个裸机程序,操作方式跟普通单片机,arm一样,只是代码量大了许多,还有就是代码封装的比较深,但只要大家耐心多看几遍代码,理清uboot的控制思路,也就也没什么困难了。真的有困难也不要紧,现在是互联网时代,把你的问题放到网上求助,或者你有心得也放到网上供大家学习,这样大家通过知识的共享,就都获得了进步,世界因共享而变得美好,也让我们共同献出自己的一份绵薄之力,有问题有心得多分享!

27 个解决方案

#1


没看见“JZ2440学习笔记4”,有么?

#2


【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000

#3


感觉此贴技术很牛,收藏一下,哈哈。

#4


【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000

#5


【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000

#6


该回复于2015-06-26 09:08:04被管理员删除

#7


关注一下,想学习

#8


厉害。。。。。

#9


厉害                              


 

#10


好的。。。。。

#11


该回复于2015-06-28 12:30:54被管理员删除

#12


看看。。。。。。。。。。。。。

#13


谢谢分享,好有用

#14


该回复于2015-06-29 15:32:05被管理员删除

#15


该回复于2015-06-30 08:34:45被管理员删除

#16


learning~

#17


该回复于2015-07-01 13:01:12被管理员删除

#18


【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000

#19


该回复于2015-07-02 08:47:04被管理员删除

#20


学习,谢谢楼主分享!

#21


【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000

#22


【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000

#23


不错 学习了

#24


【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000

#25


加油,继续贴连载吧。

#26


好,我的也是jz

#27


【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000

#1


没看见“JZ2440学习笔记4”,有么?

#2


【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000

#3


感觉此贴技术很牛,收藏一下,哈哈。

#4


【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000

#5


【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000

#6


该回复于2015-06-26 09:08:04被管理员删除

#7


关注一下,想学习

#8


厉害。。。。。

#9


厉害                              


 

#10


好的。。。。。

#11


该回复于2015-06-28 12:30:54被管理员删除

#12


看看。。。。。。。。。。。。。

#13


谢谢分享,好有用

#14


该回复于2015-06-29 15:32:05被管理员删除

#15


该回复于2015-06-30 08:34:45被管理员删除

#16


learning~

#17


该回复于2015-07-01 13:01:12被管理员删除

#18


【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000

#19


该回复于2015-07-02 08:47:04被管理员删除

#20


学习,谢谢楼主分享!

#21


【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000

#22


【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000

#23


不错 学习了

#24


【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000

#25


加油,继续贴连载吧。

#26


好,我的也是jz

#27


【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000【原创连载】JZ2440学习笔记5-移植u-boot-2015.04支持jz2440的DM9000