ATMELのAT-Tiny26,ATmega,R8Cなどのワンチップマイコン,C言語,JAVAなどのプログラミング言語の入門のためのページです.サンプルプログラムを中心に紹介します.他にもLinixや数学ソフトなどの紹介も行います.

このブログを検索

あなたは 番目のお客様です.

2008年3月27日木曜日

CT-208でR8CTinyの実行(アセンブラ)

まずはサンハヤトのCT-208でマイコンR8CTinyを動かしてみましょう
必要なもの
・USB端子の付いたパソコン
・CT-208(サンハヤト)
ルネサスよりCコンパイラ(HEW),デバッガ,FlashStarterをダウンロードする.

開発環境の準備
デバッガ,Cコンパイラ(HEW)の順にインストールする.
レジスタ定義ファイル(sfr_r815.inc)をc:\Renesas\nc30wa\v530r02\inc30に入れておく.

書き込みの準備
FlashStarterを展開して適当な場所C:\Renesas\FlashStarterなどに入れておく.
またUSBの仮想comドライバをダウンロードして,解凍する
CT-208をUSBを介してパソコンに接続したときに,ドライバの場所を指定すればドライバがインストールされる.デバイスマネージャでCOM○が認識されていることを確認する.

アセンブラプログラムの準備
HEWを起動し,新規プロジェクトワークスペースの作成
プロジェクトの種類:EmptyApplication
CPUSeries:R8C/Tiny
デバッガのTarget:M16CR8CFoUSB/UART
ファイルを新規作成しアセンブリプログラムを入力する
名前をつけて保存で,(プロジェクト名).a30で保存.
エディタ領域を右クリックし,プロジェクトにファイルを追加する
デバッグセッションをDeafaultSessionにし,ビルドコンフィギュレーションをReleaseにして,「すべてをビルド」を実行する.

プログラムの書き込み
CT-208のジャンパーをUSB側にセットし,スイッチはBOOT側にセットする.
CT-208をパソコンに接続し,CT-208のRESETボタンを押す.
FlashStarterフォルダのFlashStaを実行し,SelectProgramをInternalFlashMemoryにして,
COMポートを選択する.Referをクリックしfilepathにはプロジェクトのreleaseフォルダ内の○.motを選ぶ.
IDの空欄にすべてffを入れる.MCUTypeはR8Cを選択する.
E.P.Rをクリックすると消去,書き込みが自動的に行われる.
CT-208のSWをRUNにして,リセットボタンを押すとCT-208上で動作が確認できる.


以下はスイッチを押すとLEDが点灯するサンプルプログラムswtest.a30

;swtest.a30 簡単なR8/Cのサンプルプログラム 2008-3-25 minato
;SW1でLED1点灯,SW2でLED2点灯
;レジスタのシンボル(p1など)は小文字で!
.INCLUDE sfr_r815.inc
.SECTION PROGRAM, CODE
.ORG 0D000h
Start:
LDC #0500H,ISP ;スタックポインタの初期化(サブルーチンに必須)
BSET prc0 ; 外部クロック
BSET cm13
BSET cm15
BCLR cm05
BCLR cm16
BCLR cm17
BCLR cm06
NOP
NOP
NOP
NOP
BCLR ocd2
BCLR prc0 ; 外部クロックへの切り替え完了

MOV.B #00000110b, drr ; 駆動能力の設定
MOV.B #00000110b,p1 ; ポートに出力する初期値の設定
MOV.B #00000110b, pd1 ; ポートの方向を出力に設定

LOOP:
BTST 7,p1 ;SW1(P1_7)のビットテストC=src
JC LP1 ;C=1でジャンプ
BCLR 2,p1 ;LED1 ON
JMP LP2
LP1:
BSET 2,p1 ;LED1 OFF
LP2:
BTST 0,p1 ;SW2(P1_0)のビットテスト
JC LP3
BCLR 1,p1 ;LED2 ON
JMP LP4
LP3:
BSET 1,p1 ;LED2 OFF
LP4:
JMP LOOP ; LED点滅を繰り返す

.SECTION FIXVECTOR, ROMDATA ; リセットベクタ部分
.ORG 0FFFCh
Reset:
.LWORD Start | 0FF000000h ; 実行開始箇所
.END