2014/12/29

【Ubuntu、AVR】UbuntuでAVRの開発環境を構築する2(書き込み時の権限について)

こんにちは.
前回,eclipseでAVRの開発環境を整えたわけですが,AVRへの書き込みがうまく行かず,
結局スーパーユーザーでeclipseを起動することによって,事を回避しました.

しかし,さすがに毎回コマンドラインから起動したり,ワークスペースが(一般ユーザーとは)別のものになったりするのは嫌なので対策を考えて参りました.

setuidを使う!!!!!!!!


説明しよう!
setuidとは,アクセスしているユーザーを一時的に別のUIDに変更する機能で,一度設定してしまえばrootパスワードがなくてもスーパーユーザーとしてアクセスできるという機能である.

具体的には以下のコマンド.
$sudo chmod 4755 /usr/bin/avrdude
ご覧の通りchmodです.
なんだか、755とかはよく使うのですが頭に4つけたのは見たことないです、ハイ。
精進します。

参考
https://forums.ubuntulinux.jp/viewtopic.php?id=9172
http://x68000.q-e-d.net/~68user/unix/pickup?chmod

2014/12/28

【Ubuntu、AVR】UbuntuでAVRマイコンの開発環境を構築する1

UbuntuでAVRの開発環境を構築するために色々調べたので、備忘を兼ねてまとめてみました。


1,使用するモノ

+ubuntu 14.04LTS(linux kernel 3.13.0-44-generic)
+eclipse3.8.1 IDE
+AVR Eclipse eclipse上でAVRの開発を行うためのplugin
+gcc-avr avrコンパイラ.gccの派生.
+avrdude 書き込み用のプログラム.
+ISPmk2 おなじみの高いやつ.
+atmega168p テスト用マイコン

2,環境構築手順

2-1)ソフトウェアのインストール
  インストールするソフトウェアは以下の3つ.
  avrの依存関係はgcc-avrとともにインストールされる(はず).
eclipsegcc-avravrdudebinutils-avravr-libc


以下コマンド.
 $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install eclipse gcc-avr avrdude binutils-avr avr-libc

2-2)ISPmk2の設定(avrdude)
  ISPmk2の動作クロックは,工場出荷時にはランダムになっているので明示的に設定してやらないと書き込みエラーが出る.
 コマンドラインから,以下のコマンドを実行する.
$ sudo avrdude -c avrispmkII -P usb -F -u -t
avrdude> sck 10
>>>sck 10
avrdude> quit
>>> quit
avrdude done. Thank you.

また,USBデバイスの云々はパーミッションを設定してやらないと一般ユーザは使うことができない.
恒久的に対応できる策が見つからないので,今回は管理者権限でeclipseを起動する.
$ sudo eclipse


2-3)eclipseの設定
  2-3-1)CDTのインストール
   eclipseはJavaのIDEとして作られているわけだが,その他の言語のIDEとしても使用することができる.
  具体的には,プラグインによってeclipseを拡張してやる.以下手順.
  1)上部の"ヘルプ"タブより,"新規ソフトウェアのインストール"を選択.
   2)-すべての使用可能なサイト-を選択.
   3)"プログラミング言語"以下にあるチェックボックスをチェックし,"次へ"ボタンを押す.
      なお,チェックするチェックボックスの具体的なモノは以下に記す.
  C/C++呼び出しグラフ可視化
  C/C++開発ツール
  C/C++開発ツール SDK
  C/C++ライブラリー API ドキュメンテーション・ホバー・ヘルプ
  4)あとは道なり.




 
2-3-2)AVR Eclipseのインストール
   同じく,EclipseでAVRを扱うためのプラグイン.以下手順.
   1)上部の"ヘルプ"タブより,"新規ソフトウェアのインストール"を選択.
   2)"追加"より,以下を追加する.名前は適当でよい.
  http://avr-eclipse.sourceforge.net/updatesite/
   3)真ん中辺りのチェックボックス(AVR Eclipse Plugin)をチェックし,"次へ"ボタンを押す.
   4)あとは道なり.





2-3-3)AVR Eclipseの設定
   1)上部タブより"ウインドウ"内の"設定"を開き,左タブより"AVR"を選択する.
   2)"AVRdude"の"追加"ボタンより以下のように設定する.
名前 ISPmk2
Programmer Hardware Atmel AVR mkII
Override default baudrate 9600
 


3,ソースコードの記述,コンパイル,書き込み

  1)新規プロジェクトより,CもしくはC++プロジェクトを選択する.
       AVR Cross Target Application下の,からのプロジェクトを選択し,プロジェクトを生成する.
2)新規でソースファイルを生成し,コードを書き込んでゆく.
  3)上部タブの,金槌のようなアイコンでコンパイルを行う.
       この際,"Release"を選択肢ないと.hexが生成されないと思うので(要検証)注意する.
  4)上部タブの,"AVR↓"アイコンでAVRに書き込む.



4,マイコンの設定について

  対象のプロジェクトを右クリックし,プロパティのAVR項目よりマイコンの設定ができる.
  構成は"Release"にして設定を行ってゆく.
  4-1)ターゲット
  ターゲットの設定はTargetHaedwareより行う.
  直感的に操作すれば良い.
  4-2)フューズビットの設定
  まだいじったことがない.




うーん,スクショとっておけばよかった.
追加しました!

2015_01_07 追記:インストール指定を増やしました.