HOME
  Security
   Software
    Hardware
  
FPGA
  CPU
   Android
    Raspberry Pi
  
nLite
  Xcode
   etc.
    ALL
  
LINK
BACK
 

2004/02/25

オークス電子 OAKS8をアセンブラで開発 オークス電子 OAKS8をアセンブラで開発

(アセンブリ言語を用いて開発します、シリアルモニタの製作記事がトラ技に掲載されました)

Tags: [ワンチップCPU]




・参考ページ
オークス電子 開発ツールもここからダウンロード
( IDコードの値が分からなくなった場合の対処法)→KD30を起動してDUMP(プログラム領域は秘匿されます。下記Q&A参照。)
R8C/Tinyシリーズ データシートはここから
サンプルプログラム (ルネサス提供)

・OAKS8を使った製作例

2005/08/10
R8C/11を使ったEIA-232ラインモニタの製作
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ラインモニタの製作
R8C/11を使ったEIA-232ラインモニタの製作

  OAKS8-CPU使用、RS-232Cのデバグや調査に便利、(トラ技 2005/09掲載)

AKI-H8/3069をアセンブラで開発&日立デバグモニタを構築する
AKI-H8/3069をアセンブラで開発&日立デバグモニタを構築する

  シリアル通信経由のRAM転送デバグで楽しましょう

H8S/2134をIrGEARを使って開発する
H8S/2134をIrGEARを使って開発する

  加賀電子iTAX-IrDAを分解して流用

AKI-H8 Tiny/3664をアセンブラで開発&日立デバグモニタを構築する
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/