忍者ブログ
グラビアアイドルについて語るブログ。
[17] [16] [15] [14] [13] [12] [11] [10] [9] [8] [7]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

gcc で CQ_V850 アプリ開発をするためにまとめたメモです。インターフェース2007年6月号「TOPPERS OS の移植とライン・トレース・カーの製作事例」のサンプルソースを参考にしています。

今回はスタートアップ・ルーチンでのレジスタの設定についてまとめました。


■最初に設定するレジスタ

最初に設定しなければならないレジスタは次の3つです。(ユーザーズ・マニュアル「V850ES/JG2 ハードウエア編」85ページ)

(1) システム・ウエイト・コントロール・レジスタ (VSWC)

動作周波数が16.6MHz未満では0(ノー・ウエイト)を、16.6MHz以上では1(ウエイト)を設定します。

動作周波数は、PLLCTL の設定がクロック・スルー・モード(デフォルト)であれば5MHzに、PLL モードでは20MHzになります。

(2) オンチップ・デバッグ・モード・レジスタ (OCDM)

通常動作モードにするには0を設定します。特定レジスタですので、特定の手順で設定します。

(3) ウォッチドッグ・タイマ・モード・レジスタ2 (WDTM2)

ユーザーズ・マニュアル「V850ES/JG2 ハードウエア編」422ページによると、ウォッチドッグ・タイマ2を停止するには、通常は RCM.RSTOP ビットに1を設定(内蔵発振器の停止)した上で WDTM2 レジスタに0を設定すればいいようですが、WDTM2.WDCS23 ビットに1を設定しても停止できるようです。サンプルでは後者の方法で停止しているということになります。


■特定レジスタ

次の8個のレジスタは、書き込み保護されている特定レジスタです。(ユーザーズ・マニュアル「V850ES/JG2 ハードウエア編」81ページ)

(1) パワー・セーブ・コントロール・レジスタ (PSC)
(2) クロック・コントロール・レジスタ (CKC)
(3) プロセッサ・クロック・コントロール・レジスタ (PCC)
(4) クロック・モニタ・モード・レジスタ (CLM)
(5) リセット要因フラグ・レジスタ (RESF)
(6) 低電圧検出レジスタ (LVIM)
(7) 内蔵 RAM データ・ステータス・レジスタ (RAMS)
(8) オンチップ・デバッグ・モード・レジスタ (OCDM)

特定レジスタへの書き込みは、次の手順で行います。

・DMA 動作を許可していた場合は禁止する。
・特定レジスタへの設定データを汎用レジスタに用意する。
・PRCMD レジスタに設定データを書き込む。
・特定レジスタに設定データを書き込む。
・NOP 命令を5回挿入する。
・DMA 動作が必要であれば許可する。

(例) PCC レジスタに2(メインクロック動作、4分周)を設定
movhi  hi(PRCMD), r0, r1
movea lo(PRCMD), r1, r1
movhi hi(PCC), r0, r3
movea lo(PCC), r3, r3
mov 0x02, r2
st.b r2, 0[r1]
st.b r2, 0[r3]
nop
nop
nop
nop
nop

PR

コメント


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


トラックバック
この記事にトラックバックする:


忍者ブログ [PR]
ブログ内検索
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
最新コメント
[07/07 tiffany jewelry uk]
[09/17 車載モニター・阿蘇テック]
[08/30 愛]
[06/12 シモネッタ]
[06/11 arms22]
最新トラックバック
フリーエリア
あわせて読みたい
    Firefox 2 無料ダウンロード
    バーコード
    プロフィール
    名前:
    シモネッタ
    性別:
    非公開
    カウンター
    アクセス解析