AVRの開発環境「Atmel Studio 7」のインストールまでが前回の話。続いて、その使い方を学ぶべく、テストプログラムを書いてみる。
もくじ
プロジェクト作成
Atmel Studio 7では、と言うか、Visual Studioでは、プロジェクトという単位で開発を管理するらしい。ということで、まずは、「新規プロジェクト」を作る。
Fileメニューから、New → Project…とたどる。
プロジェクト名は、とりあえず「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表示してくれればもっとわかりやすいのだけれど、メニューに見つからず、できるのかどうかわからない。
なにはともあれ、プログラムを書いて、ビルドし、走らせてみることができた。とりあえずはここまで。この先は、実デバイスを入手してから。
コメント
偶然見つけたので足跡を。
デバッガも何を買うかが悩みどころですね。
安価なPICKit4とかも使えるようになってきてますが、古いデバイスには十分対応できていないみたいですし。
勉強頑張ってくださいね。
コメントありがとうございます。
いろんなことを片っ端からかじりながら並列で進めているので、一つ一つの歩みが鈍いです^^;
ボチボチやっていこうと思います。