您的位置:首页 > 其它

在wordpress模板添加中文时显示乱码

2014-09-20 15:43 148 查看
1、修改include/configs/mini2440.h
#define CONFIG_NET_MULTI
#define CONFIG_DRIVER_DM9000
#define CONFIG_DM9000_NO_SROM 1 //?????
#define CONFIG_DM9000_BASE  0x20000000
#define DM9000_IO       0X20000000
#define DM9000_DATA     0X20000004
//注释掉CS8900相关定义
//#define CONFIG_CS8900     /* we have a CS8900 on-board */
//#define CONFIG_CS8900_BASE    0x19000300
//#define CONFIG_CS8900_BUS16   /* the Linux driver does accesses as shorts */
找到以下位置
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_DATE
#define CONFIG_CMD_ELF
#define CONFIG_CMD_PING //给uboot加上ping命令,用来测试网络通不通
#define CONFIG_CMD_NET   //添加网卡支持命令
#define CONFIG_BOOTDELAY    3
/*#define CONFIG_BOOTARGS   "root=ramfs devfs=mount console=ttySA0,9600" */
#define CONFIG_ETHADDR      00:01:02:03:04:05//修改mac地址
#define CONFIG_NETMASK          255.255.255.0
#define CONFIG_IPADDR       172.16.113.188 //本机ip
#define CONFIG_SERVERIP     172.16.113.123 //上位机ip
/*#define CONFIG_BOOTFILE   "elinos-lart" */
/*#define CONFIG_BOOTCOMMAND    "tftp; bootm" */


2、修改板载DM9000网卡初始化代码
打开board/sumsung/mini2440/mini2440.c
int board_eth_init(bd_t *bis)
{
int rc = 0;
/*注释掉*/
#if 0
rc = cs8900_initialize(0, CONFIG_CS8900_BASE);
#endif
/*添加*/
#ifdef CONFIG_DRIVER_DM9000
rc=dm9000_initialize(bis);
#endif
return rc;
}
3、修改网卡驱动bug 解决could not establish link
打开drivers/net/dm9000x.c
#if 0
i = 0;
while (!(phy_read(1) & 0x20))
{ /* autonegation complete bit */
udelay(1000);
i++;
if (i == 10000)
{
printf("could not establish link\n");
return 0;
}
}
#endif
2
//屏蔽掉dm9000_halt函数中的内容
static void dm9000_halt(struct eth_device *netdev)
{
#if 0
DM9000_DBG("%s\n", __func__);
/* RESET devie */
phy_write(0, 0x8000); /* PHY RESET */
DM9000_iow(DM9000_GPR, 0x01); /* Power-Down PHY */
DM9000_iow(DM9000_IMR, 0x80); /* Disable all interrupt */
DM9000_iow(DM9000_RCR, 0x00); /* Disable RX */
#endif
}
4、测试网卡

1、ping测试
连上网线,重启开发板,在uboot命令界面下,运行命令:
set ethaddr 0:1:2:3:4:5
set ipaddr 172.16.113.188
save
#ip根据自己测试需要设置,如在头文件已经设置可以省略

在uboot命令界面下,运行命令:
ping 172.16.113.254
如果出现:
host 172.16.113.254 is alive
表示网络已通
2、tftp测试
编写一个led闪烁测试程序,内容如下:
//led_test.c
#define rGPBCON (*(volatile unsigned *)0x56000010)
#define rGPBDAT (*(volatile unsigned *)0x56000014)
void delay(int time);
void xmain()
{
rGPBCON=rGPBCON&(0xff<<10)|(0x55<<10);
rGPBDAT|=0xf<<5;
while(1)
{
rGPBDAT^=0xf<<5;
delay(0x2ffff);
}
}
void delay(int time)
{
while(time>0)
time--;
}
编译生成可执行文件:
arm-linux-gcc -nostdlib -o led_test led_test.c -Ttext 0x30000000

再把生成的可执行文件生成纯二进制文件(可执行文件去掉头部、调试信息):
arm-linux-objcopy -O binary led_test led_test.bin

把led_test.bin复制到刚才所建的tftp共享目录;

在uboot命令界面下,运行命令:
tftp 0x30000000 192.168.0.1:led_test.bin
go 0x30000000

这时就会看到二极管在闪烁

为了让我们的uboot将来能够像linux内核传递参数,在板子相关头文件中增加:
#define CONFIG_CMDLINE_EDITING    1

5、编译
make clean && make
到现在为止我们就得到了功能比较齐全的uboot了

本文出自 “svoday坑爹宝典” 博客,请务必保留此出处http://svoday.blog.51cto.com/1316693/1291016
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: