2016年02月24日

CypressのPSoCを使うの巻(13):アナログサブシステム

PSoCのデジタルはPLD/データパスを含むUDBが複数で構成され、他のモジュールと接続されて柔軟な構成となっていました。

それでは、アナログサブシステムはどうなっているのでしょうか?

・柔軟で、再構成可能なアナログの配線構成
・高分解能のDelta-Sigma ADC
・2つの逐次比較型 ADC
・4つの8ビットDAC
・4つの比較器
・4つのSC/CTブロック
・4つのopamp
・タッチパネル用のCapSense
・正確なリファレンス用のアナログ用電圧

PSA_0037.png

posted by EWARMJP at 12:00| Comment(0) | TrackBack(0) | Cypress | このブログの読者になる | 更新情報をチェックする

2016年02月20日

CypressのPSoCを使うの巻(39):EWARMのリンカ設定

今回、EWARMのリンカ設定で面白い記述を見たので、ここでご紹介

/******** Definitions ********/
define symbol CY_APPL_LOADABLE  = 0;
define symbol CY_APPL_LOADER    = 0;
define symbol CY_APPL_NUM       = 1;
define symbol CY_APPL_MAX       = 1;

変数の定義をしたり
if (!CY_APPL_LOADABLE) {
    define symbol CYDEV_BTLDR_SIZE = 0;
}



その変数をもとに、ブロック定義をしたり
if (CY_APPL_LOADABLE)
{
define block LOADER     { readonly section .cybootloader };
}

参考演算子で計算したり
/* The start address of Standard/Loader/Loadable#1 image */
define symbol CY_APPL1_START    = CY_APPL_ORIGIN ? CY_APPL_ORIGIN : CY_BTLDR_END;

こういう方法を知っていると便利ですね。
posted by EWARMJP at 12:00| Comment(0) | TrackBack(0) | Cypress | このブログの読者になる | 更新情報をチェックする

2016年02月18日

CypressのPSoCを使うの巻(38):SWOでデータログは?

今日はPSoCというよりはCortex-M3の話で、SWO機能でデータログを使ってみようと思うわけですが、うまく行きません。

アドレスがある変数を観測しますので、ここではグローバル変数gcを選択し、右クリックでデータログブレークを選択します。
PSA_0117.png

それで、データログを表示させて実行するのですが・・・
PSA_0118.png

同じSWOで、セミホスティングをやってもうまく行きません。。。
????
ちょっと、理由が解りませんが現状はSWOは動いているように見えますが、おかしい状況です。




posted by EWARMJP at 12:00| Comment(0) | TrackBack(0) | Cypress | このブログの読者になる | 更新情報をチェックする

2016年02月17日

CypressのPSoCを使うの巻(37):キットでSWOは使えるのか?(弐)

今日はPSoC 5LPキットでSWO信号を引き出してみたいと思います。

昨日も確認したように、プロジェクトの設定でSWV(SWO)を有効にしているのは確認しました。
配線を実行します。
といってもこれまでの信号に1本追加するだけです。P1_3とSWO信号を接続を追加しました。
PSA_0113.png

これまで使っていたプロジェクトでEWARMを起動します。
EWARMのメニューから[I-jet/JTAGjet]-[SWOトレースウィンドウ設定]を開きます。
PSA_0114.png

それで以下の右側のオプションを全部有効にしました。

PSA_0115.png

これで、SWOトレース画面を開いて実行します。
PSA_0116.png

ちゃんと、データが出てきているのでまずはOKです。





タグ:PSOC
posted by EWARMJP at 12:00| Comment(0) | TrackBack(0) | Cypress | このブログの読者になる | 更新情報をチェックする

2016年02月16日

CypressのPSoCを使うの巻(36):キットでSWOは使えるのか?

これまでPSoC 5LPのKitにはKitProgというICEが付いていますが、そのコネクタをI-jetにつなげることでEWARMを接続しました。
その端子部を再度確認してみます。
PSA_0109.png
ボードの接続を見ると5本で接続されています。
  • SWDIO
  • SWDCLK
  • RST
  • GND
  • VTARG
です。
しかし、このボードというかPSoCにはCortex-M3が内蔵されています。
Cortex-M3のデバッグではSWOが重要なのですが、デバッグ用のコネクタ側には出ていないということになります。

しかし、PSoC Creatorの設定画面を見てみます。SYSTEMの設定画面で、Debug Select の項目で、SWD+SWVとなっているではありませんか。SWVとSWOは呼び名が混同しますが、同一と考えてよいです。
PSA_0110.png


それで、通常JTAGとSWDはピンがシェアされていますので、SWV(SWO)信号はJTAGのTDO信号に配置されます。
TDOがこのPSoCのCY5C5888のピンでどこに配置されているかを見ると、P1-3です。
PSA_0111.png

さてボードではどうなっているかを見てみると、
PSA_0112.png

なにか出来そうな気がしてきました。。。





タグ:PSOC
posted by EWARMJP at 12:00| Comment(0) | TrackBack(0) | Cypress | このブログの読者になる | 更新情報をチェックする

2016年02月15日

CypressのPSoCを使うの巻(35):EWARMへのプロジェクトトラブル調査(肆)

昨日の実験ではcymetadata.cの変数をいったん#if 0で全部コンパイル対象から外すと、フラッシュ書き込み時のエラーは出ないことを確認しました。

この結果がどうか?というところで、実際にアプリを実行すると動かないことが判明しました。
もともとこの構成でしたが、動かなくなりました。
PSA_0074.png

そして、#if 0から#if 1に戻すとうまく動くので、何かが違うようです。
ただ、現状それ以上は不明です。
タグ:PSOC
posted by EWARMJP at 12:00| Comment(0) | TrackBack(0) | Cypress | このブログの読者になる | 更新情報をチェックする