FC2カウンター FPGAの部屋 Linux

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

FPGAの部屋

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

ZYBOのUbuntuでMicro SDのMS DOSの第1パーティションをマウントする

ZYBO で動作しているUbuntu でMS DOS(FAT フォーマット)第1パーティションをマウントできて書き換えられれば、Micro SDカードを外さなくてもBOOT.bin や devicetree.dtb などを書き換えて、再度ブートすることでハードウェアの環境を書き換えることができるだろう?ということでやってみた。

まずは、lsblk でMicro SDの各パーティションの情報を見た。
ZYBO_Ubuntu_mount_1_170113.png

マウント用のディレクトリ zybo_boot を /mnt の下に作成した。mkdir zybo_boot
ZYBO_Ubuntu_mount_2_170113.png

mmcblk0p1 がマウントしたいMS DOS のFATフォーマットのドライブのようだ。これの実体は /dev にあった。
ZYBO_Ubuntu_mount_3_170113.png

起動時に実行される /etc/rc.local にマウント コマンドを書く。 vi /etc/rc.local
ZYBO_Ubuntu_mount_4_170113.png

/etc/rc.local に mount -t vfat -o rw /dev/mmcblk0p1 /mnt/zybo_boot コマンドを書いた。
ZYBO_Ubuntu_mount_5_170113.png

これで、reboot すると、/mnt/zybo_boot にMicro SDカードの第1パーティションのドライブがマウントされた。
ZYBO_Ubuntu_mount_6_170113.png
  1. 2017年01月13日 17:30 |
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

Linux の C 言語でノンブロッキングキー入力をする

Linux の C 言語でノンブロッキングキー入力をする方法を探していたのだが、「mfumiの日記」さんの「Cでnon-blocking IO」に書いてあったコードで見事、ノンブロッキングキー入力ができました。ありがとうございました。

私のコードではキー入力が見えた方が良いので、エコーバックは除いていないです。
このノンブロッキングキー入力のコードは、「2台の Zybot での隊列走行5(追従走行を試してみた)」の platoon_car1.cpp で使っていて、うまく動いています。
  1. 2016年12月01日 20:34 |
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

FPGA GO のXiltera ディストリビューションをビルドした

FPGAマガジンNo.12の「第4章 共通カスタムLinuxディストリビューションの開発」をやってみた1”でXiltera のビルドに失敗したので、ひでみさんのFPGA GO の 24 ページの Xiltera ディストリビューションをビルドしてみることにした。

ただし、、ひでみさんのFPGA GO では、Ubuntu 16.04 を使用していたが、私が使用しているのはUbuntu 14.04 だ。

最初の 28 ページの下準備は”FPGAマガジンNo.12の「第4章 共通カスタムLinuxディストリビューションの開発」をやってみた1”でやったのでパスした。

repo もすでにインストールされている。Ubuntu 14.04 では apt-get では repo のパッケージがなかった。

git clone git://github.com/aquaxis/build-xiltera.git
cd build-xitrea
を行った。
XA_Linux_build_8_161108.png

./bulid-xiltera.sh を行った。
XA_Linux_build_9_161109.png

エラーが出て進まない。やはりUbuntu 14.04 ではダメなのかな?
  1. 2016年11月12日 04:28 |
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

FPGAマガジンNo.12の「第4章 共通カスタムLinuxディストリビューションの開発」をやってみた1

FPGAマガジンNo.12 ARMコアFPGA×Linux初体験」の「第4章 共通カスタムLinuxディストリビューションの開発」をやってみることにした。
きっかけは、「Intel SoC FPGA デベロッパー・フォーラム」でDE0-Nano-SoC をもらってしまったので、何かやらねばということで、沿いう言えばひでみさんの記事のZynq とSoC FPGA 両対応でブートできるSDカードをやってみたかったんだっけ?ということで、試しにやってみることにした。
なお、売り物の記事の内容を実行してみているので、具体的な手順ははっきりと示さない。やってみたいと思ったら、FPGAマガジンNo.12 を購入してやってほしい。

環境はWindows 10 でVirtualBox 5.1.8 を動かして、そこにUbuntu 14.04 LTS を動作させている。それ上でビルドしている。

最初に49 ページ左カラム真ん中のYocto Project のビルドで必要なツール類をインストールした。
XA_Linux_build_1_161103.png

49ページ左下のrepo コマンドをダウンロードしたところだ。
XA_Linux_build_2_161103.png

図5 の repo sync が終了した。
XA_Linux_build_3_161103.png

図5 の cd poky; ls が終了したところだ。
XA_Linux_build_4_161103.png

49 ページ真ん中の ls conf が終了した。
XA_Linux_build_5_161103.png

Linux ディストリビューションのレシピ名を表示した。
XA_Linux_build_6_161103.png

