メイン

超Low-EndマイコンRS08を使おう アーカイブ

2007年9月 7日

超Low-EndマイコンRS08を使おう - RS08でもCコンパイラが使える(1)

 RS08は、2006年に公開されたFreescaleの新しいマイコンシリーズです。

 公開当初は、無償版のCodeWarriorで使用できるのは、RS08向けにはCコンパイラが提供されておらず、 アセンブラだけが提供されていました。 Cが使えないことがRS08のプログラムを作成する時の障害となっていたのです。 ところが、2007年6月に公開されたCodeWarrior for MCU V6.0には、 ベータ版ながらもRS08用のCコンパイラが搭載されています。
 この記事では、CodeWarriorのCコンパイラを使った、 RS08の特徴を生かしたプログラミングについて考えていきます。

rs08compiler-00-01-480.jpg

 次回から、MC9RS08KA2マイコンで圧電スピーカから音を出すアプリケーションを作ります。

田中範明

2007年9月10日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (1)

 マイコンに圧電スピーカをつなぐと、音を出すことができます。 音の周期を決めるにはタイマ・モジュールを使います。 でも、MC9RS08KA2には、ほかのHC(S)08マイコンには存在する ある機能が欠けているのです。

rs08compiler-01-01.jpg

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (1)" »

2007年9月11日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (2)

MC9RS08KA2で音を出すハードウェア

 MC9RS08KA2で音を出す システムで必要なのは、マイコンとそれにつながる圧電スピーカです。 それに電源をつけると独立した立派なアプリケーションになります。

rs08compiler-01-03.png

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (2)" »

2007年9月13日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (3)

プログラム開発のためのプロジェクトを作る

 プログラムの開発は、 HC(S)08シリーズと同様に CodeWarriorを使います。 この記事では、 RS08用のCコンパイラでプログラムを作成します。 そのため、ベータ版のCコンパイラが含まれている CodeWarrior for Microcontrollers V6.0のインストールが必要です。 「スタート」メニューからCodeWarriorを呼び出します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (3)" »

2007年9月14日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (4)

ソフトウェア・タイマで音を出すプログラムを作る

 最初に、タイマ・モジュールを使わない純粋にソフトウェアだけで処理を行う プログラムを書いてみます。 タイマをソフトウェアで実現するので、ソフトウェア・タイマと呼びます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (4)" »

2007年9月18日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (5)

ソフトウェア・タイマで音を出すプログラムの解説 (1)

 前回は、ソフトウェア・タイマで音を出すプログラムのソース・コードを掲載しました。 今回から2回に分けてその詳細を解説していきます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (5)" »

2007年9月20日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (6)

ソフトウェア・タイマで音を出すプログラムの解説 (2)

 前回に引き続いて、ソフトウェア・タイマで音を出すプログラムの詳細を解説していきます。 後半は、関数についての解説です。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (6)" »

2007年9月21日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (7)

プログラムをコンパイルする

 今回は、できあがったソース・コードをコンパイルします。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (7)" »

2007年9月25日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (8)

マイコンにプログラムを書き込む

 いよいよ、USBSPYDER08を使ってプログラムを書き込みます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (8)" »

2007年9月27日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (9)

プログラムを実行する

 マイコンにプログラムを書き込んだら、実行させてみましょう。 実行は、デバッガの画面から行います。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (9)" »

2007年10月 1日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (10)

ソフトウェア・タイマの周波数を変えてみる

 圧電スピーカから音を出すことはできましたが、 このままでは一定の音程の音が出てくるだけです。 マイコンの動作中にデバッガから操作して音程を変えてみましょう。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (10)" »

2007年10月 4日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (11)

モジュロ・タイマで音を出すプログラムを作る

 前回まで、ソフトウェア・タイマを使用して音を出すプログラムを作りましたが、 出てくる音程は「出たとこ勝負」で決まっていました。 確実に音程を決めるには、ハードウェアの力を借ります。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (11)" »

2007年10月 5日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (12)

モジュロ・タイマ用にソース・コードを書き直す

 前回決めた方針に従って、モジュロ・タイマを使うプログラムを作成します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (12)" »

2007年10月 9日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (13)

モジュロ・タイマを使うプログラムの解説

 今回は、モジュロ・タイマを使うプログラムの詳細を解説していきます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (13)" »

2007年10月11日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (14)

モジュロ・タイマの周波数を変えてみる

 前回までに作成したモジュロ・タイマを使用したプログラムを実行します。 さらに、動作中のマイコンに介入して音程も変えます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (14)" »

2007年10月15日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (1)

 前回までに作成した音を出す装置のプログラムを変更すると、 音楽を奏でることができるようになります。 音楽には、音程とテンポの二つの要素が必要です。 テンポを制御するために、二つ目のタイマを使用します。

MC9RS08KA2で音を出す装置

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (1)" »

2007年10月17日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (2)

リアルタイム割り込みでテンポを作るプログラム

 前回は、音楽を奏でるための二つの要素、音程と音の長さを制御する方法について考えました。 今回から、 モジュロ・タイマで音程を決め、 RTIモジュールでテンポを決める 最初の課題プログラムの作成をはじめます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (2)" »

2007年10月19日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (3)

二つの音を切り替えるソース・コード

 前回までで プログラムの方針が決まったので、 フローチャートに従って、ソース・コードを記述します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (3)" »

2007年10月22日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (4)

二つの音を切り替えるプログラムの解説(1)

 前回紹介したプログラムの解説を行います。 第1回目は、レジスタの初期設定値と大域変数です。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (4)" »

2007年10月24日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (5)

二つの音を切り替えるプログラムの解説(2)

 プログラムの解説の二回目は、各種関数について説明します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (5)" »

