はじめに anchor.png

RA4M2に対応した弊社オリジナルブートローダです。
マイコンに備わったUSBを経由してホストからマイコンボードのフラッシュROMへユーザプログラムを転送及び書き込んだり、書き込まれたユーザプログラムを実行するといった機能を持ちます。
e2studioにてコンパイルでき、ユーザ自身による改造も可能です。
ファイルの送受信にはXMODMプロトコルを使用しますが、全てのXMODEMに対応したターミナルクライアントでの動作を保証するものではありません。

Page Top

基本仕様 anchor.png

Page Top

コンパイル方法 anchor.png

renesas electronics社提供のe2studio最新版にインポートしてビルドします。

デバッガを持っていない場合はRenesas Flash Programmerでコンパイル済み.srecファイルを書き込みます

[添付]
Page Top

ソース及びコンパイル済みバイナリのダウンロード anchor.png

Page Top

メモリマップ anchor.png

本ブートローダはフラッシュROM上で動作するプログラムであり、一般のプログラムと何ら相違はありません。そのため、ブートローダ自身のサイズが大きいと、ユーザが使用できる領域が圧迫されてしまいます。
現在リリースしているバージョンでは占有フラッシュROM領域が64kbyte以下である前提とします。

bl_memmap.png

ユーザが使用できるフラッシュROMの領域は、ブートローダの後ろ0x00010000からフラッシュROMの最終アドレスまでとなります。

Page Top

ユーザプログラム anchor.png

ブートローダから実行を遷移させる事ができるユーザプログラムは、以下の条件を満たしていなければなりません。

  • 先頭アドレスが0x00010000にオフセットしており、ベクタテーブルがその先頭アドレスより配置されている
  • 0x00000000~0x0000FFFFのフラッシュROM領域に対して書き込み操作を行わない

e2studioを使用している場合は、リンカスクリプトファイルにてFLASHとして予約しているアドレスを修正すれば大抵のプログラムは動作するはずですが、それでも動作しない場合は広範な修正が必要になる場合もあります。

Page Top

使用方法 anchor.png

Page Top

デバイスドライバ anchor.png

USBを仮想シリアルポートとして認識させるためのドライバは、USBケーブルでマイコンボードとPCを接続するとデバイスドライバを要求されますが、自動検索させる事で自動的にインストールが行われます。
インストール後、新しいCOMポートがWindowsのデバイスとして追加され、SIMPLE TERMから該当するCOMポートを選択(COMポート番号はPCの環境によって変わるが、デバイス名に「STMicroelectronics Virtual COM Port (COMxxx)」が表示されたポートを選択)しオープンするとブートローダの各種コマンドが使用可能となります。

Page Top

ブートローダの動作フロー anchor.png

[添付]

ユーザプログラムへ実行が遷移するか、ブートローダがコマンドモードになるかの2つの状態に動作が分岐します。
ユーザプログラムへ実行が遷移する前にユーザ自らの操作でコマンドモードに遷移させる場合は、ハードリセット(リセットボタンの押下)を行います。ユーザプログラムが書き込まれていなければ、常にコマンドモードとなります。
また、ハードリセット以外の条件(WDTやソフトリセット等)でリセットされた場合は、再度ユーザプログラムへ実行が遷移します。

Page Top

コマンド anchor.png

SIMPLE TERMからのキー入力にて各種機能を実行します。

Page Top
ヘルプ '?' anchor.png

コマンドのリストを表示します。

2023/05/04 00:00:00>?
RA4M2 USB BL0.7
[w]write [r]read [e]erase [d]dump [g]go [s]set date&time
2022/05/04 00:00:00>
Page Top
書き込み 'w' anchor.png

ホストからフラッシュROMへファイルを転送及び書き込みを行います。

2023/05/04 00:00:02>w(y/n)

ここでyを入力すると転送を待ち受ける状態となりますので、STERMから任意のファイルを選択しXMODEMプロトコルで転送を開始させます。
成功すれば<OK>、失敗すると<NG>と表示されます。

2023/05/04 00:00:02>w(y/n)y
OK
2023/05/04 00:00:10>

本コマンドはユーザプログラムの実行は行わず、処理が完了するとコマンドモードに戻ります。

なお、既にユーザプログラムが書き込まれていると書き込みに失敗しますので、書き込む前には消去コマンドでユーザプログラム領域を消去する必要があります。

Page Top
実行 'g' anchor.png

フラッシュROMに書き込まれたユーザプログラムを実行します。

2023/05/04 00:00:15>g

ユーザプログラムが書き込まれていなければ、

2023/05/04 00:00:15>g
NG
2023/05/04 00:00:15>

というメッセージを表示してコマンドモードに戻ります。

Page Top
メモリダンプ 'd' anchor.png

メモリを16進数でダンプ表示します。スタートアドレスを入力せずにエンターキーのみを押すと、ブートローダ内で想定しているユーザープログラムが保存されているアドレスの先頭を指定したと見なします。

2023/05/04 00:00:20>d
 START ADDRESS:$00010000
00010000:FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ................
00010010:FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ................
00010020:FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ................
00010030:FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ................
00010040:FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ................
00010050:FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ................
00010060:FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ................
00010070:FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ................
00010080:FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ................
00010090:FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ................
000100A0:FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ................
000100B0:FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ................
000100C0:FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ................
000100D0:FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ................
000100E0:FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ................
000100F0:FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ................
---([u]up [d]down [ESC]exit)---
Page Top
消去 'e' anchor.png

フラッシュROMのユーザプログラム領域を消去します。

2023/05/04 00:00:30>e(y/n)

ここでyを入力すると消去を開始します。

2023/05/04 00:00:30>e(y/n)y
OK
2023/05/04 00:00:31>

トップ   差分 リロード印刷に適した表示   全ページ一覧 単語検索 最新ページの一覧   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
最終更新: 2023-05-04 (木) 12:22:42 (JST) (359d)