FC2カウンター FPGAの部屋 2016年07月08日
fc2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

ZybotのZYBOをLinuxで動作させる1(BOOT.bin, devicetree.dtb)

Zybot の車輪が回転した”と”Zybotの車輪のセンサー・フィードバックのデータを取得した”で、PWMモジュールでモーターを制御して車輪を動かすのとそのモーターのホール素子で回転数を取得することができた。今まではベアメタル・アプリケーションでやっていたので、これをLinuxに移行したい。それには、今までのZYBO_0_2 の右目用のZYBO の方に制御システムを載せようと思っている。
なお、Zybot のZYBO は右目用と左目用の2台のZYBO を載せる予定で、右目用から左目用ZYBO にHDMI で右目用画像を送って、ステレオカメラとしている。左目用ZYBO にはステレオカメラ処理が乗る予定なので、余裕がない。よって、右目用ZYBO の方に車体の制御と白線検出を任せる予定だ。

まずは、FSBL(First Stage Boot Loader) のアプリケーション・プロジェクトを新規作成して、FSBL を作成した。
その後、FSBL と FPGA のビットストリーム、u-boot.elf をまとめて、BOOT.bin を作成した。
ZYBO_0_motor_10_160708.png

次は、VirtualBox 上のUbuntu 14.04 LTS に移動して、ZYBO_0_2 のzynq-zybo.dts を編集して、Pwmモジュールとモーター・モニタのエントリを追加した。(以前のZYBO_0_2 のデバイス・ツリーについては、”並列ステレオカメラによる距離の測定8(Ubuntuで動作するアプリケーションを作る1)”を参照のこと)
ZYBO_0_motor_7_160704.png

dtc でzynq-zybo.dts をコンパイルして devicetree.dtb を作成した。
具体的には、dtc -I dts -O dtb -o devicetree.dtb zynq-zybo.dts コマンドで、zynq-zybo.dts を dtc でコンパイルして、devicetree.dtb を生成した。
ZYBO_0_motor_9_160704.png

出来上がった devicetree.dtb を示す。
ZYBO_0_motor_8_160704.png

BOOT.bin と devicetree.dtb をUbuntu 14.04 を起動する Micro SDカードの第1パーティションに入れて、ZYBO を起動した。

起動後、ターミナル・ソフト (Tera Term) で、/sys/devices/amba.0 の下を見た。devicetree に設定したデバイスが 登録されていた。
ZYBO_0_motor_11_160707.png

pwm_0, pwm_1, mootor_monitor_0, motor_monitor_1 も登録されていた。

次は、Vivado HLSで生成されたドライバを使用してLinux用のアプリケーション・ソフトウェアを作成しよう。
  1. 2016年07月08日 07:47 |
  2. Zybot
  3. | トラックバック:0
  4. | コメント:0