在上一节中,我们定义了stm32网卡组件,并在ecos.db中添加好了相关组件和软件包。这节说明如何在redboot中实现网络。
打开图形配置工具,选择好模板(package为redboot) ,然后导入之前的redboot配置文件(.ecm文件)。之所以要导入之前的redboot配置文件,是因为可以免去之前所做的一些配置,也就是在之前的配置基础上开展新的配置工作。另一个好处就是:避免忘记配置某个配置项,从而引入一些曾经出现的问题。
注意:经自己的试验发现,linux下的图形配置工具在导入配置文件时有可能会出现“闪退”现象,不必着急,多试几次就OK了。
提示:以后我的配置一般都会在之前的配置基础上进行配置,并保留之前的配置文件,每次修改配置都会形成一个版本,用一个文本文件对这些版本的配置文件进行说明。
redboot eth support
由于之前加入了Frame buffer,因此会提示frame buffer冲突,把frame buffer包去掉即可。
下图是redboot下ethernet support的配置项,这里不需要修改什么,可根据需要修改下默认MAC地址。
redboot下的网络配置
redboot下的网络配置主要配置如下(当然,不修改也可以,直接采用默认的就行):
- 关闭Support HTTP for download配置项;
- 配置Default IP address(注意IP地址用逗号隔开)为192.168.0.24;
- 关闭Enable BOOTP/DHCP support配置项;
- 配置默认网关和IP掩码分别为:192.168.0.1和255.255.255.0(与IP配置值一样,在配置项值里用逗号隔开)。
如下图所示:
重新编译redoot,烧写到flash。注意,由于加入了网络,所以redboot启动时,在出现“+”后会有一定的等待。不要错认为redboot启动不起来了哈。
一般情况下,如果硬件没什么问题的话,redboot下的网络一次性就可以成功。
配置网络参数
redboot启动后,执行fconfig -i,重新建立redboot配置参数。这时可以重新指定IP地址、网关、掩码以及tftp服务器IP地址等网络参数。
测试
从PC机上ping板子:
从redboot下ping PC机:
能互相ping能说明redboot下的网络就可以了。由于redboot下网卡采用poll工作方式,所以ping的延迟还是有点大的。
利用tftp下载ecos应用程序到RAM中运行
redboot下有了网络,有2个便利:一是可以通过tftp下载ecos应用程序到RAM中运行,不用再忍受使用串口下载程序的那种慢速度,而且像我这种喜欢使用打印调试的,则省去频繁使用串口下载程序的操作,编译好后,直接利用redboot的启动脚本自动从tftp服务器目录下下载程序到ram中,大大方便了程序的调试;二是GDB调试可以使用网络来连接了,速度更快了,调试也方便了!
从以上可看到,redboot下移植dm9000网卡还是比较便利的,基本上不需要修改什么就可以搞定,这都归功于ecos良好的架构。下一节将讲述如何在eCos中实现网络功能(重点在中断工作方式)。
推荐阅读相关文章:
- stm32移植ecos #22,ecos ethernet driver,DM9000A驱动移植(上)
- stm32移植ecos #24,ecos ethernet driver,DM9000A驱动移植(下)
- stm32移植ecos #34,ecos sd driver,SD卡驱动(4)
- stm32移植ecos #33,ecos sd driver,SD卡驱动(3)
- stm32移植ecos #31,ecos sd driver,SD卡驱动(1)
- stm32移植ecos #30,ecos i2s driver,音频驱动(下)
- stm32移植ecos #29,ecos i2s driver,音频驱动(中)
- stm32移植ecos #28,ecos i2s driver,音频驱动(上)