読者です 読者をやめる 読者になる 読者になる

Tech と Culture

テクノロジーとカルチャー

雑記

FPGAストリームビューワーの文書は準備中です。データの流れ方を図示して、何故ハード化すれば処理をすれば早くなるかがイメージで理解できるようなものを書いています。 ハード化が大きく寄与するアプリケーションと、そうでもないアプリケーションが判断で…

sourceforge 8

バグを取ったものをPUSHしました。 ハフマンデコーダ部分のコードはもう少しシンプルにできますが、 とりあえず、これでリリース。

オンチップデバッグIP

Grlibの中にはLOGANというオンチップデバッグIPコアがあります。 Xilinxで言うところのchipscope のコアのようなものです。見たい信号とLOGANを接続し、LOGAN自体はAPBバスにつないでおくと、GRMONを利用してホストコンピュータからバッファに蓄えられた信号…

ポーティング

自分のFPGAボードにポーティングする方法について私が動作させてみたボードは、GR-XC3S1500(Xilinx), BLANCA(Xilinx), NEEK(Altera)です。それ以外のボードにポーティングする方法 FPGAボードに必要とされる機能 ・XC3S1500 相当もしくはそれ以上のサイズを…

sourceforge 8

BLANCA でも動作確認できました。ブランチ名は、今までと変わらず。

sourceforge 7

ネットワーク(ストリーム再生)にソフトウェアを対応したものをPUSHしました。ブランチ名net-mjpeg これからBLANCAで動作させます。

オープンソースワールド

「オープンソースワールド」という本を読みました。内容はエリック・S・レイモンドのオープンソース3部作を中心として、リーナスやストールマンのインタビュー等を追加したものです。エリック・S・レイモンドの3部作は以下のページで全文を読むことができ…

sourceforge 6

ハフマンデコーダまでハード化したものをPUSHしました。Branch 名hw-huffdctycc Alteraでは完全に動作しますが、Xilinxだと少し画像が乱れる時があります。 XC3S1500の時はRAMを論理合成に推定させないとFPGA内に入らないので、論理合成に推定させていますが…

sourceforge 5

DCT部分までハードウェア化したところまで push しました。branch 名hw-dctupyccこれで、残りはハフマンデコーダのみ

sourceforge 4

upsample, ycc-rgb をハード化したところまで push しました。branch名hw-upyccここから、YCbCr-RGB変換がMCU単位での処理に変わります。続いてDCT部分を清書します。

Sourceforge 3

さらにソースコード清書を進めてPUSHしました。ブランチ名 hw-ycc-devdrv2デバイスドライバで128ピクセルまとめてデータを渡します。 これで、YCbCr-RGB変換のみハード化したものがUP終了です。これから、upsample, 2D-DCT, Huffman-decode を清書して順次PU…

sourceforge 2

ソースコード清書が進んだので、YCbCr-RGB変換のIPコアを接続して、デバイスドライバ越しにムービーを表示するソースコードツリーを git push しました。git clone git://git.sourceforge.jp/gitroot/fpga-leon-mjpeg/leon-mjpeg.git (すでに git clone済み…

Sourceforge

Gitの使いかたにも少しづつ慣れてきたので、FPGA上で動画再生するシステムのソースコードを順次公開していきます。 オープンソースのプロジェクトのホスティングサービス Sourceforge を利用します。http://sourceforge.jp/projects/fpga-leon-mjpeg/がプロ…

雑記

私は、回路設計、レイアウト設計がメインのキャリアですので、ソースコード管理システムは10年以上前に販売していたEDAツールの開発の時に使用して以来、使っていませんでした。今回、LEONシステムを使用して開発しましたが、さすがに管理ツール入れないと厳…

雑記

FPGAボード上でLinuxシステムを動作させるまでがインターフェース誌で記事になりました。 motionJPEGを動作させる部分は、現在準備中です。

Android SDK とBeagleboard-xM の接続

どうやら、AndroidのSDKとBeagleboard-xMが接続できて、そこからアプリを実行できる模様。AndroidのSDKをUbuntuにインストールしました。ここら辺に関してはネット上にもいっぱい情報があります。 ここのページの下部に従って、接続してみます。 Teratermか…

Android アプリの実行 on BeagleBoard-Xm

Androidアプリを実行しようとしたのですが、ブラウザからダウンロードしようとしてもSDカードが無いと言われてしまいます。。。。 Beagleboard-Xmに差し込んでいるmicroSDカードの残りの部分をfroyoに認識させたいのですが、その方法がまだ分かりません。。…

