・2004/02/25
オークス電子 OAKS8をアセンブラで開発
(アセンブリ言語を用いて開発します、シリアルモニタの製作記事がトラ技に掲載されました)
Tags: [ワンチップCPU]
・参考ページ
オークス電子
開発ツールもここからダウンロード
(
IDコードの値が分からなくなった場合の対処法)→KD30を起動してDUMP(プログラム領域は秘匿されます。下記Q&A参照。)
R8C/Tinyシリーズ
データシートはここから
サンプルプログラム
(ルネサス提供)
・OAKS8を使った製作例
・2005/08/10
R8C/11を使ったEIA-232ラインモニタの製作
OAKS8-CPU使用、RS-232Cのデバグや調査に便利、(トラ技 2005/09掲載)
(
トランジスタ技術
、
2005年9月号(P.233~238)
掲載
)
OAKS8はR5F21114FPを搭載しています。
(R8C/TinyシリーズのR8C/11グループに属します。)
内蔵ROM:16KB
内蔵RAM:1KB
動作周波数:20MHz
UART:2ch内蔵
消費電流:15mA位(20MHz)
※「OAKS8 サンプルキット」のマザーボードは各種の周辺回路を実装できるようになっており学習用ボードとして素晴らしいできだと思います。
(これで実装のクロックが18.432MHzだとボーレート生成に都合が良かったんだけど。)
OAKS8

OAKS8 サンプルキット全景(232Cコネクタ、LCDモジュールを追加しています。)
アプリケーションノート:R8C/Tinyシリーズ
の「RJJ05B0425-0100Z アセンブラ初期設定汎用プログラム」
が参考になります。
アセンブリ言語ここが要注意
MOV命令でZフラグが影響を受ける
CMP/SUB命令でCフラグは桁借りが発生しない時に”1”になる。
R8Cの命令体系について
直行性が低い(DEC命令にR1レジスタが使えないとか。)
アセンブリ言語で記述したサンプルプログラム
OAKS8用サンプルプログラム-LED
スイッチを押すとLEDが点灯します
OAKS8用サンプルプログラム-LCD
キャラクターLCDサブルーチン
OAKS8用サンプルプログラム-UART
UART(RS-232C)送信サブルーチン
※アセンブリ言語記述の割り込み(RS-232C受信、タイマー)のサンプルプログラム有償配布します。
(メールにてお問い合わせください。)
アセンブル用バッチファイル
@echo off
set TARGET=%1
if "%1" == "" set TARGET=APL034
AS30 %TARGET%.A30
if errorlevel 1 goto ERR
LN30 %TARGET%.R30
LMC30 -ID#000000000000 %TARGET%.X30
:ERR
※この手のマイコンチップはアセンブラがやり易いと思いますが、私だけかな?
KD30のリモートデバッガも便利です。
Q:プログラムの書き換え回数が100回超えても大丈夫?
A:最低100回までの書き換えを保証するという事で、100回を超えたら壊れるわけではありません。無保証ですがベリファイしてエラーが無ければ趣味の範囲であれば問題ないと思います。
※日立H8/300H Tinyの場合、保証範囲は100回までですが、
保証範囲外として1000回以上
の実力はあるそうです。
Q:OAKS8の動作が遅い?シリアルのボーレートを設定しても通信できない?
A:電源投入時/リセット時は内部オシレータ(約8MHz)で動いています。
下記レジスタ設定で20MHz動作に切り替わります。
BSET prc0 ; Protect Disable
MOV.B #01001000B,cm0 ; set CM0
MOV.B #00101000B,cm1 ; set CM1
MOV.B #00000000B,ocd ; set OCD
MOV.B #00001000B,cm0 ; set CM0
BCLR prc0 ; Protect Enable
Q:PORT-0のpd0レジスタを出力に設定しても出力になりません。
A:プログラム暴走時に安易に切り替わらないようにガードが掛かっています
prc2ビットをセットした直後にpd0レジスタを変更できます。
BSET prc2 ; Protect Disable
MOV.W #11110001B,pd0 ; Port direction
Q:OAKS8(R8C/11)に書き込んだプログラムの秘匿について、第三者がKD30でDUMP可能なのでは?
A:KD30起動時にプログラム領域が消去されるので結果的に秘匿されます。
この件に関してはオークス電子に直接問い合わせしました。下記が回答です。
ご質問のプログラムのプロテクトに関してですが、KD30起動時にはプログラム領域は消去されますので結果的には守られることになります。
つまり、IDが分からない→KD30を起動する→プログラムは消去されるので、IDが分かったとしても意味をなさない
ということになるかと思います。
オークス電子株式会社OAKS8サポート係
・その他
・OAKS8基板の電源要らず改造

・OAKS8基板の20桁x4行LCD用電源配線の改造

・OAKS8-FullKitを使用して
RS232Cモニタ
を作りました。

・RS232Cモニタのメニュー画面。

・RS232Cモニタのモニタ中の画面。

Tags: [ワンチップCPU]
●関連するコンテンツ(この記事を読んだ人は、次の記事も読んでいます)
R8C/11を使ったEIA-232ラインモニタの製作
OAKS8-CPU使用、RS-232Cのデバグや調査に便利、(トラ技 2005/09掲載)
AKI-H8/3069をアセンブラで開発&日立デバグモニタを構築する
シリアル通信経由のRAM転送デバグで楽しましょう
H8S/2134をIrGEARを使って開発する
加賀電子iTAX-IrDAを分解して流用
AKI-H8 Tiny/3664をアセンブラで開発&日立デバグモニタを構築する
上記と同様にフラッシュ書き込みの手間がありません
[HOME]
|
[BACK]
リンクフリー(連絡不要、ただしトップページ以外は Web構成の変更で移動する場合があります)
Copyright (c)
2004-2005 FREE WING,Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator
http://www.neko.ne.jp/~freewing/cpu/r8c_oaks8/