2007年10月29日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (6)

音程とテンポを変えてみる

 プログラムができたので、マイコンに書き込んで実行します。 このアプリケーションもデバッガからパラメータを変更することができます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (6)" »

2007年10月31日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (7)

配列で楽譜を表現する

 前回作成したアプリケーションは、 二つの音程を切り替える機能を持っています。 この切り替えの機能を、楽譜に従って、 自動的に行うと音楽を演奏することができます。

 もちろん、人間のために書かれた五線譜をマイコンが読むことはできないので、 FLASH ROM上に定数としてデータをして楽譜を記述していかなくてはなりません。 そこで、これから数回にわたって、 楽譜をデータとして定義する方法を考えていきます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (7)" »

2007年11月 2日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (8)

小節を表現する型

 前回は音符を表現するデータ構造を考えました。 楽譜は、音符を順番に並べたものです。 今回は、音符と楽譜の中間のデータ構造として小節を考えます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (8)" »

2007年11月 5日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (9)

楽譜を表現する型

 前回まで楽譜を表現するデータ構造を考えてきました。 今回は、いよいよ最上位階層の楽譜データを定義します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (9)" »

2007年11月 7日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (10)

楽譜の具体的な記述法

 前回までで、楽譜を表現するデータ構造を決定しました。 今回は、このデータ構造を使って楽譜を記述する方法を具体的に示します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (10)" »

2007年11月 9日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (11)

楽譜を配置するアドレスを指定する

 今回は、前回作成した定数配列を配置するアドレスを指定します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (11)" »

2007年11月14日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (12)

音楽を奏でるプログラム

 楽譜を表現する方法が決まったので、 音楽を奏でるプログラムを記述していきます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (12)" »

2007年11月16日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (13)

音楽を奏でるソース・コード

 今回は、フローチャートに従って、ソース・コードを書きます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (13)" »

2007年11月19日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (14)

音楽を奏でるプログラムの解説(1)

 前回掲載したソース・コードを数回にわたって解説していきます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (14)" »

2007年11月21日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (15)

音楽を奏でるプログラムの解説(2)

 次回に引き続き、プログラムを解説します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (15)" »

2007年11月26日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (16)

PRMファイルの記述

 今回は、ソース・コードのほかに必要なもうひとつの設定ファイルである PRMファイルを記述します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (16)" »

2007年11月28日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (17)

音を奏でるプログラムの実行

 プログラムができたので、マイコンに書き込んで実行します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (17)" »

2007年11月10日

CodeWarrior for MCUs V6.1 のインストール (1)

 RS08マイコンのアプリケーション開発は、 CodeWarriorという統合開発ツールを使います。 また、この開発ツールを使うと、 HC08, HCS08, ColdFire V1の 三種類のマイコンのアプリケーションも開発することができます。 まずは、開発ツールをインストールしましょう。

インストーラ・スプラッシュ

続きを読む "CodeWarrior for MCUs V6.1 のインストール (1)" »

CodeWarrior for MCUs V6.1 のインストール (2)

インストーラ・ファイルをダウンロードする

 前回は、CD-ROMが入手できた場合のインストーラの起動の仕方について解説をしました。 今回は、freescale.comからダウンロードする場合の手順について解説します。

インストーラ・スプラッシュ

続きを読む "CodeWarrior for MCUs V6.1 のインストール (2)" »

2007年11月13日

CodeWarrior for MCUs V6.1 のインストール (3)

 前回までで、CD-ROMを使う方法とfreescale.comからダウンロードする方法の 二通りについてインストーラの起動までを解説しました。 今回は、起動したインストーラを使って、 CodeWarrior for MCUs V6.1をインストールする手順を解説していきます。

インストール作業

 インストーラが起動すると、 スプラッシュが表示されます。

インストーラ・スプラッシュ

続きを読む "CodeWarrior for MCUs V6.1 のインストール (3)" »

CodeWarrior for MCUs V6.1 のインストール (4)

 前回までで、CodeWarrior for MCUs V6.1のインストールが終わりました。 今回は、CodeWarrior for MCUs V6.1を使って、サンプル・プログラムを書き込んでみます。

USBSPYDER08に搭載されたMC9RS08KA2

続きを読む "CodeWarrior for MCUs V6.1 のインストール (4)" »

2007年12月20日

超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (1)

 「MC9RS08KA2で音を出す装置」は、 これまでのプログラムでは使っていませんが、 押しボタン(キー)を付けてあります。 次のテーマとして、音を出す装置のプログラムを変更し、 キー入力により音をON/OFFさせるプログラムを作成します。 キーの状態を知るには、どうしたらよいのでしょうか。

MC9RS08KA2で音を出す装置

続きを読む "超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (1)" »

2007年12月25日

超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (2)

 今回は、 前回解説したキー入力の仕組みを MC9RS8KA2特有の機能を使って快適に実装します。

続きを読む "超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (2)" »

2007年12月30日

超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (3)

 前回まで、キー入力を行うための要素が揃いました。 今回から、キー入力を読み取るソフトウェアを作成します。

デバッガでキーの状態を調べる

 それでは、最初のプログラムを作成します。 ここで作成するプログラムは、ポートの状態を読み込んで、 その状態によりある変数の値を変更するプログラムです。 変数の値は、デバッガによりリアルタイムで観測することが出来ます。

続きを読む "超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (3)" »

2008年1月 5日

超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (4)

キーの状態を調べるソース・コード

 前回作成したフローチャートに従って、ソース・コードを書きます。

続きを読む "超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (4)" »

2008年1月 7日

超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (5)

プログラムを実行する

 プログラムが完成したので、マイコンに書き込んで実行します。

続きを読む "超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (5)" »