3 Replies Latest reply on Oct 16, 2019 9:47 PM by MoTa_728816

    TSoC トラ技 5月号付録の CY8C4146LQI-S433 ボード (私の起動方法)

    MoTa_728816

      unnamed.jpg

       

      日本人の電○系技術者にとっては聖書的(?)存在のトラ技 (CQ出版社 トランジスタ技術) 5月号に

      なんと PSoC の基板 TSoC が付録に付いて来ました!

       

      IMG_3536.JPG

       

      私がいつも使用している プロトタイプ基板と比べても小さい、小さい!

      IMG_3537.JPG

       

      これは遊べそうだ! と喜んだところで、回路図を見ると、

      ICEがねぇ、USB-UART がねぇ、オラの村には電気が(ry

      という状態で単体起動は厳しそうです。

       

      トラ技の企画では、既に Boot Loader が書き込まれていて

      USB-Serial と電源を付けてやれば、シリアルブートローダで

      プログラムの書込みが出来る様です。

      ※ トラ技に詳しく手順が記載されています。 ← ここ重要!

       

      しかし、直情軽率傾向の私にはブートローダ経由の書込みが少し手間に感じますし、

      デバッグ出来ないのもちょっとしんどいかなと思い、どうやったら“手を抜ける”か考えてみました。

       

      ==== ご注意 ====

      以下は私個人の実験結果です。

      まったく保証はされませんので、

      お試しになる場合には個人責任でお願いします。

      ==============

       

      少し前に、別のスレッドですっぴんの PSoC 基板にプログラムを書き込んだり、デバッグをしたいのであれば

      一番安いのは CY8CKIT-043 を買ってくることだよと、ボブ尊師が書き込まれていました。

      というわけで、DigKey で CY8CKIT-043 を購入してみました、でも CY8CKIT-059 を購入した方が

      PSoC 4 と PSoC 5LP の両方を楽しめて良いかも知れません。

       

      さて、KitProg のお料理方法ですが、

      (1) CY8CKIT-043 (CY8CKIT-059等他の KitProg 付きの基板でも良いと思います。) を用意します。

       

      IMG_3500.JPG

      (2) KitProg の部分を切り離します。(折り取る感じですね)

       

      IMG_3501.JPG

      (3) ピンソケットを半田付けします。

      IMG_3503.JPG

      これで KitProg (左側) と PSoC の評価基板 (右側) の両方が手に入りました!

       

      そして最初の写真のように KitProg と TSoC 基板を接続します。

      KitProg     TSoC

      SWDIO     J1-9 (P3_2)

      SWDCLK  J1-8 (P3_3)

      RST          J3-10

      GND         J4-7

      VDD         J4-8

      UART_RX(P12[6])   J4-5

      UART_TX(P12[7])    J4-6

       

      そして PSoC Creator で簡単なテストプログラムを作成しました。

       

      Schematic

      schematic.JPG

      Pins

      Pins.JPG

       

      main.c

      =============================

      #include "project.h"

      #include "stdio.h"

       

      char str[128] ; /* print buffer */

      void print(char *str)

      {

          UART_UartPutString(str) ;

      }

       

      void init_hardware(void)

      {

          CyGlobalIntEnable; /* Enable global interrupts. */

          UART_Start() ;

          LED_Write(0) ;

      }

       

      void splash(void)

      {

          sprintf(str, "CQ Publishing TSoC Board Test (%s %s)\n", __DATE__, __TIME__) ;

          print(str) ;

      }

       

      int main(void)

      {

          int count = 0 ;

        

          init_hardware() ;

        

          splash() ;

       

          for(;;)

          {

              sprintf(str, "Loop %d\n", count++) ;

              print(str) ;

              LED_Write(!LED_Read()) ;

              CyDelay(1000) ;

          }

      }

      =============================

       

      デバッグ画面

      001-Debug-Screen.JPG

       

      実行結果 (TeraTerm のログ)

      000-TeraTerm-log001.JPG

       

      これで、TSoC 基板を使用して、あんなことやこんなことをする準備が整いました。

      さぁ、次は何をして遊びましょうか?

       

      moto