Ubuntu 10 on Beagleboard-Xm

今度はUbuntuを立ち上げてみました。 と言ってもここにのっているプレビルドのイメージをMicroSDに入れただけです。最初SONYのMicroSD 2G に書き込みましたが、カーネルはブートするもののルートファイルシステムを認識できませんでした。FATは大丈夫だけど…

Android2.2 on BeagleBoard-Xm

Beagle BoardでAndroidを動作させたいと思いチャレンジしてみました。 これもオープンソースハードウェア+オープンソースソフトウェアのシステムになります。Androidについて全然知識が無いのですが、大丈夫。オープンソースの場合、大抵誰かエライ人が動作…

beagle board 2

beagle boardに電源入れてみました。 beagle baordには電源が付属していませんので、5V電源が別途必要です(円形のジャックの奴)。 GR-XC3S1500の電源を流用しました。画面の出力端子がHDMIかS-VIDEOしかありません。 そこで、HDMIからDVI-Dに変換するコネク…

beagle board

Beagle board到着しました。WEBで注文して商品が入荷するまで少し時間がかかりましたが、アメリカのdigikeyから発送されたあとは、3日で到着です。本当に世界は狭くなったなー。 緩衝材の入った箱を開けると中に小さな箱が。。。箱からして小さい。 出して…

雑記

まとめ中です。 雑誌の記事書くのはブログと違って後から修正できないので、結構神経を使います。。。LEONシステムは、所謂オープンソースハードウェアと言われるものの一種です。 同じようにRTLソースコードを公開する活動は、OpenCoresやOpenSPARC等が有名…

雑記

まとめ中で更新が無くなってました。広告が表示されるようになってしまったのでUPしておきます。某雑誌の記事になる予定です。

Leonシステム FPGAマッピングとLinuxブート まとめ

以上でLEONシステムをGR-XC3S-1500にマッピングしてLinuxをブートできました。 Blog形式だと読みにくいので、次のアドレスに上から順番に並べ替えて置いています。LEONシステムFPGAマッピングとLinuxブート公式サポートボードではない場合、似たFPGAを用いた…

LEONシステム Linuxコンパイル GR-XC3S-1500(Xilinx)編 2

kernel コンフィグレーションのGUIが立ち上がりました。 上の方の General machine setup の中に Grlib:Amba device driver configurationという項目が見えます。 そこをクリックすると、 /proc filesystem for ambaにチェックが入っていることが分かります…

LEONシステム Linuxコンパイル GR-XC3S-1500(Xilinx)編 1

ハードウェアのマッピング終了したので、このエントリからLinuxのバイナリーイメージの生成に入ります。基本的にgaisler researchのHPからダウンロードした snapgear linuxをコンフィグレーションしてmakeするだけでバイナリーイメージを生成することができ…

LEONシステム FPGAマッピングとGRMON通信 GR-XC3S-1500(Xilinx)編

次はFPGAマッピングです。これまでの作業と同じく、LEON/grlib-gpl-1.0.22-b4095/designs/leon3-gr-xc3s-1500 のディレクトリで作業を行います。まず、ISEへのパスが通っているか確認します。パスが通っていない場合は、 source /opt/Xilinx/11.1/settings32…

LEONシステム トップ検証 GR-XC3S-1500(Xilinx)編

これまでの設定で、トップモジュールRTL leon3mp.vhd が完成しました。 今回はIPをつなぎ変えたりはしていませんが、IPを付けたり外したりした場合にはその接続の検証が必要になります。 それをコンフィグレーション終了後に行います。ここではGHDLを用いてR…

LEONシステムのコンフィグレーション GR-XC3S-1500(Xilinx)編 5

USBに関する設定GUIが立ち上がります。 USBはコマーシャルライセンスのみですので使用できません。 Nextボタンをクリックします。UART,Timer,割り込みコントローラ, GPIOに関する設定GUIが立ち上がります。 Linuxをブートしたときにコンソール出力をUARTにし…

LEONシステムのコンフィグレーション GR-XC3S-1500(Xilinx)編 4

メモリコントローラの設定GUIが立ち上がります。 Leon2メモリコントローラGUIが立ち上がりますのでそのまま Next ボタンを押します。 様々なバスタイプを設定できるようになっています。ここもすでにGR-XC3S-1500のメモリに合わせてデフォルト設定されていま…

LEONシステムのコンフィグレーション GR-XC3S-1500(Xilinx)編 3

まず、AMBAバスそのものの設定GUIが立ち上がります。 デフォルトAHBマスターは0番、アービターはラウンドロビン、split, retryは使わない等の設定を行っています。 ここもこの設定のまま、Nextボタンを押します。Debug Linkに関する設定GUIが立ち上がります…

