Terasic - Altera DE0 BoardをDigikeyで発注しました。
送料込みで$149。
「uClinuxを載せてみたい。」と考えています。
そう言えば某セミナで出会った同世代のエンジニアがそんなことを言っていました。
今まではこちらが至らなかったという感じ。やっと彼とも話ができそうです。
まずは実行してからですね。
2010年7月29日木曜日
2010年7月25日日曜日
Full auto bubbles maker
Full auto bubbles maker is a machine for creating bubbles.
If you love to create bubbles, this is great (and cheap) solution. :)
I used just 2 components for it.
Enjoy with your kids!
If you love to create bubbles, this is great (and cheap) solution. :)
I used just 2 components for it.
- 4-SPEED CRANK AXLE (TAMIYA) with 3[V] DC power.
- FAN
Enjoy with your kids!
2010年7月23日金曜日
How to use Eagle3D
Sometime we need to check a view of own boards.
We have 2 choices for it.
I tried to use the Eagle3D with EAGLE 5.10.0 and POV-Ray 3.6.
Enjoy with your board!
We have 2 choices for it.
- Use "Eagle meets SketchUp". http://eagleup.wordpress.com/
- Eagle ULP
- ImageMagick
- Google SketchUp
- Use "Eagle3D". http://www.matwei.de/doku.php?id=en:eagle3d:eagle3d
- Eagle ULP
- POV-Ray
I tried to use the Eagle3D with EAGLE 5.10.0 and POV-Ray 3.6.
- Download POV-Ray from http://www.povray.org/download/
- Download Eagle3D from http://www.matwei.de/doku.php?id=en:eagle3d:eagle3d
- Install these software.
- Open your board on EAGLE.
- Choose the Eagle3D ulp named 3d41.ulp. The location is %PROGRAMFILES%\Eagle\ulp\Eagle3D. It's for EAGLE Version 4.1. But it works with current version of it.
- Select a few parameters and run it.
- Open a destination file with POV-Ray. The extention is ".pov".
- Press 'run' button. Some include files for POV-Ray are needed. It's located in %PROGRAMFILES%\Eagle\ulp\Eagle3D\povray.
- Check your board image.
Enjoy with your board!
2010年7月22日木曜日
TOPPERS/ASPのコンフィギュレータをUbuntu 10.04上でコンパイルする
TOPPERS/ASPのコンフィギュレータをUbuntu 10.04上でコンパイルするには
ビルドを行うと・・・
こんな感じでエラーが出るかもしれません。
ldconfig -p |grep boost_program_optionsでライブラリを確認します。
/usr/libに行ってsudo ln -s libboost_program_options-mt.so.1.38.0 libboost_program_options-mt.soでlibboost_program_options-mt.soへのシンボリックリンクを作成します。
これでコンフィギュレータのビルドは通ります。
- boostライブラリを予めインストールしておいて下さい。sudo apt-get install 'libboost*-dev'
- export LIBBOOST_SUFFIX=-mt; export BOOST_DIR=/usr/include/boostls
ビルドを行うと・・・
g++ -o cfg cfg.o cfg0.o cfg1.o cfg2.o cfg3.o ../toppers/itronx/libitronx.a ../toppers/libtoppers.a -lboost_filesystem-mt -lboost_program_options-mt
/usr/bin/ld: cannot find -lboost_program_options-mt
collect2: ld returned 1 exit status
make: *** [cfg] エラー 1
こんな感じでエラーが出るかもしれません。
ldconfig -p |grep boost_program_optionsでライブラリを確認します。
libboost_program_options-mt.so.1.38.0 (libc6) => /usr/lib/libboost_program_options-mt.so.1.38.0
libboost_program_options-mt-d.so.1.38.0 (libc6) => /usr/lib/libboost_program_options-mt-d.so.1.38.0
libboost_program_options-mt-d.so (libc6) => /usr/lib/libboost_program_options-mt-d.so
/usr/libに行ってsudo ln -s libboost_program_options-mt.so.1.38.0 libboost_program_options-mt.soでlibboost_program_options-mt.soへのシンボリックリンクを作成します。
これでコンフィギュレータのビルドは通ります。
2010年7月21日水曜日
現在のフォーカス
現在のフォーカスはCortex-M3にOSを載せるというところです。
2は持ち運びに便利なmbedを使ってデモしたいために実現します。
3は何だかんだ言ってもTOPPERS/ASPに興味があるから。
- STM32/Cortex-M3でFreeRTOSを稼働させる。
- mbed NXP LPC1768でFreeRTOS開発環境を整える。
- STM32/Cortex-M3でTOPPERS/ASPを稼働させる。
2は持ち運びに便利なmbedを使ってデモしたいために実現します。
3は何だかんだ言ってもTOPPERS/ASPに興味があるから。
2010年7月20日火曜日
SG12864A with mbed NXP LPC1768
もう随分前に購入して死蔵していた128x64ドットのモノクロLCDのライブラリを書くためにmbedを使用しました。
以下のようなインターフェースを用いて簡単に使えます。
このバッファがあることで
ライブラリは Users » shintamainjp » Published programs » SG12864A に置きました。
何かの参考になれば幸いです。
現在のところハードウェアインターフェースの部分は抽象化していませんが、他のプラットフォームで使う際に再考したいと思います。
以下のようなインターフェースを用いて簡単に使えます。
- インスタンスを生成する。ピン配置はヘッダファイルを見て下さい。
- SG12864A lcd(p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18);
- リセットする。
- lcd.reset();
- バッファをクリアする。
- lcd.bufferClear(reverse);
- バッファに線を描画する。
- lcd.bufferDrawLine(0, 0, SG12864A::PIXEL_X - 1, SG12864A::PIXEL_Y - 1);
- バッファに文字を描画する。
- lcd.bufferDrawString(1, 1, "This is a test #1.");
- バッファにチェックボックスを描画する。
- lcd.bufferDrawCheckbox(50, 50, 60, 60, true);
- バッファにプログレスバーを描画する。
- lcd.bufferDrawProgressbar(10, 10, 118, 20, min, max, val, true);
- バッファの内容を表示に反映させる。
- lcd.bufferPush();
このバッファがあることで
- 重ねて描画したい時にLCDからデータを読みなおさなくて良い。
- 描画指令毎にI/Oしなくて済む。
- ページ概念の追加などの拡張対応が可能。
ライブラリは Users » shintamainjp » Published programs » SG12864A に置きました。
何かの参考になれば幸いです。
現在のところハードウェアインターフェースの部分は抽象化していませんが、他のプラットフォームで使う際に再考したいと思います。
OpenOCDのバグ(レポートとその対応について)
先日STM32の開発環境をUbuntu上に構築する過程で、OpenOCD開発版のバグを2つほど見つけました。OpenOCDのTracにレポートを出しておきましたが、先ほど2つ目のバグも修正されたようです。
1はgcc 4.4.xでビルドが通らないバグ。別のヘッダファイルで定義したものを使うように修正されています。レポートを出した次の日にさっさと直されていたので「だったらお前が直せよ。」ということでしょうか。
2はJTAGkey2Pのコンフィギュレーションが存在しないというもの。「2P版用の新しいコンフィギュレーションファイルinterface/jtagkey2p.cfg」が追加されました。Amontecのラインナップを見ると確かにこちらの対応のほうが良いでしょう。ちょっと名前が紛らわしいのですが。
JTAGkeyは亜種が各種出回っていますし、純正を使っている方は少ないようです。
こういったコンフィギュレーションファイルは、アプリケーションの導入時に重要な役割を果たします。
ある特定の製品の名を名乗る限り、純正品で正しく動作するのが大前提です。
今回のレポートはそういう意味で出しておいて良かったです。
今後世界中の人が自分のコンフィギュレーションファイルを記述しなくて済みますから。
今回レポートした2つのバグ?はいずれも些細な事ですが、「使ってみよう」と思うけど「動かなかったら諦める」 という人にとっては致命的です。特にツールの導入時点でのこの手の障壁は何をやっているのかわからなくなります。今後も是非積極的にプロジェクトに寄与したいところです。
Linux上でJTAGkey2Pを使おうと思ってうまく動作しなかった経験のある方は、最新版をgitリポジトリからダウンロードして再度お試し頂ければと思います。
1はgcc 4.4.xでビルドが通らないバグ。別のヘッダファイルで定義したものを使うように修正されています。レポートを出した次の日にさっさと直されていたので「だったらお前が直せよ。」ということでしょうか。
2はJTAGkey2Pのコンフィギュレーションが存在しないというもの。「2P版用の新しいコンフィギュレーションファイルinterface/jtagkey2p.cfg」が追加されました。Amontecのラインナップを見ると確かにこちらの対応のほうが良いでしょう。ちょっと名前が紛らわしいのですが。
JTAGkeyは亜種が各種出回っていますし、純正を使っている方は少ないようです。
こういったコンフィギュレーションファイルは、アプリケーションの導入時に重要な役割を果たします。
ある特定の製品の名を名乗る限り、純正品で正しく動作するのが大前提です。
今回のレポートはそういう意味で出しておいて良かったです。
今後世界中の人が自分のコンフィギュレーションファイルを記述しなくて済みますから。
今回レポートした2つのバグ?はいずれも些細な事ですが、「使ってみよう」と思うけど「動かなかったら諦める」 という人にとっては致命的です。特にツールの導入時点でのこの手の障壁は何をやっているのかわからなくなります。今後も是非積極的にプロジェクトに寄与したいところです。
Linux上でJTAGkey2Pを使おうと思ってうまく動作しなかった経験のある方は、最新版をgitリポジトリからダウンロードして再度お試し頂ければと思います。
FreeRTOS for STM32F103 with gcc 4.4.x. (It don't use any evaluation software. It is based on open source software.)
A few days ago, I was checked with 'LED toggle demo program' on CQ-STARM board.
The board has STM32/Cortex-M3. It's not so good example.
(Hey! It's 32 bits MPU! Why don't you use the power of it!)
So, I decided to port FreeRTOS to the board.
http://www.freertos.org/
The clock is 72M[Hz], It can be pracical application.
The design of FreeRTOS is great.
It is easy to port to another platform.
Many demo projects in FreeRTOS uses evaluation software.
(e.g:Rowley CrossWorks, IAR, Keil, Red Suite)
So many users don't like evaluation software I know.
You can try this port if you don't like use it.
The concept is 'Our environment should be free'.
(Download from here)
I hope to your helps!
The board has STM32/Cortex-M3. It's not so good example.
(Hey! It's 32 bits MPU! Why don't you use the power of it!)
So, I decided to port FreeRTOS to the board.
http://www.freertos.org/
The clock is 72M[Hz], It can be pracical application.
The design of FreeRTOS is great.
It is easy to port to another platform.
Many demo projects in FreeRTOS uses evaluation software.
(e.g:Rowley CrossWorks, IAR, Keil, Red Suite)
So many users don't like evaluation software I know.
You can try this port if you don't like use it.
- The environment is Ubuntu 10.04 with open source software.
- It don't use any evaluation software. I don't like it :)
- The demo project oriented from CORTEX_STM32F103_Primer_GCC.
The concept is 'Our environment should be free'.
(Download from here)
I hope to your helps!
2010年7月18日日曜日
CQ-STARMでFreeRTOSを動作させる。(arm-none-eabi-gcc)
先日の時点でCQ-STARMでLEDをチカチカさせることは確認済みです。
せっかくSTM32/Cortex-M3が搭載されている基板なのですから、これだけでは楽しくありません。
そこで調子に乗ってFreeRTOSの最新版をこの基板で動作させることにしました。
http://www.freertos.org/
クロックは72M[Hz]ですから、かなり実用的なアプリケーション開発ができそうです。
FreeRTOSは、その優れた設計思想のおかげでかなり楽にポーティングが可能なOSとなっています。昨夜から始めたポーティング作業が完了したのでファイルにまとめてアップロードしておきます。
何かの参考になれば幸いです。
ダウンロードはこちらから(Download from here)
オープンソースソフトウェアを中心に構成した開発環境では情報が分散しがちです。
ダウンロード先にファイルが何らかのヒントになれば幸いです。
せっかくSTM32/Cortex-M3が搭載されている基板なのですから、これだけでは楽しくありません。
そこで調子に乗ってFreeRTOSの最新版をこの基板で動作させることにしました。
http://www.freertos.org/
クロックは72M[Hz]ですから、かなり実用的なアプリケーション開発ができそうです。
FreeRTOSは、その優れた設計思想のおかげでかなり楽にポーティングが可能なOSとなっています。昨夜から始めたポーティング作業が完了したのでファイルにまとめてアップロードしておきます。
何かの参考になれば幸いです。
- ポーティングはUbuntu 10.04上にオープンソースなソフトウェアのみで行いました。
- 制限の付いた商用ツールなどは使っていません。(あまり使う気になれない。)
- DemoはCORTEX_STM32F103_Primer_GCCを元にしています。
ダウンロードはこちらから(Download from here)
オープンソースソフトウェアを中心に構成した開発環境では情報が分散しがちです。
ダウンロード先にファイルが何らかのヒントになれば幸いです。
2010年7月17日土曜日
B057 : mp3 player kit
先日のSTM32開発環境構築と共に進めていたmp3 player kitについての仕様を詰めてみます。
今考えているのはちょうどB046 : uMP3PLAYERとB051 : WAV MODULEを混ぜたような内容。
B046の液晶表示器は扱いづらかったのでそれを変更し、B051のオーディオ出力を付けたような感じになると思います。
今考えているのはちょうどB046 : uMP3PLAYERとB051 : WAV MODULEを混ぜたような内容。
B046の液晶表示器は扱いづらかったのでそれを変更し、B051のオーディオ出力を付けたような感じになると思います。
- mp3ファイルなどをmicroSDカードから再生できる。
- LCDに再生状況を表示できる。
- 赤外線リモコンで制御できる。
- 時計機能が付いていて目覚ましmp3プレイヤーとしても機能する。
- ステレオスピーカ内蔵でアンプいらず。
- プラスチックケースに入っていて扱いやすい。
2010年7月16日金曜日
STM32/Cortex-M3 HOWTO: Development under Ubuntu.
STM32/Cortex-M3の開発環境は有償無償を問わず様々な環境を用意可能です。
最近の国内雑誌はベンダーと手を組んで有償のツールを紹介するような内容が多く見られます。
それはそれで良いのですが、妙な制限が付いていたり、なんだか気持ちの悪いツールを使うように説明してあったりで、手放しに喜んで使う気にはなれないのが現状です。
そこで今回は STM32/Cortex-M3 HOWTO: Development under Ubuntu. を参考にUbuntu 10.04上で環境を構築してみました。
何かの参考になればということで、環境構築用のスクリプトとOpenOCDの設定ファイル、それにLEDチカチカプログラムをまとめてファイルにして置いておきます。
ほぼ備忘録ですが、これからちょくちょく環境整備についてもまとめていこうと思います。
オープンソースの場合、バージョンによって大きく動作が変わったり、それに伴って情報が断片的になったりします。こういった時、断片的な情報を集めて整理することで問題を突き止める事ができる場合があります。ダウンロード用のファイルもそういった用途のために設置してあります。完全な動作を保証するためのものではありませんのでご了承ください。
最近の国内雑誌はベンダーと手を組んで有償のツールを紹介するような内容が多く見られます。
それはそれで良いのですが、妙な制限が付いていたり、なんだか気持ちの悪いツールを使うように説明してあったりで、手放しに喜んで使う気にはなれないのが現状です。
そこで今回は STM32/Cortex-M3 HOWTO: Development under Ubuntu. を参考にUbuntu 10.04上で環境を構築してみました。
何かの参考になればということで、環境構築用のスクリプトとOpenOCDの設定ファイル、それにLEDチカチカプログラムをまとめてファイルにして置いておきます。
- JTAGライタにはJTAGKey2を使っています。
- OpenOCDはgitからソースコードをとってきてコンパイルして使いました。
- Open On-Chip Debugger 0.5.0-dev-00403-ge8445c9-dirty (2010-07-11-13:51)
- DFUは気持ち悪くて使わないので思いっきり上書きしています。
- LEDチカチカプログラムはSTM32F103VHB6_RevZ_Demo1を使っています。
ほぼ備忘録ですが、これからちょくちょく環境整備についてもまとめていこうと思います。
オープンソースの場合、バージョンによって大きく動作が変わったり、それに伴って情報が断片的になったりします。こういった時、断片的な情報を集めて整理することで問題を突き止める事ができる場合があります。ダウンロード用のファイルもそういった用途のために設置してあります。完全な動作を保証するためのものではありませんのでご了承ください。
2010年7月12日月曜日
Accessing to a STM32 MPU with OpenOCD and JTAGkey2
I tried to run OpenOCD with my JTAGkey2.
- Getting and Extracting the libftd2xx
- http://www.ftdichip.com/Drivers/D2XX.htm
- tar xvfz libftd2xx0.4.16.tar.gz
- Getting the OpenOCD latest source codes.
- git clone git://openocd.git.sourceforge.net/gitroot/openocd/openocd
- ./bootstrap
- Configuring the option
- ./configure --enable-ft2232_libftdi --with-ftd2xx-linux-tardir=/path/to/libftd2xx0.4.16
- Building...
- make
- Editing a interface configuration file.
- -ft2232_device_desc "Amontec JTAGkey-2"
- +ft2232_device_desc "Amontec JTAGkey-2P A"
- Running...
shinta@ubuntu:~/Projects/openocd/openocd/src$ ./openocd -f interface/jtagkey2.cfg -f target/stm32.cfg
Open On-Chip Debugger 0.5.0-dev-00403-ge8445c9-dirty (2010-07-11-13:51)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.berlios.de/doc/doxygen/bugs.html
Info : only one transport option; autoselect 'jtag'
1000 kHz
adapter_nsrst_delay: 100
jtag_ntrst_delay: 100
Info : max TCK change to: 30000 kHz
Info : clock speed 1000 kHz
Info : JTAG tap: stm32.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
Info : JTAG tap: stm32.bs tap/device found: 0x16410041 (mfg: 0x020, part: 0x6410, ver: 0x1)
Info : stm32.cpu: hardware has 6 breakpoints, 4 watchpoints
2010年7月9日金曜日
Amontec JTAGkey-2P
随分前に購入したAmontec社のJTAGkey-2P。
今日になってやっと動作確認しました。
昨日ドライバを導入して動かずに困って問い合わせたところ。
「今ウェブサイトをアップデートしています。ちょっとアップデートを間違ってたみたい。」
ということで間違った方のドライバをインストールしていたみたいです。
http://www.amontec.com/ download/amontec-jtagkey- driver-d2xx-20091124.zip
ちなみに動かなかったバージョンは
今日になってやっと動作確認しました。
昨日ドライバを導入して動かずに困って問い合わせたところ。
「今ウェブサイトをアップデートしています。ちょっとアップデートを間違ってたみたい。」
ということで間違った方のドライバをインストールしていたみたいです。
Amontec JTAGkey (Channel A)正しいのはこっちだと送っていただいたリンク先にあるドライバで更新したところAmontec JTAGkey Demo 060307で認識しました。
2009/11/10
2.6.0.0
http://www.amontec.com/
ちなみに動かなかったバージョンは
JTAGkey ( Channel A )です。
2005/12/01
3.1.2.0
2010年7月8日木曜日
ARM開発環境の構築(Ubuntu 9.10)
Windows上で環境構築を始めましたが、なんだかんだ面倒なのでLinux上に構築することに。
以下をリポジトリリストに追加する。
deb http://www.emdebian.org/debian/ lenny main
以下で認証キーを追加する。
wget -O- http://www.emdebian.org/0x97BB3B58.txt | sudo apt-key add -
ツールチェインのインストール。
EABIを入れれば良いでしょう。
sudo apt-get install gcc-4.3-arm-linux-gnu g++-4.3-arm-linux-gnu (OABI)
sudo apt-get install gcc-4.3-arm-linux-gnueabi g++-4.3-arm-linux-gnueabi (EABI)
binutilsをインストール。
sudo apt-get install binutils-multiarch
環境を構築したらmebd上でFreeRTOSを動作させることに挑戦します。
あ、その前にCQ-STARMでLEDピコピコかな。
以下をリポジトリリストに追加する。
deb http://www.emdebian.org/debian/ lenny main
以下で認証キーを追加する。
wget -O- http://www.emdebian.org/0x97BB3B58.txt | sudo apt-key add -
ツールチェインのインストール。
EABIを入れれば良いでしょう。
sudo apt-get install gcc-4.3-arm-linux-gnu g++-4.3-arm-linux-gnu (OABI)
sudo apt-get install gcc-4.3-arm-linux-gnueabi g++-4.3-arm-linux-gnueabi (EABI)
binutilsをインストール。
sudo apt-get install binutils-multiarch
環境を構築したらmebd上でFreeRTOSを動作させることに挑戦します。
あ、その前にCQ-STARMでLEDピコピコかな。
登録:
投稿 (Atom)