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

2006/09/19

8ビット All Flashマイコン(78K0S/Kx1+) 8ビット All Flashマイコン(78K0S/Kx1+)

(はじめての78Kマイコンに付属の 78K0S/KA1+(uPD78F9222)基板で楽々開発)

Tags: [ワンチップCPU]




「NEC 78K マイコン」を Amazonで探す(商品検索する)。
アマゾンなら通常配送無料(一部除く)

はじめての78Kマイコン―魅惑の開発ツールで楽々マイコン・プログラミング!
USB接続でプログラミング・デバグ・シリアル通信の全てが可能な 78Kマイコン基板が付録で付いています。

はじめての78Kマイコン 付録の78Kマイコン基板 クリックで画像表示

「はじめての78Kマイコン」正誤表


8ビット All Flashマイコン(78K0S/Kx1+),78K0S/KA1+(uPD78F9222)

FLASH-ROM:4K Byte
RAM:256 Byte
MAX:10MHz
VDD:2.2-5.5V

8ビットAll Flashマイコン : “小ピン”シリーズ(78K0S/Kx1+)78K0S/KA1+

ドキュメント情報一覧(シリーズ名:78K0S/KA1+)

“小ピン”マイコン用 サンプル・プログラム

※蛇足:先頭のuの文字は正確にはμ(ギリシャ文字のミュー)で、日本電気的な読み方は"マイクロ"が正しいようですが、ここではアルファベットの小文字のuを使います。

・本書付属の CD-ROMの中身(の一部)
本書付属の CD-ROMの中身(の一部)


productid.txt プロダクトIDの書いてあるテキストファイル(インストールに必要)
ra78k0s_w140_j.exe 統合開発環境(W1.40)
cc78k0s_w150_j.exe Cコンパイラ(W1.50)
df789234_v210.exe デバイス定義ファイル(コンパイラで使用する、DF9222.78K、V2.10)
prm78f9234_v102.exe デバイス定義ファイル(WriteEZ2で使用する、78F9222.prm、V1.02)
WriteEZ2(フォルダの中身全部) 78K用書き込みソフト(V1.00)

UPD78F9234 開発ツール一覧
上記の最新版ダウンロード先

“小ピン”マイコン用 フリー・ツール

パラメータファイル(prm78f9234_v105.exe)

“小ピン”マイコン用 簡易書き込み回路,簡易プログラミング・ソフト(自作ライタ)

簡易プログラミングソフト WriteEZ2 Ver1.10

78K FAQ(よくある質問と答え)

78K0S開発環境(よくある質問と答え)



●78Kマイコンの開発環境のセットアップ手順
・(1)USBドライバのインストール (FTDIの FT232BM)

本書付属の 78Kマイコン基板には FTDIの FT232BMが使用されているので それの VCPドライバをダウンロードして解凍する。
78Kマイコン基板をパソコンの USBポートに接続するとドライバのインストールを要求してくるので解凍したディレクトリを指定する。

FTDI(Future Technology Devices International)

Virtual COM Port (VCP) Driver "CDM 2.00.00.zip"
↑クリックでダウンロード


・デバイスマネージャで 78K基板の FTDIの FT232BMに割り当てられた COMポートを確認
デバイスマネージャで 78K基板の FTDIの FT232BMに割り当てられた COMポートを確認



・(2)開発ソフトのインストール (統合開発環境、Cコンパイラ、78K用書き込みソフト)

統合開発環境
・ra78k0s_w140_j.exeを実行、インストール先は C:\NECTOOLS32
ra78k0s_w140_j.exeを実行、インストール先は C:\NECTOOLS32


・途中の質問には AUTOEXEC.NEWを選択する(NT系にインストールするのにカッコ悪い!)
途中の質問には AUTOEXEC.NEWを選択する(NT系にインストールするのにカッコ悪い!)



Cコンパイラ
cc78k0s_w150_j.exeを実行、上記と同様にインストール先は C:\NECTOOLS32

78K用書き込みソフト
・WriteEZ2(フォルダ)を C:\NECTOOLS32にコピー
WriteEZ2(フォルダ)を C:\NECTOOLS32にコピー



・(3)デバイス定義ファイルの解凍 (uPD78F9222用)

Cコンパイラ用デバイス定義ファイル
・df789234_v210.exeを実行して C:\NECELに解凍する
df789234_v210.exeを実行して C:\NECELに解凍する


WriteEZ2用デバイス定義ファイル
・prm78f9234_v102.exe C:\NECELに解凍する(C:\NECEL\PRM78F9234_V102に解凍される)
prm78f9234_v102.exe C:\NECELに解凍する(C:\NECEL\PRM78F9234_V102に解凍される)


・(4)デバイス定義ファイルの設定 (DF9222.78K、78F9222.prm)

Cコンパイラ用のデバイス定義ファイルの設定


・スタートメニューの78Kから「デバイスインストーラ」を選ぶ
スタートメニューの78Kから「デバイスインストーラ」を選ぶ


・C:\NECELを指定する
C:\NECELを指定する


・DF9222.78K以外は不要なので削除した方がスッキリする
DF9222.78K以外は不要なので削除した方がスッキリする


・スッキリ!
スッキリ!


WriteEZ2用のデバイス定義ファイルの設定


・C:\NECTOOLS32\WriteEZ2の中の WriteEZ2.exeを実行する
C:\NECTOOLS32\WriteEZ2の中の WriteEZ2.exeを実行する


・メニューから Device→ Setupを実行する
メニューから Device→ Setupを実行する