LEONシステムのコンフィグレーション GR-XC3S-1500(Xilinx)編 2

MMUのコンフィグレーションに関する設定GUIが立ち上がりました。 MMU有り無しを選ぶことができます。Linuxを動かすためにはMMUは必ず必要ですからここではEnable MMUはYにします。 (MMU無しの場合は、uClinuxというMMU無しのシステムのための特殊なlinuxを使…

LEONシステムのコンフィグレーション GR-XC3S-1500(Xilinx)編

必要なソフトウェアのインストールが終わったら、LEONシステムのコンフィグレーションを行います。cd designs/leon3-gr-xc3s-1500でボード用の開発ディレクトリに移動します。 このディレクトリには、Makefileが準備されていて、必要な作業はMakeコマンドで…

必要なソフトウェアのダウンロードとインストール GR-XC3S-1500(Xilinx)編

FPGAにLEONシステムをマッピングして、Linuxをブートさせるために必要なソフトウェアをインストールします。 GRLIBは様々なEDAツール等をサポートしていますが、ここでは最低限のものをインストールします。 このエントリはXilinx FPGAを用いた場合です。使…

GRLIBソースコードのダウンロードとディレクトリ構造

まず最初にソースコードをダウンロードしてきます。 gaisler research の HPのdownloadコーナーより、GRLIBをダウンロードします。LEON3 もGRLIBの中の一つとして含まれています。今現在のダウンロードファイル名は、 grlib-gpl-1.0.22-b4095.zip です。 (…

Leon Processor について

MIGの調査は継続中です。 このBlogにLEON processor導入部分の記事が無いために実際に使ってみることにハードルがあるようです。 これから数回に渡って LEON processor をとりあえず動かすための情報をUPしていこうと思います。FPGAにLEONシステムをマッピン…

Xilinx MIG 1

altera の NEEK では、イーサネット機能なしで、ファイルからmotionJPEGを読み込んで表示させることはできそうだという感じがつかめたので、次は xilinx の SP605 について調査してみようと思います。SP605は spartan6が載っている、非常にコストパフォーマ…

Leon BBS

Leon users has active BBS. Go to LEON BBS This entry's contents is written for discussion of Leon BBS. I analysis structure of false-path net. Altera quartus version is 10.0 .I found critial warninng message related to these false-path. Bu…

OpenCV を使ってみました

どうもソースコードの清書がやる気が起きない。。。 という訳で、ちょっと気分転換に今流行りのOpenCVをいじってみました。Visual C++ と、OpenCV2.1をダウンロードしてくると簡単に付属しているプログラムが動作しました。「Open CV プログラミングブック」…

ボード検討

デバッグにChipscopeのライセンスが必要、かつ現在のボードの使用率いっぱいいっぱいということでボードの検討などをしてみました。Leon3はXilinx,Altera,....多数のテクノロジーで動くようなソースコード記述がなされています。その中でも、$GR_HOME/design…

米著作権庁の発表

非常に大きなニュースが飛び込んできました。 米著作権庁 合法利用の範囲を大幅拡大日本では、iPhoneのjailbreakがグレーゾーンから合法になったというニュアンスで報じられていますが、そんなに単純な話ではありません。数年後のハイテク業界の勢力図に大き…

エントリ公開します。

jpegファイルによっては画像が乱れるというバグがまだ残っているのですが、とりあえず当初考えていたネットワークmotionJPEGビューワが動作したので、大きな間違いはないだろうと思って過去のエントリも公開します(データパスのビット幅等、これから文章見直…

ネットワーク上のmotionJPEG再生

サーバー側の準備が整ったので、クライアント側を考えます。FPGA上のプログラム djpeg で、ソケットをきちんと作成すれば、後は普通にファイルを読むようにデータをネットワーク越しに読み込めるはず。以下のようなシステムが動くはずです。 djpegの中で、フ…

ffserver

とりあえず簡単な通信ができるようになりました。いろいろHPを眺めていると、どうやらデータを送信するときには全てを一度に送れなかったりすることがあるようです。そこら辺もプログラムしても良いのですが、今回はサーバー側のプログラムは自作せずにffser…

TCP/IP 通信

せっかくLinux上でシステムが動いていますのでネットワークで通信させたいと考えて、TCP/IPのソケット通信について勉強してみました。geekなページ ネットワークプログラミングの基礎知識二つのHPを参考に勉強しました。サーバのIPアドレスを指定してソケッ…