PSoC 5LP Prototyping Kitを動かしてみた(Lチカ編)

  • 投稿日:
  • by
  • Category:

少し前に秋月電子で購入しておいたサイプレス社のPSoC 5LP Prototyping Kitを動かしてみました。

cy8ckit_059.jpg

実はPSoCという名前は知っていますが、これまで一度も使ったことはありません。

まずはパッケージ裏面にあるURLから開発ツールをダウンロードして、手元のThinkPad X220(Windows 10 Preview)にインストールしました。

ユーザーズガイドを適当にみながら、まずはLチカを試すべく、PSoC Creatorをいじっていたところ、Example and KitsにこのPrototyping Kitの型番であるCY8CKIT-059がありました。この中のBlinking LED.cywkがきっとLチカだろうとクリックしたらProjectの場所を指定する画面が出てきたので適当にフォルダを指定したところ、そのフォルダにProjectが作成されました。

早速Buildをしたところ、ビルドは正常に完了したのですが、Targetにプログラムしようとしたら書き込めませんでした。この原因はこのボードの書き込み部であるKitProgのドライバのインストールをしていなかったためで、ドライバをインストールしたらTargetに書き込むことができました。

cy8ckit_059_blink.jpg

あたらめてProjectのソースをみていきます。一番先頭にあるTopDesign.cyschをクリックしたところ、次のような図面が表示されました。

psoc_blink.PNG

PWMと書かれている箱をクリックすると、PWMのパルス幅を設定する画面が表示されました。これで自由自在にデューティー比を設定できるようです。

また、PWMにClockが供給されていますが、このclockの波形の箱をクリックすると周波数を設定することができました。サンプルではClockは100Hzとなっており、PWMの設定で1sでLEDが点滅するようになっています。試しにこのclockを1000Hzに変更したところ、Lチカが100msの高速点滅になりました。

このようにPSoCには様々なコンポーネントが用意されており、自分が使いたいコンポーネントを選んでシステムとしてデザインし、コンポーネントの設定を変更するとそれがプログラムやデータに自動的に反映される仕組みなのでしょう。デザインやコンポーネントの設定画面もビジュアル的でわかりやすく、PSoCはなかなか奥が深そうです。

Lチカが終わったところでもう一つのサンプルであるADC and UARTを試してみることにします。

H8/3048F-ONE評価基板でKOZOSを動かしてみた(実装編)

  • 投稿日:
  • by
  • Category:

KOZOSはフルスクラッチの小さなOSです。今回は以前cygwin上に作成したH8 gccクロスコンパイル環境を使って開発をします。KOZOSのターゲットボードはH8/3069Fネット対応マイコンLANボード(K-01271)であり、今回のH8/3048F-ONE評価基板とCPUが違います。CPUのコアはH8/300Hなので同じですがフラッシュROMとRAMの容量が異なり、それに伴ってメモリマップも変わってきます。

  • H8/3069F ・・・・CPU内蔵 フラッシュROM 512KB、RAM 16KB
  • H8/3048F-ONE・・CPU内蔵 フラッシュROM 128KB、RAM 4KB

この評価基板には外部フラッシュROMや外部RAMも実装されているのですが、この時点ではどのようなメモリマップに配置されているのかがわからないので、CPUの内蔵ROM/RAMのみを使います。
ROMはともかくRAMが4KBしかない点が気になりますが、まずはできるところまでやってみようと考えました。

KOZOS本(「12ステップで作る 組込みOS自作入門」)を見て思い出しながら作業を進めました。

まずはシリアルへの文字出力から。

h8board03.jpg

問題なく表示できました。

次はbootloaderの移植です。メモリマップを合わせてこちらも動きました。

h8board04.jpg

この状態でXMODEMでのバイナリアップロードができるようになりました。

ELFのヘッダ解析も問題なくできています。

h8board05.jpg

