2017/07/15

[zybo]PetaLinux (9)

前回のあらすじ

・BogoMIPSがEthernetが動作している人のログと違う
・クロックの設定が間違っているとか、そこら辺から見ていくか
・Zynqの設定っぽいHTMLが出力されているので、その差分を見るのが早そう

HTMLも2.9MBくらいあって、そう簡単に比較できないのだ。
クロック以外にも差分はあるだろうから、慎重に見ていこう。


まず出てきたのが、MIO52,53の設定。
私はgpio[52], gpio[53]になっているのだが、Digilentの方はEnet0のmdc, mdioになっているのだ。
これはあからさまにあやしいんじゃなかろうか。

image

左がZynq、右がRealtek RTL8211Eを表しているのだが、これが接続されていないということか。


しかし、これはどうやっていじるものなのだ?
マイコンだったら、レジスタでピンアサインを変更したりするものだが、Linuxだしなぁ。

HTMLの表の名前が「MIO Table View」になっていたので検索した。
Using the Zynq MIO Table View
Platform Studioというアプリなのか?
Zynq Tabへのリンクがあったが、こんな画面は見たことがない。
ブロック図の接続なんかを表しているようだけど、そういうのはSDx IDEでチュートリアルをやったときの画面くらいか。

【Zynq】ZYBOでPSのMIOを使用してLチカしてみた
これを見ると、MIOにGPIOを割り当てるような作業をしている。
同じようなことをZYBOのチュートリアルでやったが、それでできたファイルをPetaLinux (1)で与えていたことを思い出した。
あのときは中身も見ずにディレクトリを指定しただけだったのだけど、よく見るとこの中にHTMLファイルが入っているではないか。

では、そのディレクトリをDigilentのhw-descriptionにしたらどうなるだろうか?
バージョンの違いが出てこなければよいが。。

petalinux-config --get-hw-description=../design_1_wrapper_hw_platform_0

とりあえずエラーにはならなかった。

petalinux-buildして、imageをつくって、動かす。
残念、kernel panicだ。
やはりバージョンが違うからダメか。


Vivadoでチュートリアルで作ったプロジェクトを開き、Open Block Designでブロックを開いた。
「+」でダイアログを開いてEthernetを検索。。。いくつか出てくるが、どれがよいのだ?
GPIOの時はAXI_GPIOだったので、AXI 1G/2.5G Ethernet Subsystemにした。
そして、自動で接続してもらう。
RGMIIのようなので、それを選択。

image

うーん、ZynqのMDIOの方がどこにも接続されていない。
というか、AXIを追加しなくても、このピンアサインだけ設定すればよいんじゃなかろうか?

よくわからんので、Zynqのブロックをダブルクリックした。

image

あ、これはさっきのPlatform Studioではないか。

MIO ConfigurationでI/O Peripheralsを見ると、ENET0はMIO16..27になっているので、これは大丈夫だろう。
あとは、MIO52とMIO53だ。
これがMDCとMDIOになってほしいのだけど、どこだ?

Peripheral I/O Pinsを開いて検索すると、こうなっていた。

image

EMIOがアクティブ?っぽいので、MDIOをクリックすると、そっちが緑色になった。
これでよいのだろうか・・・。

最初にやったAXIの追加はやらない方がよさそうな気がするので、全部やり直して、上記のPeripheral I/O Pinsの設定だけにした。

あとはチュートリアルに従ってやっていくだけなのだが、今日は時間切れだ。。。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。

注: コメントを投稿できるのは、このブログのメンバーだけです。