ぼくの技術日誌

日誌って銘打っていますが、更新頻度が…

Zynq PSのGPIO割り込みを扱うスタンドアロンのプログラム

以前、Zynq PLのGPIO割り込みを扱うスタンドアロンのプログラム - ぼくの技術日誌としてPLのGPIO割り込みを処理するスタンドアロンプログラムを紹介しました。
今回はPS側のスタンドアロンプログラムをメモしておきます。

ZedBoard --> Zynq-7000 All Programmable SoC - Xilinx: PRACTICA # 16 INTERRUPT GPIO -> PS (Processing System)

実際にXilinx SDK 2015.4で動作を確認しました。

このBlog、ほかにもI2CやSPIなど様々なサンプルプログラムが紹介されていて、大変有用そうです!

ぼやき

4月頃は頑張ってBlogの記事を書いてたんだけど、見てのとおりで最近更新できてません…
春先は「今年はZynqとLinuxを主軸に頑張るぞ!」と息巻いていたのに。

5月に出たVivado 2016.2とPetaLinux SDK 2016.2もリリース直後から情報はみているけれど、環境更新もできてません。
リリースノートの感じではZynq MPSoC対応が主なので、「僕にはあんまり関係ないだろうし良いかなー」
と思ってますが、Linux Kernelはアップデートしておくのが良さそうだから、やっぱり更新するのがいいかな。

XilinxGithubにmeta-petalinuxというリポジトリができているのも少し気になっている。
見た感じ、YoctoのPetaLinux版(というかPetaLinux自体Yoctoベースなわけですけれど。)みたい。
パッケージの追加ができそう。
Yoctoも出始めた時にビルドだけしてみて終わっている。FPGAマガジンやInterfaceでもたまに取り上げられているし、
触っておきたいんだけれど。これはもっと後になりそう…

また、Linuxデバイスドライバを自作できるようになりたいと思って色々調べていたけれど、それも休止中…
Userspace I/Oを使ってみたり、自作Platformドライバを使ってGPIO割り込みをユーザー空間で検出するというのはやって(なんとなく)できた。
Platformドライバについては整理してちゃんと自分の知識として吸収したいが、もう3ヶ月程が経過して忘れてきている…

ZynqについてもPLを扱えるようになったらできることの幅が広がって楽しそうなんだけれど、VHDL本を積じゃってる。
HLSやSDSoCなんかも気になっているけれど、イマイチ漠然としていているまま。

VisualStudio2015とVisual C++ for Linux Developmentを使ってみる

はじめに

最近、Microsoftが公開したVisualStudio向けLinuxアプリ開発アドオン、Visual C++ for Linux Developmentを使ってみました。
既に詳細な解説をしてくださっている方が多いので、今回はリンクをまとめておく程度で。

なお、こちらの実行環境は下記のとおりです。

環境構築

下記リンク先に従ってVisual Studio Community 2015とVisual C++ for Linux Developmentをインストールすれば、Visual StudioLinuxアプリのデバッグ実行ができます。

Visual C++ for Linux Development | Visual C++ Team Blog

Visual C++ for Linux and Raspberry Pi Development - Scott Hanselman


実行環境となるLinuxにg++とsshサーバーをインストールさせているあたり、ssh経由でLinux上でプログラムをビルドさせているような気がします。
Visual Studioにてプロジェクトのプロパティを見てみると、コンパイラ設定の欄(構成プロパティ->General->Platform Toolset)が「Remote_GCC_1_0」と書いているあたりからもそう思えます。
また、ゲストとホストで実行ファイルが生成される様子をウィンドウを並べてみてみると、ゲスト→ホストの順に実行ファイルが生成されていました。

はまりどころ

/usr/includeの補完が効かず、これでは本格的に使えないかなーと思っていたら、sambaで共有することで解決されている方がいました。
ありがとうございます!
詳細は下記リンク先の「おまけ」をご覧ください。

[メモ] Visual C++ for linux Development でOpenGL - Qiita

さいごに

gccが無い環境でもデバッグするために、「仮想Linuxでクロスコンパイル」→「ターゲット上でデバッグ実行」ができるなら、Visual Studioを積極的に使ってみたいと思います。

VMware FusionでUbuntuを使う場合のテキスト入力設定

僕はMac Bookでは仮装化ソフトにVMware Fusionを使っています。
しかし、VMware FusionUbuntuを使っているものの、「|」や「_」のような記号を入力できずにいました…不便過ぎ…

使っているMacはキー配列が日本語なので、これが原因で正しく入力ができないのではと思って諦めかけていましたが、やっと答えにたどり着きました!!

Ubuntuのテキスト入力で使用するソースに「日本語(かな86)」を選べば良い。

Macbook AirにVmware Fusionを使ってUbuntuの仮想マシンを立ち上げる方法 - MyEnigma

情報を掲載してくださったAtsushi様、ありがとうございました!

Zynq PSのUART0を有効化してPetaLinuxで使う

はじめに

ZynqのPSにはUARTが2つ入っています。
Linuxを使用する際にはこのUART1をブートログとコンソールの入出力に使用してるのですが、残り1つを使っていないのは勿体ないですね。
というわけで、今回PSに残るUART0を使用してみました(PLにUARTを作るのはやったことない…)。

続きを読む