2008-08-09
EzPortの制御シーケンス
ColdFire | |
EzPortを調べていますが、縛りがきついです。
- Configurationレジスタはリセット後、1度しか書いてはいけない
- Configurationレジスタではクロックデバイダの値を指定するが、クロックはシステムクロックなのでPLLの設定を誰かが行っていると、正しい値が変わる
- そもそもEzPortのConfigurationレジスタとCFMCLKDレジスタは同じなのか。
- Users Manualの21.6節には(EzPortのコンフィグレーションではなく)CFMCLKDレジスタをセットしろと書いてある
- しかし、EzPortからはセットできない。
CFMCLKDは、マニュアルの間違い*1としても、リセットやPLLの縛りはきついです。結局、
- PDコマンドでEzPortからチップをリセットし
- WSRDコマンドでコンフィグレーション・レジスタに値を書く
というのが、唯一の許されるシーケンスです。PLLの初期値を調べなきゃ
CVSにアップロード
Asagao | |
EzPortに対応しようかなぁとAsagaoのコードを眺めていましたが、作業基盤があまりにも不安定すぎるのでCVSにアップロードしました。
その後、コードをリファクタリングしつつ、以前指摘された、プログラム中にUIFをいじれる問題を修正しました。現在、Release-1_1_0のタグを打っているのが最新コードです。
*1:と仮定するしかない
コメント
トラックバック - http://ecrafts.g.hatena.ne.jp/suikan/20080809