uboot 1.1.6 移植8900网卡+tftp
2010-03-27 18:27
489 查看
u-boot本身有cs8900网卡驱动程式,所以需要修改的地方不多。由于数据通过总线传送,所以要注意地址空间的设置和总线的设置。
1) 修改/include/configs/smdk2410.h文件:
#define CONFIG_ETHADDR 08:00:3e:26:0a:5b
#define CONFIG_IPADDR 192.168.1.18
#define CONFIG_SERVERIP 192.168.1.19
CONFIG_IPADDR 宏是你研发板的IP地址。tftp client
CONFIG_SERVERIP 宏是你安装tftp server的系统的IP
确定网卡的基地址,我的研发板CS8900接在nGCS3上,而且是A24引脚为高时使能CS8900A的IO模式,所以代码为:
#define CONFIG_DRIVER_CS8900 1 /* we have a CS8900 on-board */
#define CS8900_BASE 0x19000300
#define CS8900_BUS16 1 /* the Linux driver does accesses as shorts */
2) BWSCON寄存器的设置,BANKCON3寄存器的设置
由于网卡占用的是nGCS3之上地址,所以需要设置/board/smdk2410/lowlevel.S文件中相应寄存器的值:
#define B3_BWSCON (DW16 + WAIT + UBLB)
#define B3_Tacs 0x0 /* 0clk */
#define B3_Tcos 0x3 /* 4clk */
#define B3_Tacc 0x7 /* 14clk */
#define B3_Tcoh 0x1 /* 1clk */
#define B3_Tah 0x0 /* 0clk */
#define B3_Tacp 0x3 /* 6clk */
#define B3_PMC 0x0 /* normal */
3) 设置完毕后能重新编译。
4) tftp测试:
以上改完了就能实现tftp功能.
下面说说我的心得.
1 网线可以是路由器出来的, 不一定要是直接到pc的网口. 以上192.168.1.19 是pc的地址.
2 xp端的tftp软件可以用 tftp32, 就一个执行文件,绿色的,不需要安装, 可以自己去弄, 这个也是别人介绍我用的.
3 连接上以后如果想重新烧录nand的bootloader断,请参考如下
是先用tftp命令把uboot.bin传入4g内存索引中的地址0x30000000,然后用nand write 写入从0x30000000开始的资料到nand地址0x0 到0x178400(这个大小可变,根据你的bin文件大小).
这个方法我试过烧录一个只有nand支持功能的bin文件上去, 成功. 重新开机后,串口调试界面只有提示符, 输入tftp指令,提示错误指令. 呵呵.. 说明用tftp功能烧录bootloader成功.
1) 修改/include/configs/smdk2410.h文件:
#define CONFIG_ETHADDR 08:00:3e:26:0a:5b
#define CONFIG_IPADDR 192.168.1.18
#define CONFIG_SERVERIP 192.168.1.19
CONFIG_IPADDR 宏是你研发板的IP地址。tftp client
CONFIG_SERVERIP 宏是你安装tftp server的系统的IP
确定网卡的基地址,我的研发板CS8900接在nGCS3上,而且是A24引脚为高时使能CS8900A的IO模式,所以代码为:
#define CONFIG_DRIVER_CS8900 1 /* we have a CS8900 on-board */
#define CS8900_BASE 0x19000300
#define CS8900_BUS16 1 /* the Linux driver does accesses as shorts */
2) BWSCON寄存器的设置,BANKCON3寄存器的设置
由于网卡占用的是nGCS3之上地址,所以需要设置/board/smdk2410/lowlevel.S文件中相应寄存器的值:
#define B3_BWSCON (DW16 + WAIT + UBLB)
#define B3_Tacs 0x0 /* 0clk */
#define B3_Tcos 0x3 /* 4clk */
#define B3_Tacc 0x7 /* 14clk */
#define B3_Tcoh 0x1 /* 1clk */
#define B3_Tah 0x0 /* 0clk */
#define B3_Tacp 0x3 /* 6clk */
#define B3_PMC 0x0 /* normal */
3) 设置完毕后能重新编译。
4) tftp测试:
以上改完了就能实现tftp功能.
下面说说我的心得.
1 网线可以是路由器出来的, 不一定要是直接到pc的网口. 以上192.168.1.19 是pc的地址.
2 xp端的tftp软件可以用 tftp32, 就一个执行文件,绿色的,不需要安装, 可以自己去弄, 这个也是别人介绍我用的.
3 连接上以后如果想重新烧录nand的bootloader断,请参考如下
1)烧入内核 HB2440# tftp 0x30000000 uImage //先烧录进SDRAM HB2440# nand erase 0x0 0x00200000 //擦出NAND flash待烧入空间 HB2440# nand write 0x30000000 0x0 0x178400 //使用nand命令从SDRAM到NAND指定 //区域 2)烧入文件系统 HB2440# tftp 0x30000000 yaffs.img //先烧录进SDRAM HB2440# nand erase 0xa00000 0x3600000 //擦出NAND flash待烧入空间 HB2440# nand write 0x30000000 0xa00000 0x106d0d0//使用nand命令从SDRAM到 //NAND指定区域
是先用tftp命令把uboot.bin传入4g内存索引中的地址0x30000000,然后用nand write 写入从0x30000000开始的资料到nand地址0x0 到0x178400(这个大小可变,根据你的bin文件大小).
这个方法我试过烧录一个只有nand支持功能的bin文件上去, 成功. 重新开机后,串口调试界面只有提示符, 输入tftp指令,提示错误指令. 呵呵.. 说明用tftp功能烧录bootloader成功.
相关文章推荐
- uboot网卡移植
- s5pv210移植uboot的网卡驱动
- 二 移植8900网卡驱动到vivi上
- uboot-2010.06移植到mini2440经验(4)添加对DM9000网卡支持
- X-010 FriendlyARM tiny4412 uboot移植之移植网卡驱动TFTP用起来
- uboot网络移植成功,tftp能用。
- uboot-1.1.6中DM9000网卡驱动移植到TQ2440
- U-Boot1.1.6移植DM9000网卡
- 移植uboot-1.1.6到勤研2440(和精智2440接近,仿照100ask24x0_config配置,重现韦东山的uboot-1.1.6_patch过程)
- 移植uboot-1.1.6到勤研2440之二移植支持Nand Flash(和精智2440接近,仿照100ask24x0_config配置,重现韦东山的uboot-1.1.6_patch过程)
- 移植DM9000网卡驱动到uboot
- uboot移植之网络驱动移植--网卡驱动如何工作--7.30
- uboot DM9000网卡移植--提示开发板ping不同虚拟服务器的ip
- OK6410 uboot2013.04-rc1 DM9000移植及tftp配置使用
- OK6410上uboot1.1.6的dm9000AE移植
- uboot 1.16 移植到 sbc2440 的时候对CS8900A网卡BWSCON的一点理解
- UBOOT-1.1.6在S3C2410上的移植(基于GEC2410)
- OK6410上uboot1.1.6的dm9000AE移植(续)
- uboot网卡移植
- uboot1.1.6移植体验