直觀來講,ARM開發板多數情況下會有條網線與主機相連,所以最重要的一步是保證PC主機與ARM開發板能互通。
互通的意思進一步來講就是互相能ping通。也就是說在瘟都死的dos下(假設主機是瘟都死系統)ping 目標板ip 能收到回復;
在ARM板下(一般通過主機中串口)ping 主機ip能有回復,這樣就說明板子和電腦通信沒問題。
本鳥犯了個低級錯誤(這可能也是嵌入式初學者常遇到的問題):
本鳥買了個路由器(不知道實驗室能不能報銷)連接arm板和PC機,。。。。。一系列前期工作都做好了,就等着相互ping一下大成就OK了,但是難遂人願,
竟然沒ping通!比較糾結。。。還在半夜寫博客
我以為:路由器能自動分配IP(DHCP服務,NAT映射),所以ARM和電腦只要連到同一個路由器上,然后路由器就會自動給這倆冬冬分配IP,這樣他倆肯定就在同一個網段了,所以他倆一定是互通的!
實際上:PC連到路由器上,路由器的確會自動給PC分配一個ip地址(如果路由器開啟了DHCP服務,路由器會自動從地址池中取一個地址賦給PC);但是ARM板子就不同了,連到路由器上,路由器不會給他分配IP!
因為ARM板子不會自動向路由器發起DHCP請求分配一個可用IP,這樣來說,必須手動給板子設置一個IP使其與PC主機處在同一網段。
例如可執行:ifconfig eth0 192.168.1.101 up 這樣板子就強制分配了192.168.1.101這個ip,就與PC處於同一網段,也就可以互通了。(前提是PC主機IP也是192.168.1.xxx,xxx不能是101)
感慨:其實這些知識在學校的嵌入式實驗中接觸到,可惜當時是用了學長的火炬過的。。。所以理解不深。