完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>
JZ2440学习笔记
Chili
2015.5
第四部分,移植
uboot2015
支持
JZ2440
的
DM9000
7,修改uboot支持DM9000
Uboot
内核已经支持
DM9000
网口,先打开
DM9000
的驱动看看,因为我们看电路图知道
DM9000
通过内存接口连到了
JZ2440
上,在
Dm9000x.c (u-boot-2015.04-rc4u-boot-2015.04-rc4-my2440driversnet)
中也有对内存进行操作,从而控制
DM9000
,但是
DM9000.c
中并没有任何关于
DM9000_IO
以及
DM9000_DATA
的定义。
图
1
由于内存接口的定义跟硬件息息相关,所以驱动并没有定义,用户实际用到该驱动时,需要自己根据实际连接情况自己定义。
这种属于配置定义,所以我们就去
smdk2410.h
添加:
book@book-desktop:~/uboot/u-boot-2015.04-rc4$ vim include/configs/smdk2410.h
图
2
在板级初始化函数中添加dm9000 的初始化函数:
book@book-desktop:~/uboot/u-boot-2015.04-rc4$ vim board/samsung/smdk2410/smdk2410.c
图
3
保存,编译烧写,启动,打印如下
图
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
图
5
保存,烧写启动,打印如下表示我们网卡工作正常:
图
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
的控制思路,也就也没什么困难了。真的有困难也不要紧,现在是互联网时代,把你的问题放到网上求助,或者你有心得也放到网上供大家学习,这样大家通过知识的共享,就都获得了进步,世界因共享而变得美好,也让我们共同献出自己的一份绵薄之力,有问题有心得多分享!
|
|
相关推荐
|
|
852 浏览0 评论
1128 浏览1 评论
如何配置Linux操作系统设备树让我的开发板可以将板子上的GPIO接口用作 I2S输出??
2018 浏览1 评论
1556 浏览0 评论
2100 浏览0 评论
小黑屋|手机版|Archiver|德赢Vwin官网(湘ICP备2023018690号)
GMT+8, 2024-8-23 07:08, Processed in 0.555760 second(s), Total 68, Slave 52 queries .
Powered by德赢Vwin官网 网
© 2015bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号