管理提醒: 本帖被 xoom 执行加亮操作(2013-01-09)
返回学习汇总贴下班晚了,连载继续...
step 2 添加DM9000网口驱动0.预备知识:
(1) 了解Makefile Kconfig diff Shell
(2) 掌握
Barebox for tiny 210 - step 1 (3) Barebox已经实现DM9000通用驱动,只要简单配置访问时序、访问地址并打开编译开关就行,网上相关资源非常多了,我简单说下如何调试吧。
1.编译运行
(1) 更新源码到对应版本
cd ~/s5pv210/github/loader/barebox
git checkout 27848893a02f7c05c5ca39f9608df73f4cd68a21
(2) 编译并烧写到SD卡(详细步骤请参见step 1)
(3) 运行调试
从SD卡启动单板,用网线直接连接电脑与单板
将电脑IP地址设置为192.168.1.10,255.255.255.0
通过串口终端执行下边两条命令将单板IP地址设置为192.168.1.100,255.255.255.0
eth0.ipaddr=192.168.1.100
eth0.netmask=255.255.255.0
通过串口终端执行下边一条命令,检查单板是否能ping通电脑
ping 192.168.1.10
显示host 192.168.1.10 is alive,表示能ping通
(4)
遗留问题:
为啥我用电脑ping不通单板呢? 甚至单板ping自己都不通?
单板和电脑通过路由器相连,测试DHCP自动获取IP
add_dm9000_device(0, S3C_CS1_BASE + 0x1000, S3C_CS1_BASE + 0x400C, IORESOURCE_MEM_16BIT, &dm9000_data); 偏移量是怎么计算出来的?最开始我用0x0000 / 0x0004或者0x0000 / 0x0008都不对!照抄0x1000 / 0x400C才可以,求解惑!
(5) 下一步之前,你可以看一下drivers/base目录下的所有文件,静下心来看非常简单,至少比linux的简单,但是处处都有linux的影子...大爱啊!!!2.代码分析
(1) 想知道我修改了哪些内容?
方法一、执行以下命令,列出最近一次修改的详细情况
git log -n 1 -p
方法二、去github查看commit记录,找她=>add dm9000 network support
https://github.com/jiandeng/barebox/commits/master (2) 代码分析 —— 贴代码凑字数,非新手请绕行,我自觉隐藏了
本部分内容设定了隐藏,需要回复后才能看到
[ 此帖被mei5150在2013-04-13 20:44重新编辑 ]