ATSAMV7Xult板卡调试Nuttx系统----以太网卡与DHCP客户端的配置和调试

来源:互联网 发布:淘宝新开店铺采集器 编辑:程序博客网 时间:2024/03/28 21:31

1. 以太网卡的调试

硬件平台:ATSAMV71-xult开发板

软件环境:64位ubuntu-14.04

对于板卡SAMV71-xult,Nutxx系统默认已经自带以太网卡驱动(网卡芯片:KSZ8061RNBV),并且SAMV71-xult用于一个针对网路的APP应用netnsh,即APP netnsh的defconfig配置好了网卡的相关配置选项,

$ make lc_preconfig APP=netnsh

$ make

烧录编译好的nuttx.bin,开机后板卡插上网线即可,Nuttx netnsh应用默认的IP地址以及子网掩码均是固定的,配置在defconfig用,开机插上网线后,用户只有使用ifconfig命令手动配置板卡IP地址与实际使用网段IP地址一致才可以ping通其他的PC;

$ ifconfig eth0 192.168.0.100

default ip配置开关:

CONFIG_NSH_IPADDR=0xAC1534CC
CONFIG_NSH_DRIPADDR=0xAC153401
CONFIG_NSH_NETMASK=0xfffffe00

注意:

lc_preconfig是前文中介绍的nuttx配置步骤的集成;

netnsh的defconfig需要添加之前介绍的USART的配置,否则USB虚拟串口无法输出;


2. DHCP客户端的配置和调试

Nuttx系统在网络初始化相关的代码,做的非常完善,DHCP功能已经具备,最初调试时粗略看了一下netnsh的defconfig,有一个DHCP相关的宏开关,CONFIG_NETUTILS_DHCPC,打开后编译Nuttx发现网卡无法动态获取IP地址,后来仔细阅读Nutx网络初始化的代码,发现代码中使用DHCP宏开关不仅仅是CONFIG_NETUTILS_DHCPC,还有另外一个宏开关CONFIG_NSH_DHCPC,由于从EPROM读取MAC地址的功能还没有调通,因此MAC地址我是在defconfig固定的,

相关宏开关如下:

CONFIG_NETUTILS_DHCPC=y

CONFIG_NSH_DHCPC=y

CONFIG_NSH_NOMAC=y

CONFIG_NSH_MACADDR=0xd4bed993c55d

说明:由于是动态获取IP地址,因此之前IPADDR, DRIPADDR,NETMASK可以关闭了,不过默认打开也没什么影响,代码里面使用不到;


今天就小结这么多,最后本人文档水平有限,有问题多多纠正;


0 0