Linux で AVR 開発環境を構築する
+mbed
小江戸らぐ 2010 年 06 月のオフな集まり
KenichiroMATOHARA(@matoken)
AVR?
●
ATMEL 社の 8bit マイコン
●
秋月電商で 100 円からある (TTINY2313)
●
最近は PIC より元気がある?
●
Windows では開発環境がいくつか存在する。
– AVR Studio(ATMEL 純...
Arduino でも利用
Linux での開発環境
●
必須
– AVR GCC コンパイラ
– SDCC(small device c compiler) コンパイラ
– AVRA アセンブラ
– avrdude AVR へのライティング
●
あると便利
– Ecli...
書き込みに必要なハードウェア
●
自作やキットでは 1,000- 以下から、 USB 接続だ
と 2,000- 位から
– ストロベリーリナックス AT90USB162 1,890-
– デジット USB接続型AVRライタ 2,100-
●
今...
AVR GCC + AVR Eclipse 環境の構築 1
●
パッケージの導入
$ sudo aptitude install gcc-avr binutils-avr avr-libc avrdude
●
JAVA を Sun のものに設定...
AVR GCC + AVR Eclipse 環境の構築 2
●
ライタ (AVR SPK mkII) をユーザモードで利用でき
るようにします
以下のファイルを作成
% cat /etc/udev/rules.d/45-atmel.rules
...
AVR GCC + AVR Eclipse 環境の構築 3
●
AVR Eclipse を Eclipse に導入
– [ ヘルプ ]->[ 新規ソフトウェアのインストール ]
●
[ 追加 ] ボタンで以下のサイトを追加
名前 :avr
ロケーション :http://avr-eclipse.sourceforge.net/updatesite/
●
[AVR Eclipse Plugin] が出てくるのでチェックして...
AVR GCC + AVR Eclipse 環境の構築 4
AVR プログラマの登録
●
[ ウィンドウ ]->[ 設定 ]->[AVR]->[AVR Dude]
●
[Programmer configurations]->[ 追加 ]
– ...
プロジェクトの作成
●
[ ファイル ]->[ 新規 ]->[ プロジェクト ]
●
[c プロジェクト ]
●
[ プロジェクト名 ] を入力
●
[AVR Cross Target Application]->[ 空のプロジェ
クト ]->...
ビルド構成の切り替え
●
プロジェクトを右クリック
●
[ 構成のビルド ]->[ アクティブにする ]
->[Release] をチェック。
●
Release にしないと、ビルドしても書き込み時の
ファイルが一部作成されません。
頑張ってコードを書きます
●
とりあえず、 LED を点滅させる例
#include <avr/io.h>
int main(void)
{
volatile long i;
PORTB = 0xff;
DDRB = 0xff;
while(1...
ビルド、書き込み
●
すべてビルドボタン (Ctrl + B)
●
Upload current project to Atmel Target
MPU(Ctrl+Alt+U)
書き込む前に配線
●
ライタからは 2x3 の 6Pin の ISP コネクタが伸び
ている。この pin を対応する AVR の足に接続す
る。
1:MISO -> 18
2:VCC -> 20
3:CSK -> 19
4:MOSI -> 1...
書き込んでいる様子
●
本当はちゃんと基板で組むべき…。
動作しているところ
●
CR2032 で 3 日以上の連続動作を確認。
mbed?
●
ARM ベースのマイコンボード
●
開発環境はクラウド ( ブラウザベース )
●
ポートも結構たくさんある (40pin)
●
簡単にネットワークにも接続可能
●
一寸高い、 ( 現在評価版が 6000 円くらい。そのう
ち ...
クラウドのデメリット
●
サーバが落ちると orz
HelloWorld の実行例
http://www.youtube.com/watch?v=7LPDRcahhUE
ピンアサイン ( 付属のリファレンスカード便利 )
開発例
●
mbed.org にログイン
●
コンパイラ画面に移行 ( 右上の Compiler)
●
サンプルコードを探す
– みんなが書いたコードが公開されている
●
自分向けに修正してコンパイルボタンを押す
●
bin ファイルが自動的に...
とりあえず試したこと
●
内蔵 LED 制御
●
温度センサの値を取得
●
RJ-45 コネクタ (@300) を接続して Twitter 投稿
– インポートしたプログラムのユーザ名とパスワードを
変更しただけ。
– 実行すると dhcp で...
Linux でavr開発環境を構築する+mbed(20100612koedo94)
Linux でavr開発環境を構築する+mbed(20100612koedo94)
Linux でavr開発環境を構築する+mbed(20100612koedo94)
Linux でavr開発環境を構築する+mbed(20100612koedo94)
Upcoming SlideShare
Loading in...5
×

Linux でavr開発環境を構築する+mbed(20100612koedo94)

1,608

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,608
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Linux でavr開発環境を構築する+mbed(20100612koedo94)

  1. 1. Linux で AVR 開発環境を構築する +mbed 小江戸らぐ 2010 年 06 月のオフな集まり KenichiroMATOHARA(@matoken)
  2. 2. AVR? ● ATMEL 社の 8bit マイコン ● 秋月電商で 100 円からある (TTINY2313) ● 最近は PIC より元気がある? ● Windows では開発環境がいくつか存在する。 – AVR Studio(ATMEL 純正 ) – WinAVR – AVR-GCC
  3. 3. Arduino でも利用
  4. 4. Linux での開発環境 ● 必須 – AVR GCC コンパイラ – SDCC(small device c compiler) コンパイラ – AVRA アセンブラ – avrdude AVR へのライティング ● あると便利 – Eclipse + AVR Eclipse 統合開発環境 – avrdude-GUI avrdude の GUI
  5. 5. 書き込みに必要なハードウェア ● 自作やキットでは 1,000- 以下から、 USB 接続だ と 2,000- 位から – ストロベリーリナックス AT90USB162 1,890- – デジット USB接続型AVRライタ 2,100- ● 今回は ATMEL 純正の AVR SPK mkII を利用 – 秋月で 4,000- – Linux での事例あり – USB 接続 – 純正
  6. 6. AVR GCC + AVR Eclipse 環境の構築 1 ● パッケージの導入 $ sudo aptitude install gcc-avr binutils-avr avr-libc avrdude ● JAVA を Sun のものに設定 % sudo update-alternatives --config java There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path 優 Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 auto mode 1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode * 2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode Press enter to keep the current choice[*], or type selection number: 2
  7. 7. AVR GCC + AVR Eclipse 環境の構築 2 ● ライタ (AVR SPK mkII) をユーザモードで利用でき るようにします 以下のファイルを作成 % cat /etc/udev/rules.d/45-atmel.rules {idVendor}=="03eb", ATTR{idProduct}=="2104", MODE="0660", GROUP="plugdev", SYMLINK+="avrispmkII"
  8. 8. AVR GCC + AVR Eclipse 環境の構築 3 ● AVR Eclipse を Eclipse に導入 – [ ヘルプ ]->[ 新規ソフトウェアのインストール ]
  9. 9. ● [ 追加 ] ボタンで以下のサイトを追加 名前 :avr ロケーション :http://avr-eclipse.sourceforge.net/updatesite/ ● [AVR Eclipse Plugin] が出てくるのでチェックして インストール。
  10. 10. AVR GCC + AVR Eclipse 環境の構築 4 AVR プログラマの登録 ● [ ウィンドウ ]->[ 設定 ]->[AVR]->[AVR Dude] ● [Programmer configurations]->[ 追加 ] – ConfigurationName:AVR ISP mkII( 適当に ) – ProglammerHardware:Atmel AVR ISP mkII – Override Default Port: usb – [OK] ● usb 重要。ここで嵌りました
  11. 11. プロジェクトの作成 ● [ ファイル ]->[ 新規 ]->[ プロジェクト ] ● [c プロジェクト ] ● [ プロジェクト名 ] を入力 ● [AVR Cross Target Application]->[ 空のプロジェ クト ]->[AVR-GCC Toolchain]-[ 次へ ] ● [ 次へ ] ● [MCU Type] で [ATtiny2313]( 利用する石を選 択 ) を選択 ● [ 完了 ]
  12. 12. ビルド構成の切り替え ● プロジェクトを右クリック ● [ 構成のビルド ]->[ アクティブにする ] ->[Release] をチェック。 ● Release にしないと、ビルドしても書き込み時の ファイルが一部作成されません。
  13. 13. 頑張ってコードを書きます ● とりあえず、 LED を点滅させる例 #include <avr/io.h> int main(void) { volatile long i; PORTB = 0xff; DDRB = 0xff; while(1) { PINB |= _BV(PB0); for (i = 5000; i > 0; i--); } return 0; }
  14. 14. ビルド、書き込み ● すべてビルドボタン (Ctrl + B) ● Upload current project to Atmel Target MPU(Ctrl+Alt+U)
  15. 15. 書き込む前に配線 ● ライタからは 2x3 の 6Pin の ISP コネクタが伸び ている。この pin を対応する AVR の足に接続す る。 1:MISO -> 18 2:VCC -> 20 3:CSK -> 19 4:MOSI -> 17 5:RESET -> 1 6:GND -> 10 ● AVR の Pin はデータシートで確認 ATTiny2313 の場合 > http://www.atmel.com/dyn/resources/prod_documents/doc2543.PDF
  16. 16. 書き込んでいる様子 ● 本当はちゃんと基板で組むべき…。
  17. 17. 動作しているところ ● CR2032 で 3 日以上の連続動作を確認。
  18. 18. mbed? ● ARM ベースのマイコンボード ● 開発環境はクラウド ( ブラウザベース ) ● ポートも結構たくさんある (40pin) ● 簡単にネットワークにも接続可能 ● 一寸高い、 ( 現在評価版が 6000 円くらい。そのう ち 10000 円に )
  19. 19. クラウドのデメリット ● サーバが落ちると orz
  20. 20. HelloWorld の実行例 http://www.youtube.com/watch?v=7LPDRcahhUE
  21. 21. ピンアサイン ( 付属のリファレンスカード便利 )
  22. 22. 開発例 ● mbed.org にログイン ● コンパイラ画面に移行 ( 右上の Compiler) ● サンプルコードを探す – みんなが書いたコードが公開されている ● 自分向けに修正してコンパイルボタンを押す ● bin ファイルが自動的にダウンロードされる ● mbed を USB 接続すると USB メモリとして見え るので、ダウンロードされたファイルを転送。 ● リセットボタンを押すと実行される ● 自分で書いたプログラムを公開
  23. 23. とりあえず試したこと ● 内蔵 LED 制御 ● 温度センサの値を取得 ● RJ-45 コネクタ (@300) を接続して Twitter 投稿 – インポートしたプログラムのユーザ名とパスワードを 変更しただけ。 – 実行すると dhcp で ip を取得して Twitter に投稿 ● 参考 URL mbed を始めましょう! ("Let's get started!" in Japnaese) http://mbed.org/users/nxpfan/notebook/lets_get_started_jp/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×