Atmel Studio 7 最初の一歩 ~ hello, world

AVRの開発環境「Atmel Studio 7」のインストールまでが前回の話。続いて、その使い方を学ぶべく、テストプログラムを書いてみる。

プロジェクト作成

Atmel Studio 7では、と言うか、Visual Studioでは、プロジェクトという単位で開発を管理するらしい。ということで、まずは、「新規プロジェクト」を作る。

Fileメニューから、NewProject…とたどる。

プロジェクト名は、とりあえず「test01」とすることに決めたけれど、その先がわからない。検索してあちこちのサイトを見てみた結果、C言語で作成するなら「GCC C Executable Project」を選択すればいいらしい。

次にデバイス選択画面が出てきた。

デバイスは、まずはシンプルなATtiny13Aを選んでみる。

これで、プロジェクトの雛形が作成された。

初期状態でキャプチャするのを忘れて、CreatedとAutherを変更したあとのもの。そのためか、当該行の左に黄色のマークが付いている。「変更された行」っていう意味なんだろう。

テストプログラム作成

最初のプログラムは、伝統に則って「hello, world」。

とは言え、文字を出力することはできないので、メモリに書き込む。実質、この一行だけ。OS上で動くものではないので、無限ループ。

コンパイル(ビルド)

コードを書いたら、コンパイル。メニューのBuildがそれだろう。

メニューを開くと、主だったものと思われるものだけでも、「Build Solution」、「Build test01」、「Compile」とがある。どれを選べばいいの?そもそも、BuildとComplileの違いって?

ということで、ビルドとコンパイルの違いを調べる。結果、どうやら、「ビルド」はコンパイルだけじゃなくてリンクもやることらしい。なるほどね。要は、Makefileを頑張って書く必要はないってことか。「Build Solution」と「Build test01」の違いは不明のままだけど、今回はどのみちファイルは一つだけだから、最も大きな概念と思われる「Build Solution」の方をやっておけば問題なかろう。

ということで、「Build Solution」を実行。

 

いきなりエラー…。

しばらく悩んだけれど、よく見たら「sprintf」のスペルが間違っている。それで、下に赤い波線が引かれているのか。

スペルを直したら関数名がイタリックフォントになった。

改めてビルド。

今度は、エラーなく終了。

実行

問題なくコンパイル/ビルドできたので、早速実行してみる。実機があるわけじゃないけど、シミュレーション機能があるんじゃないかなという勝手な想像の下に。

でも、残念ながら怒られる。

他に選択肢はないので「Continue」ボタンを押す。画面はプロパティ設定が表示されていた。

ここのToolを開くと、リストにSimulatorがあったので、これを選択。

再び、実行。

今度はエラーにならずに走っているようだ。

しかし、これでどうしたものかと思っていたが、右下のウインドウに「Unavailable when debuggee is running.」と表示されている。なるほど、プログラムが走っているので何もできないようだ。無限ループにしているのだからしょうがない。

といことで、ポーズ(ブレーク)ボタンを押してみる。

プログラム停止。

下の左に変数、右にメモリダンプの情報が表示されている。

変数の詳細(中身)を表示させてみた。

何か入っているけれど、10進数で表示されているのでよくわからない。この上で右クリックしたメニューが出てきた。

とりあえず、「Hexadecimal Display」を選択。

16進表示に変った。なんとなくそれっぽく入っているようだ。ASCII表示してくれればもっとわかりやすいのだけれど、メニューに見つからず、できるのかどうかわからない。

なにはともあれ、プログラムを書いて、ビルドし、走らせてみることができた。とりあえずはここまで。この先は、実デバイスを入手してから。


Atmel Studio 7.0でビルドしたバイナリをAVRに書き込む方法をまとめておく。なお、現在は名称がMicrochip Studi...

コメント

  1. KABASAN より:

    偶然見つけたので足跡を。
    デバッガも何を買うかが悩みどころですね。
    安価なPICKit4とかも使えるようになってきてますが、古いデバイスには十分対応できていないみたいですし。
    勉強頑張ってくださいね。

    • jh4vaj より:

      コメントありがとうございます。

      いろんなことを片っ端からかじりながら並列で進めているので、一つ一つの歩みが鈍いです^^;
      ボチボチやっていこうと思います。

  2. 丹生一洋 より:

    初めまして。
    すみませんが一つ教えてください。
    しばらく前からATMEL STUDIO 7で遊んでいます。
    最近別のノートPCにも入れて実行するとデスクトップPCと違う反応で困っています。

    起動時にUSB接続のAttiny416 Explained Nano というボード(ライターとして使用)は認識し、Cで記述してBuildします。
    次にToolsの中のDeviceProgrammingで書き込むのですが、このときボードの中のmEDBGを経由しますのでそれを選択。
    次にDeviceでターゲットのATtiny3216を選択してという流れです。

    ところが、同じ環境のはずのノートだとDevice 選択の段階でATtiny416しか表示されず、ATtiny2316が選択できません。やむなくキーボードから打つのですが、Buildのたびに同じ事をせねばならないのです。デバイスのフォルダや設定はわかる範囲で同じにしたつもりです。

    なにかアドバイスをいただければと思う次第です。

    橋本市 丹生

    • jh4vaj より:

      あいにく役に立てそうは情報は持っていません。
      AVRもATtiny13、85、ATmega328Pの三種類しか使ったことがありません。

      • 丹生 より:

        早速のお返事ありがとうございます。
        そうですか、残念です。これからもよろしくお願いいたします。