前回、ZynqのGPIO52, 53がGPIOのままになっていることに気付いた。
そこで、VivadoのPlatform StudioでPeripheral I/O Pinsを変更し、Ethernet 0のMDIOがEMIOになっていたものをMDIOに切り替えた。
今回、試すときだ。
まず、HTMLのMIO Table Viewを確認しよう。
うむ、あれでよかったようだ。
新しいHardwareファイル(というのか?)でpetalinux-configで何もせずExitし、petalinux-buildし、イメージファイル類を作って、あとは動かすだけだ!
実は、一度ここでプロジェクトを消して作り直した。
理由は分からないが、「Starting kernel ...」のログまでしか出なくなったからだ。
MIO 52,53の設定をしたためかと思ったが、戻してもだめだった。
そういうときは、やり直すまでだ。
結果は・・・OK!
■U-Bootのところ
Net: ZYNQ GEM: e000b000, phyaddr ffffffff, interface rgmii-id
eth0: ethernet@e000b000ethernet@e000b000 Waiting for PHY auto negotiation to complete.... done
BOOTP broadcast 1
BOOTP broadcast 2
DHCP client bound to address 192.168.0.83 (524 ms)
■BogoMIPSのところ
Calibrating delay loop (skipped), value calculated using timer frequency.. 650.00 BogoMIPS (lpj=3250000)
■PHYのところ
libphy: Fixed MDIO Bus: probed
libphy: MACB_mii_bus: probed
macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 145 (00:0a:35:00:1e:53)
RTL8211E Gigabit Ethernet e000b000.etherne:00: attached PHY driver [RTL8211E Gigabit Ethernet] (mii_bus:phy_addr=e000b000.etherne:00, irq=-1)
e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
DHCP環境だから、U-Bootの段階でIPアドレスがとれているようだし、ifconfigで見てもとれていた。
もちろん、pingも打てた。
そうか、そういうものなのか。。。
おそらく、だが、Ethernetの部分はPS部もPL部も使えるようになっていて、デフォルトではPL部が使う(EMIO)ようになっていた、ということではなかろうか。
喉の小骨が取れたようにすっきりした。
ありがとうございました。 EMIOの設定での不具合ではなく、2014.4の時と同様にSYSTEM-TOP.dtsへGBE0の定義を今回も行ったのが原因でした。2016.4あたりからDTSの修正を必要としなくなったようです。
返信削除(UG1144にはシツコク書いてあるのに)
ただ、今回もStaticIPの設定はPetalinux-confでの設定は反映できないのはそのままで、AR# 69119で
対応の様です。 (組み込み機なのに!)
いつになったら安定版になるのかしら!!!
歴史的な経緯があったのですね。。
削除幸い、それを見ていなかったので逃げ切れたのだと思います。
そして、まさかstatic IPにバグがあるとは。。。
普段はstatic IPでやるのに、今回は面倒だからそのままスルーしたので逃げ切れたようです。
いろんなところに罠がありすぎます。。。
https://japan.xilinx.com/support/answers/69119.html