技術者見習いのメモ書き

電子工作や神社めぐりなどの趣味の話を中心に書いていきます。 Twitter:@hakura_riku

USB機能付き格安マイコンCH552Tの開発環境構築について

はじめに

CH552Tの開発環境構築について解説します.

CH55Xシリーズはintel8051というマイコン魔改造した物なので8051の開発環境でコンパイルしたコードならWCH社公式のISPToolでマイコンにプログラムを書き込むことができると思います.

今回はElectrodragon WikiでCH55Xシリーズのサンプルプログラムが公開されているKeilC51(uVision)を使って開発環境を構築します[1].

無料評価版Keil C51(uVision)の入手方法

無料評価版Keil C51(uVision)のインストーラはarm Keilの公式サイトからダウンロードすることができます.

※無料評価版ではオブジェクトサイズが32KBまで制限されています[3].

Keil Product Downloads

f:id:hakura03:20190330150457p:plain
Fig. 1 arm Keil公式サイト画面

C51を選択するとFig. 2の登録画面が出ます. 必要事項を記入するとインストーラをダウンロードできます.

f:id:hakura03:20190330150453p:plain
Fig. 2 登録画面

あとはインストールするだけです.

注意事項

windowsのユーザー名が日本語だとユーザーフォルダ名が日本語になるためKeil C51(uVision)のインストールに失敗します. ユーザー名が日本語の場合は英語名のユーザーアカウントを作ってインストールしてください.

Keil C51の有料版はKeil C51 COMPLER ASSEBLER KIT LICの場合241,560円でPK51 PROFESSIONAL DEVELOPER'SKIT LIC(1年間のライセンス)の場合154,430円だそうです. ※アメリカからの輸入品扱いとなるため価格は為替によって変動します.

学生ライセンスなども存在しないため個人で有料版を購入することはあまり現実的ではありません. コードサイズ上限以上のプログラムを作成する場合はSDCCを利用した方がいいと思います.

CH55Xシリーズ用のプロジェクトファイルの作り方

uVisionを起動したら赤丸で示す部分を選択してください.

f:id:hakura03:20190330153214p:plain
Fig. 3 uVison起動画面

赤丸で示す部分を選択するとプロジェクト製作画面がでるので好きな名前をつけてください.

f:id:hakura03:20190330153137p:plain
Fig. 4 プロジェクト名称決定画面

Keil C51は公式でCH55Xシリーズをサポートしているわけでは無く, intel8051系のマイコンAT89C51やAT89S51用のコンパイラを持っているだけです[1][4]. そのためプロジェクトファイルを作る際にはAT89C51もしくはAT89S51を選択してください. OKを選択するとプロジェクトファイルが作られます.

f:id:hakura03:20190330153935p:plain
Fig. 5 CPU選択画面

uVisionの標準設定ではHEXファイルを出力してくれません[1]. HEXファイルを出力するように設定を変更する必要があります. Fig. 6に示すOptions for Tergetを選択してください.

f:id:hakura03:20190330155436p:plain
Fig. 6 HEXファイル出力設定1

Options for Tergetを選択するとFig. 7に示す画面が出てきます. 赤線で示すOutputタブを開き, 赤丸で示すCreate HEX Fileのチェックボックスにチェックをつけてください.

f:id:hakura03:20190330155923p:plain
Fig. 7 HEXファイル出力設定2

HEXファイルの出力とは関係ありませんが, TargetタブのMemory Model をLarage : variables in XDATAに設定しておくと便利です.

f:id:hakura03:20190330160212p:plain
Fig. 8 メモリサイズ設定

※HEXファイルの設定とメモリサイズの設定はプロジェクトファイルごとにおこなう必要があります.

サンプルプログラムの入手先

Electrodragonが配布しているサンプルプログラムは以下のリンクにあります.

e_dragon / WCH / source / — Bitbucket

ファイルをダウンロードしたら「e_dragon-wch-ed9fe291571d\CH55x\EVT\CH554EVT\EXAM」内にあるCH554.uvproj以外を作成したプロジェクトフォルダ内にコピーしてください.

f:id:hakura03:20190330230518p:plain
Fig. 9 プロジェクトフォルダへコピー

CH554はCH55Xシリーズの一つでCH552にUSBホスト機能を追加したマイコンとなっています. そのためCH554のプログラムはUSBホスト機能などCH552に実装されていない機能のプログラムを削除もしくは使用しないことでCH552でも利用できます.

WCHISPToolの入手先

WCHISPToolはWCH社が公式で提供しているプログラムです. CH55Xシリーズなどにプログラムを書き込むために使用します.

WCHISPTool_Setup.exe - 江苏沁恒股份有限公司

WCHISPToolのSetup.exeをダウンロードしてインストールしてください.

おわりに

CH552の開発環境構築について解説をおこないました. Lチカなどの基本的なプログラムについては参考文献[1]のブログで紹介されているので, 次の記事ではCDCクラスを用いたUSBシリアル通信をCH552でおこなう方法について解説したいと考えています.

参考文献

[1]べーた, ‘‘Cerevo TechBlog [21日目]激安中華USBマイコンは使えるのか, ” https://tech-blog.cerevo.com/archives/6068/.

[2]江苏沁恒股份有限公司, ‘‘8 位增强型USB 单片机CH552、CH551,” https://datasheet.lcsc.com/szlcsc/Jiangsu-Qin-Heng-CH552T_C111367.pdf.

[3]boochow, ‘‘楽しくやろう。ARMの開発環境「MDK」と「µVision」でmbedのデバッグを試してみた,” https://blog.boochow.com/article/441231592.html

[4]Electrodragon, ‘‘Electrodragon Wiki,”https://www.electrodragon.com/w/WCH.