carcon999のブログ

12年間Y!ブログの記載を移行しました。電子工作関連の記事が多いです。

プロジェクト始動です。

この先、夏休みなどで少し工作の時間が取れると思っているので、ARMで遊んでみようと思います。
お題は、PSP液晶を16bitカラーで表示させることを検討しています。
ただし、VRAMとして利用できるRAM、ROMがどうしても足りないので、フル表示などは難しいだろうな。

とりあえず、ARM基板で、液晶へのクロック速度がどの程度出せるかを調べてみることにしました。
もちろん、V850やSH2と比較して高速なはずです。何も、考えずにCDに付属されていた、LEDの点滅サンプルを少し修正して、液晶への送信クロック速度を計測してみようとオシロスコープを接続するも、全然思った速度が出ていません。(4M Hz程度を期待しているのに、0.6 Mhzみたいな・・・)

まあ、当然ですね。PLLの設定も何も行っていないのでデフォルト速度での動作サンプルのようです。
PLLを有効にして、最大の動作速度で実行したいのですが、マニュアルを最初から読むのは、チョット大変です。本を読んでいると、ARMではライブラリが充実しており、ライブラリを利用するのが良さそうです。

しかし、ライブラリの利用方法が良く分かりません。ビルド方法も良く分かりません。
私が購入したのはDWM5月号のみなので、もしかしたら6月号などで詳しく紹介されているのかもしれませんが、手元にないのでCDに入っている情報が全てです。

仕方ないので、ライブラリと呼ばれているもののソースコード中を少し見てみると、なにやらそのままコピーすれば使えそうです。(ライブラリと呼ばれているものは、コピーして使うものを意味しているのか?)

STM32F10xFWLib\FWLib\libraryのフォルダ内にsrcとincフォルダがあるので、そのファイルをプロジェクトにコピーして利用することにしました。また、STM32F10xFWLib\FWLib\examples\RCC内に、ライブラリの呼び出しサンプルらしきものがあります。

起動時の動作クロック関係で必要なライブラリは、
stm32f10x_rcc.h
stm32f10x_flash.h
の2ファイル+Cソース+関連ヘッダーでビルドすることが出来ました。

さて、動かしてみると、9MHz ~ 7MHz程度のスピードが出ています。ただし、色数16bitかつクロックのデューティー比やホールド時間も少し怪しいので、もう少し落ちると思いますが、液晶装置が求めるクロックに近い値を出せるかもしれません。すこしやる気が出てきました。

ハードは、全然作っていないのでこれから作って検証してゆきます。