|
CONFIG_IPADDR 对应开发板(目标机)的ip地址
CONFIG_SERVERIP 对应服务器(宿主机)的ip地址(如:PC机)
确定网卡的基地址,我的开发板CS8900接在nGCS3上,而且是A24引脚为高时使能CS8900A的IO模式,所以代码为:
|
在GT2440中,我们将CS8900A的SA0-SA19连接到 S3C2440的ADDR0-ADDR19位置(但仅SA0-SA15被真正使用),CS8900A被映射到S3C2440bank3起始地址为0x18000000;而我们可以在smdk2410.h的配置文件中看到CS8900A的基地址为0x19000300.
u-boot中CS8900A的起始地址为0x19000300(与具体的开发板电路连接有关,这里以smdk2410为例说明)
CS8900被连接到S3C2440 nGCS3组,nGCS3的起始地址为0x18000000,addr24被用来控制I/O或者MEM模式的读写操作,当addr24为1时,可以确保CS8900 I/O模式有效,并且MEM模式有效。所以此处addr24=1表示我们的u-boot中的CS8900可以I/O模式读写。
所以会有0x19000000如下:
0001 1001 (addr24=1) 0000 0000 0000 0000 0000 0000
CS8900A(在datasheet中可以查找到):上电后,CS8900的基地址默认是300H。
② BWSCON寄存器的设置,BANKCON3寄存器的设置
由于网卡占用的是nGCS3之上地址,所以需要设置/board/GT2440/lowlevel_init.S文件中相应寄存器的值:
|
③ 设置完毕后可以重新编译。
④将编译成功后得到的u-boot.bin(位于u-boot下的最高目录下)烧写到开发板(可以通过J-link(一般的笔记本电脑没有串口)或H-Jtag下载)。
⑤连接好串口线和网线,打开超级终端。
⑥使用u-boot的一些指令,对部分环境变量进行设置。
⑦使用ping命令测试网卡移植是否成功。
例如:ping 192.168.0.7(依据自己的serverip)
如果出现 。。。。。。is alive
那就标志着移植 SUCCESS!