2016年6月24日金曜日

PSoC5LP Prototyping KitでEEPROMを使ってみる。

シーケンサーで作ったシーケンスを永続化したいのだが、何が一番簡単か考えてみるとマイコンに内蔵されているflashメモリーに書いてしまえれば話が早そうだ。

だがしかし、ノイマン型ではない、なんだっけ名前忘れたが(^q^; プログラムをflashメモリにおいてSRAMを作業領域として分離して使うタイプのCPUだと、実行時にそうは簡単にflashメモリーに書き込めない仕組みになっているようだ。

flashメモリへの実行時書き込みは宿題として、簡単にアクセスできそうなメモリは

SDカード
EEPROM

ぐらいだと思う。

SDカードはハンダ付けしたり配線するのがめんどくさそうなのでEEPROMが内蔵されているPSoC 5LPでEEPROMを使ってみることにした。

試した見たのはPSoC CreatorのexampleのEEPROM_Designというプロジェクト。

基本的には「PSoC 5LP Prototyping KitでChar LCD(HD44780)を使う まとめ」と同じ配線で、プロジェクトのTopDesignに書いてあるように


Procedure:

2. Connect LED1 to pin P0[0], LED4 to P0[1] and SW1 to P0[2].

のとおり配線した。(LEDの1とか4の意味は分からないがCY8CKIT-001がそうなってるのかな?)


そのままではコンパイルが通らなかったので、PSoC CreatorのメニューからProject/Debice SelectorでPSoC 5LP Prototyping KitのCY8C5888-LP097を指定。

USBを引っこ抜いて挿しなおしても表示値は追随していたので、RST回数やERASE回数はEEPROMに保持されていると思う。

メモ:

PSoC5LPの型番は覚えにくいが、Prototyping KitはLP097、CQ出版のはLP035。

PSoCにはEm_EEPROMというコンポーネントがあって、EEPROMが実装されていないPSoC4てもflashメモリーでエミュレートできるようだ。

→製作中のベースマシンではmbedで使うNucleoF401REが親なのでSDカードで保持する方向で考えるべきか?