図6 のcd tmp/deploy/sdk できなかった。tmp ディレクトリの下は cache しかなかった。
XA_Linux_build_7_161103.png

困ったな。どうしよう?
善後策を考える。
  1. 2016年11月03日 07:58 |
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

ZYBO 上のUbuntu 14.04 LTSで Geneay を使ってプログラミングをする

ZYBO 上のARM Cortex-A9 上のDigiletn Linux + Ubuntu 14.04 LTSで Zybot などの開発をしている。
ZYBO 上で エディタを起動してC, C++ などのソフトウェアを作っているが、いままでエディタには、gedit や gvim などを使ってきた。
どうも gedit も gvim も使いにくいので、もっと良いエディタがないかをネットで探したら、Geany が使えるということだった。

早速、sudo apt-get install geany で Geany をインストールしてみた。
Windows でも Geany を使っていたので、使いやすい。。。しかも、終了時のファイルを覚えているので、やりやすい。文字の補完もできるので、いうことなしだ。これを使うことにした。
Geany_1_160805.png

なお、上の画面は、ZYBO 上のLinux から X を Xming でWindows 上のウインドウに持ってきて表示している。
これで、自分のパソコンからZYBO のプログラミングが快適にできそうだ。
  1. 2016年08月05日 08:34 |
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

ZYBO をUbuntu 14.04 LTS にアップグレードした場合のエコーバック

ZYBO のRoot File System には、Linaro のUbuntu 12.10 Root FS を入れている。(Vivado and zybo linux勉強会資料3)
Ubuntu 12.10 をUbuntu 14.04 LTS にアップグレードしているのだが、アップグレードした当初は問題ないのだが、
apt-get update
apt-get upgrade
した後でTera Term などのシリアルポート経由のターミナルで、自分でタイプしたコマンドがターミナル上で表示されないという不具合があった。その解決方法を @YuuichiAkagawa さんに教えて頂いたので、書いておく。 @YuuichiAkagawa さん、ありがとうございました。

それは、「CTRL+D」キーを押して、再度、自動ログインすることだ。再度、自動ログインするとエコーバックされるようになった。
Ubuntu1404_echoback_1_160213.png
  1. 2016年02月13日 03:42 |
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

ZYBO 上にインストールしたEclipse でHello World

ZYBO の Ubuntu 14.04 LTS に GDB のGUI フロントエンドをインストール2(Eclipse をインストール)”で ZYBO に Eclipse をインストールしたので、Hello World ができるかどうか?試してみた。

ターミナルから eclipse & でEclipse を立ち上げた。

Workspace Launcher が開いた。Workspace を指定した。
Eclipse_1_160211.png

Eclipse が起動した。
Eclipse_2_160211.png

File メニューから New -> Projcet を選択した。
Eclipse_3_160211.png

New Project ダイアログが表示された。C/C++ -> C Project を選択して、Next > ボタンをクリックした。
Eclipse_4_160211.png

C Project ダイアログで、Project type で Hello World ANSI C Project を選択して、Toolchains から Linux GCC を選択した。Next > ボタンをクリックした。
Eclipse_5_160211.png

Basic Settings はそのまま Next > ボタンをクリックした。
Eclipse_6_160211.png

Select Configuration で、Finish ボタンをクリックした。
Eclipse_7_160211.png

Open Associated Perspective ダイアログが表示された。Yes ボタンをクリックした。
Eclipse_8_160211.png

見慣れたウインドウが表示された。
Eclipse_9_160211.png

Welcome 画面を閉じた。

そう言えば g++ をインストールするのを忘れていたので、
sudo apt-get install g++
でインストールした。
Eclipse_10_160211.png
Eclipse_11_160211.png

プロジェクトをビルドしよう。
Project メニューから Build Project を選択した。
Eclipse_12_160211.png

ビルドが成功して、Hello_World バイナリが生成された。
Eclipse_13_160211.png

Hello_World バイナリを実行してみよう。
Hello_World バイナリを右クリックし、右クリックメニューから Run As -> Local C/C++ Application を選択する。
Eclipse_14_160211.png

下のConsole に「!!! Hello World !!!」が表示された。
Eclipse_15_160211.png

Debug パースペクティブも試してみたが、問題ない。
Eclipse_16_160211.png

Eclipse で行こうと思ったのだが、少しやっていると、下に示すようにkswapd0 の負荷が重くなって、ターミナルの応答も重くなってしまう。。。やはり負荷が重いのかもしれない。メモリが 1GB あれば良いのだが。。。
Eclipse_17_160211.png

ということで、結局、CUI 上で gdb を使うことにした。だいぶ回り道してしまったね。。。
  1. 2016年02月12日 05:28 |
  2. Linux
  3. | トラックバック:0
  4. | コメント:0
»