誰でも簡単マイコンプログラミング
電の記、最初はRL78/G13を用いたソフトウェアについて書いてみたいと思います。
RL78/G13 ソフトウェア開発
あくまで自分が行ってきたソフトウェア開発の考え方で行います。ソフトウェアの特に記述や基本の考え方は色々ありますというか千差万別/十人十色、本当に人により書き方・考え方異なります。自分もどれが正解であるかはわかりませんが自分がもっとも納得のいく書き方で・考え方で説明をしていきたいと思います。ここの内容は、書き方の参考にしていただいても良いですし自分は違う書き方が・違う考え方があるぞという方はぜひご意見等いただけると嬉しいです。
準備
ということで、CS+(旧CubeSuite+)によるRL78/G13Gのソフトウェア開発について解説していきたいと思います。たまたま、AmazonでRenesasの評価基板QB-R5F100LE-TBが購入できましたのでこの評価基板を使用した参考プログラムの作成を行います。追加でAmazonに売っていたTTL-RS232変換基板とRS232-USBを使った通信まで行います。Cable Creation USB to RS232アダプタとRasbee RS232 TTL コンバータモジュールを今回は使用しました。が無くてもこちらの商品を取り扱った個所を飛ばしてお読みください。
コンパイラは、CC-RL、エミュレータは、E2Liteを使用。
CS+とCC-RLコンパイラは、ルネサスエレクトロニクス株式会社のWEBよりダウンロードして使用します。
評価基板とエミュレータは、Amazon購入です。(自分の購入時点の価格)
評価基板 :¥3,538
エミュレータ :¥12,000
RS232-USB :¥1,699
RS232変換基板 :¥549
コンパイラーは、自分の環境では下記です。
CS+ for CC V8.07.00 [01 Dec 2021]
@ 2010,2021 Renesas Electronics Corporation
ハードウェア・ソフトウェア仕様
今回は、ソフトウェア中心の説明で前述の準備からも漏れていますがハードウェア製作には電源やちょっとした接続ハーネス製作の必要あります。機会があれば使用しているものやその評価など載せていきたいです。
ハードウェア
回路図は、下記とします。青枠で囲ったところが追加したところです。
実際の写真は、こんな感じでとてもシンプルです。
ソフトウェア
ソフトウェアの仕様は、下記とします。
・SW1(P137)を押したら処理を開始します。
・処理は、処理1-処理2-処理3の順に順次進みます。
・処理1は、15秒間
・処理2は、5秒間
・処理3は、10秒間
・処理1の時には、LED1(P62)を点灯させます。
・処理2の時には、LED1(P62)とLED2(P63)を点灯させます。
・処理3の時には、LED2(P63) を点灯させます。
・処理1-2-3が終了するとまたSW1を受付できる状態となります。
・通信は、オプションで上記のスイッチ状態や出力状態をモニタします。
・通信仕様は、UARTで以下とします。
データビット長 : 8ビット
データ転送方向 : LSB
パリティ : パリティなし
ストップビット長: 1.0ビット
ボー・レート : 38400bps
ソフトウェア製作
CS+を使用したソフトウェア作成は、次の3ステップで作成します。
1.プロジェクト作成
プロジェクトの新規作成を行います。
CPUを選択しプロジェクトの作成場所など設定します。
CPU依存のステップ
プロジェクトの新規作成
メニュー「ファイル」から「新規作成」-「新しいプロジェクトを作成」を選択します。
マイコンの指定
使用するマイコンを指定します。購入できたサンプルの基板に搭載のCPUを選択します。今回はRL78/G13の64pinが購入できましたので「R5F100LE(64pin)」を選びます。
プロジェクト名の指定
プロジェクト名と作成場所を設定します。(プロジェクトの種類は、アプリケーション(CC-RL)です)プロジェクト名のフォルダを作成するには☑を入っていると思いますが入っていることを確認して「作成」を押します。
コード生成結果
自動で初期コードが作成されます。
ここで作成されたコードは、選択したCPU依存の専用コードとなります。
2.基本機能設定
プロジェクトが作成されたら基本機能設定を行います。
CPUを含む基板/ハードウェアの設定を行います。
設定できましたらコンフィグレータでハードウェア依存コードを生成します。
端子割り当て設定
CPUがRL78/G13の場合CPUのピン機能を変更可能ですので自分が使用したい機能でピンの設定を行います。今回は変更しませんのでそのまま「確定する」を押します。
端子の割り当て表(RL78/G13の場合)は添付であり、もしピン割り当てを変更する場合は割り当てる設定のPOIRのビットを変更します。この変更を行う場合はメッセージにもでていますが他の設定をする前の一番最初に行う必要があります。
CPUピン機能を確定させた状態で基板回路に合わせた設定や使用する機能の設定を行っていきます。
クロック設定
クロック設定から始めます。CPUピン機能を確定させた状態で基板回路に合わせた設定や使用する機能の設定を行っていきます。
クロックは、20MHzのクロックが搭載されていますのでX1のクロック設定をしておきます。発振安定時間は、クロックを入力すると設定されますのでユーザが変更の必要はありません。
時計用クロックも搭載されていますが今回使用の予定がないため設定はそのまま(何も設定しない)にしておきます。
エミュレータ設定
オンチップ・デバッグ(エミュレータの)設定です。使用するエミュレータを設定してください。自分はE2-Liteですので下記の設定です。
ポート設定
ポートのI/O設定を行います。
ポートの設定ではI/Oの設定を行い、機能の設定は各機能で設定しますので今回は出力ポートとしてP62とP63のLED出力と入力ポートとしてP137のSw入力を設定しておきます。まずはP62、P63を設定します。
次にP137を設定します。
シリアル設定
シリアル設定を行います。
「SAU0」のチャンネル設定でチャンネル0を設定します。
設定は、パソコンとRS232通信を行いたいので「UART0」として「送信/受信機能」とします。
受信機能設定
転送レート設定としてボー・レート「38400」を設定します。割込の設定は、「高」にしておきます。
送信機能設定
同様に転送レート設定をボー・レート「38400」を設定します。割込は、「低」のままとします。
タイマ設定
タイマ設定を行います。
タイマは、インターバルタイマーを2つ作成します。
チャンネル0
チャンネル0は、500usのインターバルタイマで入出力を管理します。
チャンネル1
チャンネル1は、10msのインターバルタイマでユーザのタイマの時間カウントを行うものとします。
ウォッチドッグ設定
最後にウォッチドッグの設定を行います。(確認をします)
ウォッチドッグの設定がされていることを確認したらコード生成を行います。
コード生成結果
正常にコード生成できると「コード生成」と新たなカテゴリが追加されています。
そこを展開するとコンフィグレータが作成した基本機能ファイルが生成されているのが確認できます。
以上で設定は終了なのでユーザのプログラム作成に移ります。
3.ユーザプログラム追加
ユーザプログラムを追加しデバッグを行っていきます。
自動コード生成した基本コードにユーザのプログラムを追加していきます。
通常のプログラム開発の部分です。長くなったので次の投稿で行っていきます。
コメント