人気ブログランキング | 話題のタグを見る

V850 インターフェイス付録基盤で遊ぶ 2

今回は、ソフトの話。

とりあえず、付属のCDのサンプルから解析を始めよう・・・



VSWC= 1;//システム・ウエイト・コントロール・レジスタ
WDTM2= 0;//ウォッチドッグ・タイマ・モード・レジスタ2

__asm("mov0x00, r11");//r11をクリア
__asm("st.br11, PRCMD");//特殊レジスタを一回限り変更可能にする
__asm("st.br11, PCC");//PCCレジスタ



これがとりあえず、一番最初に実行すべき内容みたい・・・
ん~ 読めば読むほどプログラムがめんどくさくなっていく・・・
C言語じゃないな~ アセンブラに近いC言語って所か・・・
まぁ、慣れれば離れられないかもしれないけどw

コンパイラーの問題は、レジスタの名前どおり勝手にソフトが認識しているということ。
だから、予約語リストとかは無くて、ヘッダーもない・・・・

まぁ、サンプルプログラムの解析には、変数名をそのままデーターシートで検索すればスグだしw



while( LOCK );//クロックが安定するまで待つ。




これが、珍しい気がする。
PLLクロックを内部で使っているから、安定するまでプログラム上で待たなくてはならないらしい。

この、プログラム上で、って点が珍しいってか、不思議な感覚なんだよ。
FPGAとかなら、フラグが立つまで待ったりするんだけど・・・
マイコンでも、待つんだな~と思って・・・

ってか、ここら辺、記事にかかれてないから、結構曖昧な記事だな~と思ったw


SELPLL= 1;//PLLモードに指定


これで一応PLLモードに関するプログラムなんだけど・・・
どうも、”SELPLL”はPLLが安定してから指定しないと意味がないという、なんとも不思議なプログラムになるみたい・・・

なんか、CPUがモジュールの集合体みたいな感覚で扱えるな~
意外と仲良くなっていけるかもしれないw



ん~ 底から先は、どうも専用のプログラムになっているみたい。

ret= _rcopy( &_S_romp, -1 );

とか

__nop();

とか・・・

ん~、難しいもんだな~ プログラムってさ
それに、NECの開発環境って、バラバラで、しかもエディターは使いづらいし・・・
結局、いつも使い慣れているエディターで書いてるし・・・
特殊変数も検索できないし・・・

まぁ、頑張るかw


****追記****

ret= _rcopy( &_S_romp, -1 );

については判ったけど・・・
コイツはどうやら、固定ROMとフラッシュROMを切り替える見たいなんだけど・・・
固定ROMってなんだ?フラッシュROMは、フラッシュROMだよな・・・
コンパイラーのデーターシートをパラ読みしたんだけど・・・

以下推測。
多分、固定ROMって言うのは、同じフラッシュROMに焼くんだけど、一度も変更しない領域のことじゃないかな・・・
Bootup.s ってファイルに色々書き込んでいるみたい。

なんだけど、データーシートに書いてあるサンプルのプログラムが、Bootup.s に記述されてないのよ・・・
mainにジャンプする記述はあっても、フラッシュROMへのジャンプは書いてないのよ・・・

ためしに、
ret= _rcopy( &_S_romp, -1 );
をコメントアウトしてコンパイラしたんだけど、結局同じ結果でチカチカLEDが光っているのよ・・・

ん~、コレは・・・どういうことでしょう。
BootupはCDのサンプルをコピーしているから・・・
今のプログラムじゃ、いらね~んじゃないかな・・・
もう少し大きなプログラムをするときとかに必要とか・・・
ん~ 判らん。

あれ・・・ CPUの初期化のプログラム入れなくても実行される・・・
なんだ?あ~もうわけわからん!

ん~初期化だけは必要みたい。
動作クロックが遅くなるみたい。ってか変なチカチカ波形が出るから、動作不安定になるのかな・・・
でも、
ret= _rcopy( &_S_romp, -1 );
は、無くても問題ないかもしれない。
************

by Noise_Blog | 2007-03-26 20:20 | E lectron

<< V850 インターフェイス付録...    V850 インターフェイス付録... >>