[管理者用]

イゼルローン日誌
宇宙・・・それは人類に残された最後の観光地である

         
戻る 
01月
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月
1998年
1999年
2000年
2001年
2002年
2003年
2004年
2005年
2006年
2007年
2008年
2009年
2010年
2011年
2012年
2013年
2014年
2015年
2016年
2017年
2018年
2019年
2020年
2021年

2021年05月
5月16日
・Cortex-A53のLinuxでアプリケーションを、Corte-R5Fでベアメタルアプリケーションを動かすというサンプル。とにかくやるだけやってみる。ビルドまではうまくいったように見えたけど、ファイルをコピーしようとしたら、Linux上のアプリの実行ファイルが無い。改めてビルドしてみると、エラーが出ている。エラーメッセージを見ると、ソースコードが気に入らないらしい。そんなこと言っても、これはサンプルとして、Xilinxが提供しているものなのだけどなと思いながら開いてみると・・・あれ?
・コンパイラよ、あなたは正しい。明らかにソースコードがバグっている。こんなものコンパイルできるわけがない。何をふざけたことをやっているのだ?と思いながらソースコード修正して、コンパイルができるようになった。
・さて、これで準備できたぞと、SDカードに書き込んで起動したらLinux側がパニックになってしまった。
・これはたぶん、image.ubのせいだなということで、改めて作成したものと差し替え。これはうまくブートできた。
・さて、SDカードに置いたLinuxのアプリを動かそうと、Linuxにログインして、SDカード上にあるアプリを/tmpにコピーして実行。ところがlibstdc++.so.6が無いよというエラーメッセージ。なんだかなぁ。検索してようやくわかった。こんなことチュートリアルのどこにも書いてない。ふざけた話だ。あらためてimage.ubを作りなおして、libstdc++を含めるようにしてもう一回やりなおし。
・もう大丈夫だろうと電源ON。今度はうまくいった。疲れた。なんて酷いチュートリアルなのだろう。

5月15日 みつのと ゐ:賀茂別雷神祭
・CSI:の再放送を見ている。まだフィーチャーフォンの時代。出てくるものに思いの外日本ブランドが多い。鑑識で使っているカメラはニコン、ゲーム機がプレステ、車がレクサス、東洋タイヤ、セイコーの時計、鎧兜に刀まで登場していたり。
・そんなところで、ぼちぼちと暇に任せて取り組んでいたものがひとつ片付いた。日付を見ると、途中でかなりの中断があるのはしょうがないか。

5月14日 みつのえ いぬ:出雲大社例祭
・とりあえずうまくできたようなので、「Xilinx=>Create Boot Image」してブートイメージ作成をする。設定項目が今ひとつわかりにくいけど、これは後で調べることにしよう。
・とりあえず完成したものをSDカードに書き込んで、ターミナルを接続。こいつはCP-2108という、SiliconLabsの4チャンネル入りUSB-UARTブリッジが付いているので、COMポートが自動的に4つ増える。とりあえずXilinx側ではUART0とUART1を使うということになっているので、TeraTermを二つ起動。COM3〜COM6に割りつけられているけど、とりあえず何度かやっていてUART0はCOM3ということはわかっている。ならば、UART1はCOM4だろうと設定。さて、これでSDカードを入れて電源ON。
・とりあえずUART0を使っているLinux側は動いたけど、UART1を使っているCortex-R5側のメッセージが出ない。WFIで割り込み待ちになっていて、キー入力するとメッセージ表示するっていう話なのだが。これは何かおかしいな。改めて作りなおしてみたけど駄目。それならCOMポートの番号か・・ということで、COM5にしてキー入力すると単純にエコーバックしてくる。こんなファームが組み込まれているのか?
・ダメそうなので、COM6に変更。キーを叩いたら予定どおりのメッセージが出た。なんだって、こんなポート番号になっているのかわからないけど、とりあえずこれで開通。よし、うまくいった。

5月13日 かのと とり:東京神田神社例大祭
・高齢者向けのワクチン大規模摂取の予約が開始だけど、ネットのみ対応ということだ。
・さて、ネットに不慣れ、そしてやってくれる身内もいないというとどうなるのだろうと考えていたら「予約代行詐欺」というのが頭に浮かんだ。予約代行します・・・で、金銭を受け取るだけでなく、予約に必要だからと個人情報まで手に入れられる。こんなに簡単で美味しい話はないだろう。行政はそのあたりはきちんとアナウンスしているのかな?また後手後手というのではあるまいな。
・というところで、Vitis(なんか、ずっとVitsと書いてしまっていた気がする)。もう一回やりなおしてみる。後ろにあるサンプルで取り込むファイルのファイル名をキーにしていくとCortex-R5F用のサンプルと、Cortex-A53で動くFSBL(ファーストステップブートローダ)のプロジェクトの出力を使うようなので、前回、R5Fサンプルを登録したところでバックアップしていたものから復旧。次はブートローダか。さて、チュートリアルどおりやろうとしたけど、サンプルのFSBLアプリが取り込めない。「完了」ボタンがシャドウされてしまう。画面を見ていたら上の方に、BSPにxilffs xilsecure xilpmが無いよというメッセージ。そうか、そういうことか。ということで、もう一回。BSPに言われたものを追加してプラットフォーム(ラッパー)を再ビルドしてからサンプル取り込みを試してみる。
・今度は成功した。そういうことか。もう、疲れるな、本当に。これで一歩前進。