・C:\NECEL\PRM78F9234_V102の中の 78F9222.prmを指定する
C:\NECEL\PRM78F9234_V102の中の 78F9222.prmを指定する


・Portは FTDIの COMポートに設定する
Portは FTDIの COMポートに設定する


・(5)CD-ROMのサンプルプログラムのコピー (DF9222.78K、78F9222.prm)
・CD-ROMの programフォルダごと HDDにコピーする、コピーした後はプロパティで読み取り専用属性を解除する
CD-ROMの programフォルダごと HDDにコピーする、コピーした後はプロパティで読み取り専用属性を解除する



以上で 78K0S/KA1+(uPD78F9222)マイコンの開発環境の構築が完了します。

●実際の開発
PM Plusを使用する方法



・スタートメニューの78Kから「PM Plus」を選ぶと統合開発環境が起動する
スタートメニューの78Kから「PM Plus」を選ぶと統合開発環境が起動する






●ChaNさんの78K0S/Kx1+ Serial Programmer R0.01を "はじめての78Kマイコン基板"に対応させる改造

78Kライタの製作 ~ワンコイン(\500)で始める78Kマイコン~
から書き込みプログラムをダウンロード


下記変更追加を行います。
※Windows 98SEと Windows 2000 Proで動作確認済み

・先頭に変更追加
DWORD CodeSize = 0;
//	下記をコメントにする
//DWORD FlashSize = 8192;
//	下記を追加する
DWORD FlashSize = 4096;		//	CHANGE Sakamoto 2006/09/20
BYTE CodeBuff[8192];		/* Program code R/W buffer */

・boot()に変更追加
 ~ 略 ~
	fputs("\nEntering programming mode...", stdout);

/*
	//	元々の部分をコメントにする
	// プログラミングモードに入る
	PurgeComm(hComm, PURGE_RXCLEAR);
	EscapeCommFunction(hComm, SETRTS);	// DGCLK = L
	EscapeCommFunction(hComm, CLRRTS);	// DGCLK = H
	send_cmd("\x55", 1);				// Apply 5 neg-pulses to DGDATA
	Sleep(20);
	EscapeCommFunction(hComm, CLRDTR);	// リセット解除・クロック供給開始
	Sleep(100);
*/

	//	下記を追加する
	//	ADD Sakamoto 2006/09/20
	// プログラミングモードに入る
	PurgeComm(hComm, PURGE_RXCLEAR);
	EscapeCommFunction(hComm, CLRDTR);	// DGCLK = H
	EscapeCommFunction(hComm, CLRRTS);	// RESET = H
	Sleep(100);
	EscapeCommFunction(hComm, SETRTS);	// RESET = L
	Sleep(50);

	//	DGCLK H-L-H
	EscapeCommFunction(hComm, CLRDTR);	// DGCLK = H
	Sleep(20);
	EscapeCommFunction(hComm, SETDTR);	// DGCLK = L
	Sleep(20);
	EscapeCommFunction(hComm, CLRDTR);	// DGCLK = H
	Sleep(20);

	//	DGDATA 5 H-L-H
	send_cmd("\x55", 1);				// Apply 5 neg-pulses to DGDATA
	Sleep(20);

	EscapeCommFunction(hComm, CLRRTS);	// リセット解除・クロック供給開始
	Sleep(20);
	EscapeCommFunction(hComm, SETDTR);	// DGCLK = L
	Sleep(100);

	// モード確認 (無効コマンドを送って0x01が返るかどうか)
 ~ 略 ~

・boot()とerase()の間にfin()追加
 ~ 略 ~
}

//	下記を追加する
//	ADD Sakamoto 2006/09/20
int fin()
{
	Sleep(20);

	EscapeCommFunction(hComm, CLRDTR);	// DGCLK = H
	Sleep(20);

	EscapeCommFunction(hComm, SETRTS);	// RESET = L
	Sleep(20);

	return 0;
}



int erase()
 ~ 略 ~

・main()に追加
 ~ 略 ~
	if(rc = program()) goto exit;
	//	下記を追加する
	fin()	//	ADD Sakamoto 2006/09/20
exit:

	printf("\nTurn-OFF target power and type any key...");
 ~ 略 ~



78K0/KF2,uPD78F0547D

FLASH-ROM:128K Byte
RAM:7K Byte
MAX:20MHz(+4.0V-),10MHz(+2.7V-)
VDD:1.8-5.5V

78K0/Kx2マイクロコントローラ(78K0/KF2)
uPD78F0547D

78K0シリーズ評価ボード(TK-78K0/KF2)

78K0/Kx2マイコン用 簡易書き込み回路,簡易プログラミング・ソフト(自作ライタ)


78K0雑感:I/Oピンの I/Oと 機能の切り替わり方法が非常に馬鹿な設計になっています。
どういう設計思想でこのような設計になったのか疑問に思います。

・I/Oの OUTと 機能(ファンクション)が IC内部で ORまたは ANDで結合されています。
 どうして 2入力のセレクタにしなかったのだろう?

・UART0の送信レジスタの状態を監視するステータスビットがありません
 送信レジスタに値を安全にセットするには送信完了割り込みを使う必要があります。



Tags: [ワンチップCPU]



[HOME] | [BACK]
リンクフリー(連絡不要、ただしトップページ以外は Web構成の変更で移動する場合があります)
Copyright (c) 2006 FREE WING,Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator

http://www.neko.ne.jp/~freewing/cpu/nec_78k/