2020年2月5日水曜日

ultra96v2_oobにros2-dashingを導入する方法その1〜

meta-ros導入のメモu-bootやqemu-devicetreeの設定変更など書き散らしたものを整理していきます。

環境作成するための方法をまとめて後で使用できるようにすることが目的です。
petalinuxとvitisのインストールは省略し、Vivadoプロジェクトを作成した後からの続きの手順を記載します。




petalinuxのプロジェクトを作成します。ただし、sstateはmeta-rosの導入時に問題が出たので設定しません。buildはまだです。

次にu-bootのconfig_sys_text_baseを修正します。
パッチファイル作成し、以下に保存します。

<petalinux_prj>/project-spec/meta-user/recipes-bsp/u-boot/files/config_sys_text_base_amend.patch

<petalinux_prj>/project-spec/meta-user/recipes-bsp/u-boot/u-boot-xlnx_%.bbappendを以下の通りにしてパッチを追加します。


FILESEXTRAPATHS_prepend := "${THISDIR}/files:"

SRC_URI += "file://platform-top.h"
SRC_URI += "file://bsp.cfg"
SRC_URI += "file://config_sys_text_base_amend.patch"


u-bootの次はqemu用のhw-dtbを修正するパッチを当てます。
結局petalinux-buildではrosを導入できなかったのでzcu102のqemu用dtbを使用すればいいような気もするけど、せっかくなので。
ファイルを置く場所は<petalinux_prj>/project-spec/meta-user/recipes-devtools/qemu/files/0001-enable-gems-for-zcu100-arm.dts.patchです。
後述するbitbakeを使用してbitbake -e qemu-devicetrees | grep ^FILEでレベルを合わせてmeta-userに配置することで適用できます。
パッチの内容は以下のようにgemのinvalidをコメントアウトしているだけです。
これでqemu動作させた際にgem3を使用して通信可能にし、rosの模擬動作やgazeboとの接続ができるようになるはずです。

From 4b5e8412beaff0a773ac4c960344e661e460ac65 Mon Sep 17 00:00:00 2001
From: Akira Nishiyama <xxxx@xxx.xxx>
Date: Wed, 29 Jan 2020 08:04:19 +0900
Subject: [PATCH] enable gems for zcu100-arm.dts

---
 zcu100-arm.dts | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/zcu100-arm.dts b/zcu100-arm.dts
index 4eee783..28351dc 100644
--- a/zcu100-arm.dts
+++ b/zcu100-arm.dts
@@ -40,6 +40,7 @@
 };

 /* Invalidate all GEMs as there is no Ethernet */
+/*
 &gem0 {
     compatible = "invalid";
 };
@@ -55,7 +56,7 @@
 &gem3 {
     compatible = "invalid";
 };
-
+*/
 &ps7_qspi_0 {
     qspi-flash@0 {
         compatible = "n25q128a13";
-- 
2.17.1

この後はpetalinuxツールではなくyoctoを使用していくための設定を行うのと、
meta-ros導入時に発生したtaskhash mismatchの問題に対応するためにソースからビルドしていくように設定します。
長くなるので続く



0 件のコメント:

コメントを投稿