5月12日
・チュートリアルにしたがってやっていこうとしたけど駄目なので、もう一度進めていったら結局エラーが出てしまって先に勧めない。エラーメッセージを見ても結局のところ何が悪いのかさっぱりというところ。
・このチュートリアルが最悪なのは、一本道になっていなくて、次々に枝分かれすること。そして、後ろの章で、「前章までで作成した・・」という感じの書き方だけど、いったいどこで作ったどれを使うのかもわからない。「◯◯に追加します」というけど、その◯◯って一体どれ?どこ?というのもはっきりしない。作「名称を指定します」とあって、どういう名称にするのかが指定されていないのに、後の章では勝手にこのチュートリアルを書いた人が指定したであろう名称が飛び出してくる。こちらはファイル名などをキーにして、これはきっとあの時の名称なのだろうと想像していくしかない。とにかく乱暴な作りだ。

5月11日
・どうも、チュートリアルが宜しくないな。もう一回やりなおすか。

5月10日
・さて、ぼちぼちと。Cortex-A53でLinux上の、Cortex-R5FでベアメタルのアプリケーションでLEDとスイッチを利用しようというもの。Linux側からのLED制御はどうやるのかな?と思ったらRaspberryPiで良くやったような、シェル経由でいじる方法だった。効率はよろしくないな。

5月9日
・さて、少し前進。とりあえずハードウェアにIPを取り込んだらビットストリームを作ってからXSAを作る(エクスポートする)のかな。これで、あとはソフトウェア。なるほど、RPU側は通常のIDEっぽい感じで、APU側はPetaLinuxで同時進行させるという手か。
・さて、やっと理解した。こいつはCPUを内蔵したFPGAというより、FPGAを抱き込んだプロセッサだと思う方が良い。Cortex-A53を4コアとCortex-R5Fを2コア、GPUまで抱いている。ソフトウェアコアを使えばお得意のMicroBlazeだけではなく、Cortex-M1やCortex-M3をインプリメントできてしまう。
・つまり、マルチプロセッサ+GPU+FPGAという構成で、しかも内部がユーザの好みによって作り込める超絶技巧なワンチップマイコンシステムということ。ここまで凄いものである必要はないけど、一回これで基板を作ってしまったら、コストはともかくできることは山ほどあるな。

5月8日
・セキュアブートのあたりを見ていると、暗号化の話が色々出てくる。「DPA攻撃」なんていうお初にお目にかかるような3文字略語が出てきたので検索してみると、なるほど。暗号破りの手段として、適当なものを放り込んでみて、消費電力や電磁界の変化から推測するという技があるわけか。こんなことまでして盗みたい情報っていうのは相当なものなのだろうな。本当に必要かどうかは別にして、考え方と、その対抗策の仕組みくらいは知っていてもわるくはないか。
・それにしても、延々と勉強漬け。このところの外出抑制で飽きて鹿たいという声もあるようだけど、何もしなくても生活に困らないなら、ずっと勉強していたい気分である。知りたいこと、身につけたいことは山ほどある。

5月7日
・昨日の続き。共有ディスクは駄目ということなのだから。他の適当な場所・・たとえばホームディレクトリ下にワークを作って、ここでやってみればいい。~/workの下でpetalinux-createして、petalinux-configする。今度はどうだ。と、今までがなんだったのかと思うほど簡単に終わった。ここまでくればあとはなんとかなるだろう。system-user.dtsiを編集して、LEDとスイッチはそっちで使うなと禁止して、petalinux-buildを実行。
・なぜか複数のスレッドが起動してビルドしていくようで、画面が面白い。最大8個が同時に動いている。延々と時間がかかってようやく出来上がったので、petalinux-package。これでできあがったBOOT.BIN、image.ub、boot.scrファイルをSDカードにコピーして、ボードに装着。USB経由でターミナルを繋いで、電源ONしたら、ダラダラ・・・とメッセージが流れておぉ!感。そしてしばらくしたらお馴染みの「login:」が出た。ユーザ名がrootでパスワードもrootか。lsしてみると、見慣れたディレクトリ構成。よし、ここまでは開通した。

