ATSAMV7Xult板卡調試Nuttx系統----以太網卡與DHCP客戶端的配置和調試

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可以關閉了,不過默認打開也沒什麼影響,代碼裏面使用不到;


今天就小結這麼多,最後本人文檔水平有限,有問題多多糾正;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章