bootloaderも動いたところで、いよいよKOZOSを動かしたいところなのですが、RAMの容量の関係でXMODEの受信バッファにKOZOSが収まりません。このため、bootloaderを使わずに直接KOZOSをフラッシュROMに書き込むことにしました。

内蔵フラッシュROMからKOZOSがbootして、echoの動作確認ができました。

h8board06.jpg

H8/3048F-ONEではフラッシュROMの書き込みは100回程度しか行えないとのことなので、本来であればフラッシュROMにはbootloaderだけ書き込んで、KOZOS本体はシリアルから読み込んでbootすべきなのですが、これから先は4KBの内蔵RAMだけでは動かすことができません。どうしても外部RAMを使うことになります。しかし、このあたりの仕様は不明です。

いろいろ調べたところルネサスのホームページでH8のモニタプログラムを見つけました。このモニタプログラムを動かすことができればメモリダンプや書き込み、プログラムの実行など基板の解析に必要な作業ができそうです。

KOZOSの移植は一旦中断して、このモニタプログラムの移植を開始しました。

(続く)

H8/3048F-ONE評価基板でKOZOSを動かしてみた(準備編)

  • 投稿日:
  • by
  • Category:

ソフィアシステムズさんのBDZ Series H8 Embedded Training Boardをヤフオクで手にいれました。

h8board01.jpg

すでに販売終了のもので何か仕様書のようなものはないかと探してみましたが見つかりませんでした。でも、秋月電子で販売しているH8/3069Fネット対応マイコンLANボード(K-01271)を使ったことがありますのである程度動かせるかなと。秋月電子でも同じCPUを使ったAKI-H8/3048F-ONEマイコンボード(K-02119)がありますのでこのデータシートも役に立ちそうです。

※この内容は個人的な興味で行ったもので保証はありませんし、内容についてソフィアシステムズ様などへの問い合わせ等も行わないようにお願いします。

このボードの概要は以下の通りです。

【特 徴】
・CPUに16ビット・ワンチップ・マイコン H8/3048F-ONEを採用
・μITRON(Ver4.0準拠)が動作可能なハードウェア仕様
・外部I/Fとして、RS232C×1chと100Base-Tを装備
・1MB外付けSRAMを搭載し、内蔵フラッシュROMを使用せずにデバック作業が可能
・プログラムダウンロード、オンチップデバックが可能なI/Fを装備

秋月電子のH8/3069Fボードではシリアルポートを使ってマイコンに書き込みを行いました。このH8ボードでも同様のことができるはずです。ボードのコネクタを目視で確認したところ次の2つがシリアルのようです。

・JCOM (RS232C)・・・D-SUB9Pで見るからにRS232C

・JPRG (3P)・・・・・PRGはプログラミングの略?

このH8ボードでは、CPUが小さい基板にはんだ付けされていて、全ピンが引き出されています。この部分を利用して、H8/3048Fのデータシートをみながらテスターで辿ってどのように接続されているのかを確認していきます。

マイコンのフラッシュに書き込むためのシリアルポートはポート1を使用しますが、このH8基板ではJPRGにTXD1,RXD1、JCOMにTXD0,RXD0が接続されていました。これで、JPRGコネクタがH8/3048F-ONEプログラム書き込み用と判断しました。

また、基板上にはRS232CドライバであるMAX3232があり、JPRGとJCOMはRS232Cレベルと考えられますので、いつものFT232基板(5V/3.3V)を使うのではなく、秋月電子のUSB-シリアル変換ケーブル(M-00720)を使いました。

WindowsPCをUSB-シリアル変換ケーブルを使ってJPRGコネクタに接続し、定番のFDTをインストールしてデバイスが認識されるかを確認したところ問題なく認識できました。これでH8/3048F-ONEへの書き込み準備ができました。

h8board02.jpg
次はマイコンに書き込むプログラムを作成します。以前H8を使ったときはKOZOSという小さいOSを書き込みましたので、この基板でもKOZOSを動かしてみたいと思います。
(続く)