5月6日
・なぜか、チュートリアルどおりにやっているのに、petalinux-configを行った後のコード生成でエラーが出る。バージョンの問題かと、BSPファイルをダウングレードしても駄目。検索してみると、buildなどのディレクトリを消去したらうまくいったと書かれているものもあったので、試してみたけど駄目。
・何か手順でまちがいがあったのかとやり直したけど駄目。ファイル名が長くなりすぎると駄目だったから、なるべく浅いディレクトリをワークにしたほうが良いという書き込みもあったので、試してみたけど駄目。こんなところで何日潰しているのだろう。
・改めてビルド時のログを見る。じっと見ていると、ハードリンクを作ろうとして失敗しているようだ。なぜリンクを張るのかはわからないけど、とにかくリンクを張れなくて困っていることは確からしい。リンク・・リンク・・・リンク…リンク…
・と頭でリピートしているうちに頭の上にエクスクラメーションマーク(表現が昭和30年代風だな)。そうだ、今のワーキングディレクトリは仮想ディスクの共有フォルダ。そう、VivadoはホストOSにインストールしているので、出来上がったファイルをやりとりするのが簡単だからと、Ubuntuっからはマウントされたフォルダに見えるようにしている。もちろん、ここにリンクファイルを作ることは無理に決まっている。
・それならば話は簡単だ。よし、あしたやってみることにしよう。

5月5日
・PetaLinuxを動かすべく、XilinxのVivado/Vitsのチュートリアルをやってみているけど、これほど酷いチュートリアルというものをいままで経験したことがない。米国のマニュアル文化というのはたいしたもので、よくもまぁこんなに丁寧に作るものだと関心するこが多かったのだけど、これに関しては実に杜撰(ずさん)。まず何をするのかがわからないし、何をしているのかもわからない。そして、大事なところに誤植なのかアップデートを忘れたのかという感じで、エラーメッセージとの格闘技。全部書きなおしてやりたいくらいだな。

5月4日
・「ぽつんと一軒家」を見ていると、子供や孫という、直系血族のつながりを見せられることが多い。なるほど、こんな感じで、子供が成長し、いろいろな経験をして社会人となり、そしてまた小さい命が生まれ・・という、自分と未来のつながりも実感することができるのだろう。来世ではそんな体験ができるのかな。


5月3日
・世の中は連休らしい。カーナビアプリだので、道路の状況を見ると都心脱出組で渋滞しているようだな。こちらは全くと言って良いくらい関係のない生活だけども

5月2日
・Exportしようとしたらエラーになるので、もう一回やりなおしてみる。今度はうまくいったようだ。しかしわかりにくいチュートリアルだな。
・そんなところで、一昨日届くはずだったAmazonに手配したブツ。人が一瞬家を開けた隙に不在通知を入れられた。いや、そもそも置き配の指定をしていたはずなのだけどな。そして、昨日は延々と来ない。結局夜10時くらいになってからようやく置き配していたった。これってどういうんだろうな。結局ヤマト運輸の優秀さが分かるという結果だった。
・そんなこんなでPythonを少し。でも、プログラミング言語って使わないと忘れるんだよな。

5月1日
・なんだか、なんでもかんでもEVと騒いでいるのに、トヨタさんの社長さんが苦言を呈していた。電力不足なことも騒いでいたな。EV推進派に言わせると、家庭で充電できるというのを最大のウリにしているようだけどそんなに都合良くいくのだろうか。
・とりあえず国交省さんの資料で、乗用車だけでも保有台数は概ね5000万台で、自家用乗用車でも走行距離が1万キロ程度。まぁ一日30km程度というところか。電費はだいたい6km/kWhくらいのようなので、一日5kWhほど必要だ。冬場の電気の消費は帰宅するくらいの時間からピークに入るので、電力に余裕ができるのは深夜。もし、5時間かけてのんびり充電するとしてもこの間の消費電力は1kWくらいになる。したがって5000万代では5000万kW。
・一方で、日本の電力消費量はというと、一日の消費電力の推移を見てみると、夏場のピークで1億8千万kWというのより、冬場の深夜の上昇っぷりが目に付く。2018年の1月には深夜の最低の時で1億2千万kWも消費している。ここに5000万kWも上乗せされたら夏場のピーク並になってしまう。
・これは平均的に使われた時の話であり、連休など行楽が多ければその分充電が集中する可能性があるので、かなりマージンをみないといけないだろう。
・更に、ここに商用車や貨物車が上積みされるとかなり危うい。
・EVに舵を切っているように見せているヨーロッパにしても、果たしてこのような電力を供給できるのだろうか。あちらは時差がある分だけマシなのかな?なんとなく裏がありそうだな。
・そんなところでVivadoを改めて動かしてみる。Vivado2020.3でチュートリアルをやってみたら、ZCU102がが出てこない。2020.2でやってみるとちゃんと出てくる。そういうことか。
・で、あらためてやってみるとGenerate Output Productsの段階でエラーが出ている。エラー内容を見てみるとライセンスキーが無いと言っている。おかしいな、コピーしたはずなのにと思って検索をかけたら「Manage Xilinx License」を使って登録するようだ。.licファイルはXilinxの自分のページからもダウンロードできるけど、確か既にダウンロード済みのはず。あったあった。これを指定すれば良いのだな。
・とりあえず、登録して、再度やってみたらエラーは無くなった。
・確かに探しまわればちゃんとドキュメントはあるけど、全体を通して説明しているもおはないのか。更に言えば、知っている人は知っているであろう略語がやたらと多いので、これまた大変。せめて略語一覧位つけておいてくれないものかな。

前月
エース