[Linux]u-boot_2014移植(六)支持DM9000网卡和设置环境变量分区

[Linux]u-boot_2014移植(六)支持DM9000网卡和设置环境变量分区

个人博客https://aeneag.xyz/

艾恩凝

2021/6/5

支持DM9000网卡

smdk2440.h

取消

1#define CONFIG_CS8900		/* we have a CS8900 on-board /
2#define CONFIG_CS8900_BASE	0x19000300
3#define CONFIG_CS8900_BUS16	/ the Linux driver does accesses as shorts */

添加

1#define CONFIG_DRIVER_DM9000
2#define CONFIG_DM9000_BASE  0x20000000
3#define DM9000_IO  CONFIG_DM9000_BASE
4#define DM9000_DATA (CONFIG_DM9000_BASE + 4)
5#define CONFIG_DM9000_O_SROM

dm90001.png

修改ip地址,改成自己需要的

1#define CONFIG_NETMASK		255.255.240.0
2#define CONFIG_IPADDR		172.6.3.85
3#define CONFIG_SERVERIP		172.6.3.65
4#define CONFIG_ETHADDR		00:0c:28:3d🇪🇪f4

smdk2440.c

在**board_eth_init()**函数中增加:

1#ifdef CONFIG_DRIVER_DM9000
2rc = dm9000_initialize(bis);
3#endif

dm90002.png

设置环境变量

smdk2440.h

添加

1#define CONFIG_BOOTARGS "console=ttySAC0 root=/dev/mtdblock3"
2#define CONFIG_BOOTCOMMAND "nand read 30000000 kernel;bootm 30000000"
3
4#define CONFIG_ENV_IS_IN_NAND
5#define CONFIG_ENV_OFFSET		0x40000
6#define CONFIG_ENV_SIZE			0x20000
7#define CONFIG_ENV_RANGE		CONFIG_ENV_SIZE

如下图

env9.png

最后添加

 1/***
 2* 默认分区
 3*/
 4#define CONFIG_CMD_MTDPARTS
 5#define CONFIG_MTD_DEVICE
 6#define CONFIG_MTD_PARTITIONS
 7#define MTDIDS_DEFAULT      "nand0=jz2440 V3-0"
 8#define MTDPARTS_DEFAULT	\
 9			"mtdparts=jz2440 V3-0:256k(bootloader)," \
10			"128k(params),"\
11			"2m(kernel)," \
12			"-(rootfs)"
13

smdk2440.c

在smdk2410.c的board_init()中,修改bi_arch_numberMACH_TYPE_S3C2440

end

目前可以支持网卡,环境变量也设置好,同时分区也分好了

u-boot移植系列目录

上一篇[Linux]u-boot_2014移植(五)支持NOR_Flash Nand_Flash

下一篇[Linux]u-boot_2014移植(七)支持yaffs2并易用性修裁剪


    


公众号'艾恩凝'
个人公众号
个人微信
个人微信
    吾心信其可行,
          则移山填海之难,
                  终有成功之日!
                                  ——孙文
    评论
    0 评论
avatar

取消