Back to page

− Links

 Print 

GCC Developer Lite :: Besttechnology

knowledge:GCC Developer Lite

Table of contents
  • はじめに
    • ちょっとだけ
  • 使用する前に
    • 対応するOS
    • パッケージに含まれるコンポーネント
    • インストールパッケージの入手
      • 更新内容
    • インストール
  • 使い方
    • GCC Developer Liteの使い方
      • エディタ
        • ファイル
        • 編集
        • 検索
        • キーボードマクロ
        • 入力補完
        • ウィンドウ
        • 参照
        • タグジャンプ
        • エンコード
        • 文字サイズ
        • エディタ設定
      • コンパイルオプション
        • 「外部コンパイル機能を使用」にチェックが入っていない場合
        • 「外部コンパイル機能を使用」にチェックが入っている場合
      • コンパイル
        • ビルド
        • デバッグビルド
        • デバッグビルド&デバッガで開く
        • ビルド&エミュレータで開く
      • ツールバー
      • 外部ツールの設定
      • 拡張子の登録
      • その他
    • FLASH WRITERの使い方
      • 詳細な設定変更
      • 設定ないしボタン類
        • CPU TYPE
        • PORT
        • BaudRate[bps]
        • Clock[MHz]
        • TimeOut[ms]
        • Find HyperTerminal
        • Write Script File
        • OK
        • Execute
      • 起動オプション
      • その他
    • SIMPLE TERMの使い方
      • ターミナルウィンドウ
      • プロパティ
      • ログ
      • ポートの開閉
      • FTDIチップ絡み
      • 転送
      • 起動オプション
      • その他
  • FAQ
  • 転載・転用・その他

はじめに anchor.png[1]

Page Top

ちょっとだけ anchor.png[2]

20年程昔になりますが、誰もが知る秋月電子さん[3]からAKI-H8なるマイコンボードが登場しました。周辺機能やメモリが1つのチップに収まっている事と、内蔵のフラッシュROMの書き換えが12V電源とシリアルポートさえあれば出来るという事もあって徐々に流行り始めたのです。当初はアセンブラのみが提供され、しばらくしてから機能制限付きのCコンパイラが販売されました。そのCコンパイラでも十分でしたが、ある程度使えると分かった途端に制限がネックとなって来たのです。
程なくして日立製作所の海外のサイトにgnuprotoolkitが公開され、お遊びでgccを使ってコーディングする様になり、とりあえず実現したい機能をCで記述できる様になってきます。しかしながら、ちょっとだけかじってみようと思ってもまだまだ敷居が高い状態が思いの外長く続くのです。
次第に我らにも面倒が降りかかるようになってきた事もあり、とりあえずほとんど変更の必要がないものには蓋をして、頻繁に変更する部分だけを表に見せソースをコンパイルだけのツールをこさえました。公になっているツールではありませんが、それが原型となって今のGCC Developer Liteへと続いていると言った所です。
相も変わらずLiteがついている事へのツッコミは無しとして、とりあえず目新しいチップを「ひとまず」動かす事の面倒さを軽減する事が第一の目的ですので、それ以外の機能拡張は面倒な手順をボタン一つで何とかしたいという程度の考えで追加されていると考えてください。「学習」とか「教育」といった崇高な目的からではなく、全て「横着」や「タダ」、「とりあえず」さらには「無理矢理」から派生しているのです。(以上作者談)

とはいうものの現在の所かなりのユーザに使っていただいており、玄人の方はわざわざ足枷の様な環境を好んで使う事はしませんので、ひとまずの大義名分は初めて使う方の「応援グッズ」という事にしています。

なお、このドキュメントを全て読み進める必要は全くありませんし、その意味もないほどツール自体の使い方は単純です。通常は各ターゲット毎に異なる開発フローだけわかれば良いので、先に各製品のドキュメントを参照する事をお勧めします。

Page Top

使用する前に anchor.png[4]

弊社マイコンボード製品にとって必須というツールではありません。商用の開発ツールを使用する事も選択肢の内です。
また、弊社の製品を対象として使用する場合にのみ無償サポートが受けられます。

Page Top

対応するOS anchor.png[5]

最新版ではできるだけ最新のOSに対応しますが、時折制限がありますので確認が必要です。
現在の所以下のOSに対応します。

  • Windows 7
  • Windows 8/8.1
  • Windows 10
  • Windows 11

また、本ドキュメントでは64bit版Windows11を前提として記述するため、その他のバージョンや32bit版ではインストールフォルダが一部異なります。

Page Top

パッケージに含まれるコンポーネント anchor.png[6]

インストールする前にインストールされるコンポーネントを確認しておきます。
Basal Packと各種ターゲットPackをインストールすると、概ね以下のフォルダツリーが作成されます。

gdl_new_tree.png
  • GCC Developer Lite "C:\Program Files (x86)\BestTech\GCC Developer Lite" 配下

    メモ帳で全角まみれのソースに気づかずにエラーが解消しない事に業を煮やして、秀丸の様に色々表示をカスタマイズできるネタを仕込んだテキストエディタが欲しいといったとこで生まれました。他のツールを起動したりコンパイルするといった機能はオマケ以下だったものが、対応するマイコンを増やしていくうちにいつしか多種多様になってしまいました。
    ちなみに、デフォルトでテキストエディタの背景が青いのは作者の悪趣味によるものなので、好きな色に変更して使ってくださいとの事です。

  • FLASH WRITER "C:\Program Files (x86)\BestTech\GCC Developer Lite" 配下

    H8/3048FマイコンのフラッシュROMへユーザ任意のデータを書き込むツールでしたが、H8 TinyやSH、ARMやら何やらと言っている間に「FLASH」という表現は曖昧になってきています。
    また、シリアルポートがPCとターゲット間の唯一のI/Fだったものが、DLLを仲介したりTELNETやFTPを経由したりとこちらも多様になっています。

  • SIMPLE TERM "C:\Program Files (x86)\BestTech\GCC Developer Lite" 配下

    シリアルターミナルクライアントです。元来Windowsにオマケでついていたハイパーターミナルを使っていたのですが、初めて起動する際にいちいち市外局番を入力させられるのがイヤで用意したそうです。
    今では当然の様にTeraTerm[9]を使うのでしょうが、COMポートの動的検出やポートの再接続といった操作を横着する機能はSIMPLE TERMにしかありません。
    なお、数百kbpsを超える高速なボーレートで通信するとすぐに露呈しますが、描画スピードに難があります。今後改善される事は無いそうです。

  • FLASHSimple "C:\Program Files (x86)\BestTech\FLASHSimple" 配下

    FLASH WRITERでは対応し切れていないルネサスのチップを採用した際に、hmseで提供されていた物を少し改造して同梱し始めたものです。既にメンテは放棄されていますのでオマケ程度にと思ってください。
    ちなみにFLASH WRITERよりも速いボーレートで書き込めますので、大きいファイルを転送する時には重宝します。

  • OpenOCD[11] "C:\Program Files (x86)\BestTech\openOCD" 配下

    基本的にTINY JTAG-ICE2[12]用として更新しているファイルと同等ですが、そちらの更新頻度が激しいためにGCC Developer Liteのインストーラに収められているバージョンはどうしても古くなります。ですが、できるだけ安定して使用できるバージョンを適用する様にしていますので、単体でOpenOCD[11]として公開しているバージョンに置き換える事は推奨できません。入れ替えは新し物好きか、重要なパッチが当たっている時だけにしましょう。

  • 各GCC "C:\ProgramData\BestTech\GCC Developer Lite\GCC" 配下

    アセンブラ、リンカ、Cコンパイラ等を含みます。現在含まれるツールチェインは以下の通りです。

    ARM (ARMコアシリーズ全般)
    AVR (AVRコアシリーズ全般 AVR Toolchainそのもの)
    SH (SHコアシリーズ全般 gnutoolそのもの)
    H8 (H8コアシリーズ全般 gnutoolそのもの)
    x86 (Windows 32bit版用 mingwそのもの)
    x64 (Windows 64bit版用 mingwそのもの)

    適当なフォルダにまとめ、フォルダごと移動しても単体で動かせる状態で構成されてさえいれば、Windows上で動くgnuのコンパイラ全てに対応できます。よって、ユーザ自身で用意したコンパイラを含めたり、自前で構築したgccを適用させることも何ら難しくありません。

  • ターゲットファイル "C:\ProgramData\BestTech\GCC Developer Lite\TARGET" 配下

    色々入っているのでごった煮と呼んでいます。対応するハードウェアが増えればGNUTOOLS同様それらに対応するファイルが必要(不要な時もあります)です。
    当初からマイコンのシリアルポートを使う事としている都合、ほとんどのターゲットが持つシリアルポートをputcやgetcといった低レベルの関数で利用できるにライブラリが提供されます。最近ではそれでは事足りず、OSライクな物までターゲットファイルとして提供する事もあります。
    ライブラリのせいで自分のプログラムの挙動がおかしくなる!といった時でも、マイコンや製品の略称で命名したフォルダ毎にソースとライブラリ、その他必要な諸々のファイルが収められていますので、いつでも参照できます。
    同フォルダにある拡張子がDEFとあるファイルに、GCC Developer Liteのコンパイルオプションで選択出来る設定リストの雛形が記述されています。また、以下のフォルダにターゲット毎に用意されたファイルが収められています。詳細は各々のターゲットの説明に譲ります。

    3048F
    3052F
    3067F
    3069F
    3664F
    3694F (H8​/3694Fマイコンボード[13])
    3687F (H8​/3687Fマイコンボード[14])
    7045F (SH7045Fマイコンボード)
    7047F (SH7047Fマイコンボード)
    7144F
    7145F (SH7145Fマイコンボード[15])
    7125F
    ATmega168 (ATmega168マイコンボード[16])
    ATmega32 (ATmega32マイコンボード[17])
    ATmega128 (ATmega128マイコンボード[18])
    AT90CAN128 (AT90CAN128マイコンボード)
    SAM3S4 (Digitus SAM3S[19])
    SAM7S (AT91SAM7S256マイコンボード[20], AT91SAM7S32マイコンボード[21])
    SAM7X (AT91SAM7X512マイコンボード[22])
    STM32F2
    STM32F373 (Digitus STM32F3[23])
    LPC82x
    LPC84x (DXMIO[24])
    FREERTOS_CM0P
    FREERTOS_CM3
    FREERTOS_CM4F
    DXLIB
    win

    マイコンボードを応用し機能を拡張した製品のDEFファイルにおいては、複数のフォルダを参照する設定がなされている場合もあります。

  • デバイスドライバ

    最近はUSB I/Fがマイコンに内臓されるようになってきています。現在の所AT91SAM7・SAM3S・STM32FシリーズのUDP用のみですが、弊社で販売しているターゲットをUSBケーブルでWindows PCとつないだ際に要求されるデバイスドライバを同梱しています。
    なお、一部署名のないデバイスドライバがあるため、OSによっては正常にインストールできない場合がありますので、インストールの見出しに記載された注意事項をよく読んだ上でインストール作業を行ってください。

    atm6119_cdc.inf (Atmel AT91SAM7S/AT91SAM7X/SAM3S Windows用仮想COMポートドライバインストール用定義ファイル)

    stmcdc.inf (STMicro STM32F1/F2/F3/F4Windows用仮想COMポートドライバインストール用定義ファイル)~

  • その他

    「%APPDATA%\BestTech\GCC Developer Lite」配下に各アプリケーションの設定がファイルとして保存されます。

Page Top

インストールパッケージの入手 anchor.png[25]

  • 基本パック(必須)

    GDLBasalPack2.7.0.3.exe[26]

    公開日: 2022/04/10
    サイズ: 19,385,006 byte
    MD5ハッシュ値: 311077c018f172a9e0c31f3becc792d9
    GCC Developer Lite・Simple Term・Flash Writer・ctags・openOCD・msys2コマンドラインツール同梱

  • H8パック

    GDLH8Pack202203.exe[27]

    公開日: 2022/03/01
    サイズ: 18,645,548 byte
    MD5ハッシュ値: a8bed8eb145f5b9a328919872d046136
    各renesas H8マイコンボード用ターゲットファイル・FLASHSimple・H8 GCC同梱

  • SHパック

    GDLShPack202203.exe[28]

    公開日: 2022/03/01
    サイズ: 22,415,583 byte
    MD5ハッシュ値: 0290f71ac6f26bd9932681cc7107d621
    各renesas SH2マイコンボード用ターゲットファイル・FLASHSimple・SH GCC同梱

  • AVRパック

    GDLAvrPack202203.exe[29]

    公開日: 2022/03/01
    サイズ: 16,188,746 byte
    MD5ハッシュ値: 1c4989c29f24e319a9a592e4e2cbe928
    各microchip AVRマイコンボード用ターゲットファイル・AVR GCC同梱

  • ARMパック

    GDLArmPack202204_1.exe[30]

    公開日: 2022/04/10
    サイズ: 55,408,517 byte
    MD5ハッシュ値: 009552782c64ac93213b9a01b7434acb
    各ARMコア内蔵マイコンボード用ターゲットファイル・CoFlash・ARM GCC同梱

  • WINパック

    GDLWinPack202204.exe[31]

    公開日: 2022/04/10
    サイズ: 290,910,155 byte
    MD5ハッシュ値: 704eb0914a87e4b4f9dc49e392a903c7
    Windows用GCC及びPython同梱

Page Top

更新内容 anchor.png[32]

2022/5予定

  1. 基本パック
    1. GCCDevL.exeのエディタフォントサイズ変更用ショートカットキー(Ctrl+ +/-)追加
    2. GCCDevL.exeのエディタにおいて対応する括弧へジャンプするショートカットキー(Ctrl+ [)追加
    3. GCCDevL.exeのDEFファイル(各ターゲットの設定ファイル)中の文字列中にダブルクォーテーションを多用するようになったのでフェンスをカギ括弧に変更
      それに伴い全ターゲットのDEFファイルを変更する羽目に
    4. STERM.exeのUSB挿抜イベント検出遅延を削除、コンポーネント更新に伴う再構築
      転送スクリプトが二重に励起される事がある原因は相変わらず不明である
    5. 最新版msys2・OpenOCD・ctags適用
  2. ARMパック
    1. 根強い希望によりDX2LIBのclient機能にsync_read・sync_write・bulk_read・bulk_writeの各インストラクションへの応答を追加
    2. DX2LIBの一部の追加APIの名称がWindows版を継承したままで使用できなかったのを修正
  3. FreePascalへの対応を始めたところ既存の問題が噴出し始める気配を感じたので、いったんここで締める

Version 2.7.0.3 2022/4/10

  1. 基本パック
    1. コンポーネント更新に伴うGCC Developer Liteの再構築
    2. 最新版msys2・OpenOCD・ctags適用
  2. Winパック
    1. 4/10現在の最新バイナリ適用
  3. ARMパック
    1. GDLArmPack202204版のパッケージに含まれるDXLIBの更新が不完全のままだった
      申し訳ないがGDLArmPack202204_1をダウンロードし直していただきたく
    2. 簡易printfに浮動小数亭表示を正式に追加(それでも簡易版)
    3. DXLIB/DX2LIBにRebootコマンド追加
    4. LPC84x用DMA版USARTルーチン内で個別に用意していたDMA Descriptorを全廃し、LPC Open内で定義されているChip_DMA_Tableを使用するように変更

Version 2.7.0.0 2022/3/1
先のバージョンはこの更新を行うための布石のため、一部のターゲットファイルが不完全であった

  1. GCCDevL.exe
    1. ターゲットファイルの配置場所としてProgramDataを対象に追加
    2. コンパイラ動作ログへの書き出しを高速化
    3. ショートパス名を強いるのはこのバージョンで終わりにする予定
    4. 高DPIに対応するつもりは今後一切無い
  2. msys2
    1. 最新版適用
    2. 一部のコマンドが/tmp絡みで煩いのでインストール時に生成しておく事に
  3. STERM.exe
    1. コンポーネント更新に伴う再構築
  4. openOCD
    1. 最新版適用
  5. ctags
    1. 最新版適用
  6. CoFlash
    1. デバイスにLPC8xxを追加したものを適用
  7. 全ターゲットファイル
    1. 同梱の再構築用のバッチ及びmakefileを全面改修
      ショートパス名の生成を要求しないための布石として相対パスで記述
  8. インストーラ
    1. 事前にレジストリの変更や再起動を必要とする操作をインストーラ内で行うように変更
    2. インストール時の条件を厳格化
    3. STERM用に不足していたファイルを追加
    4. 各ターゲットファイルのソース及びライブラリ、さらにコンパイラ本体の配置先をProgramDataに変更しパーミッションをフルアクセス化
      これによりユーザ自らによる修正や更新が容易に
    5. インストール先を内部固定としユーザが変更できないように構成
    6. アンインストール時の残骸が残りにくいように構成

Version 2.6.1.4 2022/2/7

  1. あまりにも肥大化しすぎてインストーラの生成すらままならなくなったので、IDE部分とターゲットファイルにインストーラーを分離
    ファイルサイズが小さくなったのでダウンロードが成功しやすくなったかも
  2. 色々手を入れたので何を修正したか失念
    多分改悪にはなってないと信じる
  3. Toppersを使ったライブラリを削除
    それに伴いFDIII-HCやUD3はサポート対象外とする
  4. SH・H8・AVR用のパッケージはこれ以後メンテしない
  5. RX用のGCCが異常とも思えるほど程肥大化しているので対策がなされるまで対象外とする
  6. 現状ARMコアを搭載した製品しか新規リリースしていないこともあり、それら製品向けのメンテナンスとしての位置付けが強い

Version 2.5.1.0 2013/09/04

  1. GCCDevL.exe
    コンポーネントの更新に伴う再構築
    保存ボタン活性・非活性の判定を修正
    コンパイルオプション内の記述を変更すると落ちるバグ修正
  2. STERM.exe
    コンパイラ・コンポーネントの更新に伴う再構築
    64bitネイティブ対応
    COMポート開閉時にDTRを制御(DSRは使用せず)
    新ターゲット向けの転送スクリプト追加及び修正
  3. OpenOCD
    0.8.0-dev-00391-gf4943ac適用
  4. GCC
    最新SH GCC適用
    最新RX GCC適用
    最新AVR GCC適用
  5. デバイスドライバ
    Atmel SAMシリーズ及びST32Fシリーズ向けUSB CDCエミュレーションドライバのまっとうな自動インストール対応
  6. SAM7S/Xターゲットファイル
    アセンブラによるスタートアップコードでの初期化処理を減らし、極力C言語で記述したコードに変更
    UDP(USB Device Port)ライブラリのCDCエミュレーションで、ホストによるポートの開閉を判断するのにDTRを使用する様に変更
  7. SAM3Sターゲットファイル
    UDP(USB Device Port)ライブラリのCDCエミュレーションで、ホストによるポートの開閉を判断するのにDTRを使用する様に変更
  8. UD3ターゲットファイル
    UD3.5サポート追加
    UDP(USB Device Port)ライブラリのCDCエミュレーションで、ホストによるポートの開閉を判断するのにDTRを使用する様に変更
  9. STM32F373ターゲットファイル
    新規追加
  10. その他各種ターゲットファイル
    GCC更新に伴うライブラリ再構築
    微修正等

Version 2.5.0.0 2012/12/19

  1. GCCDevL.exe
    コンポーネントの更新に伴う再構築
    諸設定ファイルの保存場所をユーザプロファイルに変更(ユーザ毎に設定を保存)
    エディタが言語毎に異なるプロファイルを保存していたものを旧来の方式に戻す(追加の色分け等が使用可)
    一部の環境で外部ツールのアイコンがおかしくなるのを修正
  2. STERM.exe
    コンポーネントの更新に伴う再構築
    諸設定ファイルの保存場所をユーザプロファイルに変更(ユーザ毎に設定を保存)
  3. FW.exe/BTFZTAT.dll
    コンポーネントの更新に伴う再構築
    諸設定ファイルの保存場所をユーザプロファイルに変更(ユーザ毎に設定を保存)
    RX62Nシリーズ対応
  4. OpenOCD
    0.7.0-dev-00775-g08ddb19適用
  5. GCC
    最新H8 GCC適用
    最新SH GCC適用
    最新RX GCC適用
    最新ARM GCC適用 (none-eabiに変更)
    最新AVR GCC適用
    最新x86/x64 GCC適用
  6. RX62Nターゲットファイル (ノンサポート)
    新規追加
    コンソールAPIのみのサポート
  7. STM32F2ターゲットファイル (ノンサポート)
    新規追加
  8. STM32F2_TOPPERSライブラリ (ノンサポート)
    新規追加
  9. 全AVRターゲットファイル
    コンパイラのバージョンアップに伴う再構築
  10. SH7045/SH7047/SH7145/SH7125ターゲットファイル
    コンパイラのバージョンアップに伴う再構築
    SetSRRegマクロのバグ修正
  11. SAM7S/Xターゲットファイル
    コンパイラのバージョンアップに伴う再構築
    コンソールAPIのボーレート設定誤差を縮小
  12. SAM7S TOPPERSライブラリ
    コンパイラのバージョンアップに伴う再構築
  13. UD3ターゲットファイル
    コンパイラのバージョンアップに伴う再構築
  14. FREEDOM IIIターゲットファイル
    コンパイラのバージョンアップに伴う再構築
    MXシリーズに対応
    KONDO KRSシリーズ(ICS3.0/3.5)に対応
    FUTABA RSシリーズに対応

Version 2.4.0.13r4 2011/08/08

  1. UD3ターゲットファイル
    設定ファイルが狂っていたのを修正
    DynamixelホストAPIをFREEDOM IIIのそれと合わせる
  2. FREEDOM IIIターゲットファイル
    Rev.E092Cに対応

Version 2.4.0.13r3 2011/08/03
重篤なバグがあるため使用停止

  1. UD3ターゲットファイル
    GPIOの初期化パラメータ追加
    コンパイルオプション修正

Version 2.4.0.13r2 2011/08/02

  1. インストーラ
    スタートメニューにツールのショートカットが作られない場合があるのを解消
  2. SAM7S/X関連ターゲットファイル
    UDPライブラリ更新
  3. FREEDOM IIIターゲットファイル
    UDPライブラリ更新に伴う修正
    一部APIでセマフォがロックしてしまう条件を解消
    fd_MMSD_ReadHomePositionが常時trueを返すのを修正
    レディーキューの強制自動回転をデフォルトでEnableに
  4. UD3ターゲットファイル
    UDPライブラリ
Page Top

インストール anchor.png[33]

他のバージョンのGCC Developer Liteと共存させる事を想定していないため、インストール済みのGCC Developer Liteがあれば予めアンインストールしておきます。
署名の類を一切施していないので、いずれのインストーラーも実行するとスマートスクリーン・セキュリティー警告・ユーザアカウント制御等のメッセージがしつこく表示されます。ダウンロードしたファイルのサイズやハッシュ値が上記と同一であれば「実行(R)」や「はい」を選択してインストールを進めて構いませんが、気がかりな場合はインストールそのものを止めここで示す作業を諦めざるを得ません。

これらのメッセージが表示されないままインストールそのものを拒否されたり、インストーラーファイルが削除される事も考えられます。その場合はWindowsの署名に関するポリシーを変更したり、アンチウィルスの制限を緩める等の措置を講じる必要があります。

なお限定的な機能のみにもかかわらずコンパイラによってはかなりの数のファイルを内包しているため、ファイルの数とサイズは莫大になるパッケージがあります。そのためインストールが完了するまにではそれ相応の時間がかかるのと、数ギガものハードディスクの空き容量を要求されます。インストールが成功したとしても、最新のコンパイラ類が実行された際にアンチウィルスによってウィルスとして誤認識される恐れもあります。

ようやくインストールですが、まずはGDLBasalPack~.exeとあるパッケージを実行します。

インストールする言語を選びます。今後使用するツールの表示言語はここで選ぶ事になります。

gdl_inst_step1.png

もし次のメッセージが表示された場合、使用しているPCの環境が本ツールに適合していない状態を意味します。通常は「はい(Y)」を選択します。

gdl_inst_step0.png

GPL Ver.2です。本インストールパッケージに含まれるGNUツール及びターゲット毎のライブラリはGPL Ver.2の制約を受けるものとします。
何を言わんとしているか分からない時はこちら[37]を参考にし、熟慮の上同意するか否かを決定します。

gdl_inst_step2.png

こちらにはインストールパッケージに含まれるファイルの情報が表示されます。

gdl_inst_step3.png

インストール先を選んだ後はインストールするコンポーネントの選択です。H8やSHを対象にしないのであれば「FlashWriter」のチェックは外して結構、ARMを「openOCD」でデバッグしないのであればそちらもチェックを外して構いません。「msys2」はlinuxと同等の一部のコマンドラインツール類を含み、後々各ターゲットのライブラリを再構築したりmakeを使用する際にのみ必要です。良くわからない場合は「フルインストール」を選びます。

gdl_inst_step4.png

チェックされているとインストール後にGCC Developer Liteのショートカットがデスクトップに作られます。余計なお世話ならチェックを外します。

gdl_inst_step5.png

これでインストールの準備が整いました。最後に「インストール」ボタンを押して、HDDへのコピー作業を開始します。

gdl_inst_step6.png

初めて8.3形式のファイル名に対応させた場合は、メッセージに従ってPCを再起動して基本パックのインストールは終了です。
基本パックのインストールが終わったら、一度だけGCC Developer Liteを起動してすぐに終了させてください。一度も起動していない環境には追加パッケージをインストールできないように仕掛けてあります。


続いて目的の追加パッケージをインストールします。概ねGDLBasalPack~と同様の手順です。また途中で表示されるコンポーネントの選択画面では、自身が必要とするターゲットのみを選択する事で余計なファイルがインストールされなくなります。

Page Top

使い方 anchor.png[38]

Page Top

GCC Developer Liteの使い方 anchor.png[39]

Page Top

エディタ anchor.png[40]

メモ帳よりは高機能な一般的なテキストエディタです。独特な操作はあまり無いはずです。
お節介にも、単語等の色分け、キーボードマクロ、入力補完といった機能を持っています。

Page Top
ファイル anchor.png[41]

エディタで開けるファイルには特に制限はありませんが、拡張子が.cや.cppといった何らかの言語で記述されたプログラムのソースファイルを対象とします。
後述のコンパイル作業を一度でも行ったファイルを再度開くと、次のようなメッセージが開きます。

普通はこのまま「OK」をクリックします。一度コンパイルを行うと、開いているソースファイルと同じフォルダに、拡張子が~.btpというファイルが出来上がります。btpファイルが存在しているソースファイルを開くとこのメッセージが表示され、前回コンパイルした時の条件や設定を再現します。これは異なるターゲットを1台のPCで扱っている際に、ファイルを開くたびにコンパイルオプションを変更するのが面倒なために設けられた機能です。
また、GCC Developer Liteをバージョンアップすると、それ以前にコンパイルしたファイルを開くと「!」付きでメッセージが表示される場合があります。

つまり、親切にも古い環境でコンパイルされているファイルを開いた事を知らせており、バージョンが変わった事によりコンパイラオプションでは問題が生じる可能性を示唆しています。このメッセージを見かけたら、素直にコンパイラオプションから設定リストを選択し直してコンパイルしましょう。

Page Top
編集 anchor.png[44]

玄人的な使い方をしない限り、編集操作は本ツールにオリジナルな物ではありません。選択、コピー、切り取り、削除、貼り付け、といった基本操作はもちろん、ショートカットキーも普通に使える筈です。
ちょっと特殊なのはインデントでしょうか。複数行にまたがって行頭にスペースを挿入したり削除すると言った機能です。これはあまりにも高い自由度でソースプログラムを記述されてしまった際に、インデントを入れる事を教えるために追加されています。

Page Top
キーボードマクロ anchor.png[46]

単純なキー操作の繰り返しを強いられる時に、そのキー操作を記録しておいて、必要なときにそのキー操作を再生する機能です。ダイアログボックスが表示される様なキー操作は対象となりません。

Page Top
入力補完 anchor.png[47]

ちょっとした入力ミスでもコンパイルエラーとなるのは仕方ない事。でも、人間が単語を一字一句間違えずに入力出来る訳もなく、ヒューマンエラーはつきものです。
そういった際に、よく使われる単語については予め設定されているキーワードから選択したり、ソースプログラムから抽出して貼り付けできるといった機能が入力補完といわれます。 本ツールにも簡易的ながら備わっており、入力中に[CTRL]+[SPACE]キーを押すとリストが表示されます。カーソルキーで選択してエンターキーで貼り付ける事ができます。また、リストを表示されている間にある程度の文字を順次入力してゆくと、表示されているリストを絞る事もできます。さらに、既に文字が入力されている場所で[CTRL]+[SPACE]を押せば、カーソル位置の単語を検索してリストを絞る事もできます。

gdl_autocomplete.png

オマケ程度なので過度な期待は禁物なのと、つまらない所でCPUパワーを食います。

Page Top
ウィンドウ anchor.png[48]

シングルソースの弊害として、プログラムソースが長大になると参照元と先で行ったり来たりする羽目になる事があります。とりあえず2画面までではありますが、編集中のソースを分割して表示する事ができます。

両ウィンドウとも同じソースが表示され、片方で編集したものはもう片方にも反映されますのでどちらで何を使用が結果は同じです。片方で関数や変数の宣言部分を表示し、もう片方でそれらを参照しならがコーディングするというスタイルを想定しています。

Page Top
参照 anchor.png[50]

実はシングルソースと言いながら、内部的には複数ソースの編集とリンク機能を持っています。
その片鱗だけ垣間見る事ができるのが参照機能です。C言語等ではヘッダファイルといった形で別のファイルを参照する事が頻繁に行われ、そのファイルの中身を知らない限り自分のプログラムで参照する事はできません。そういった時に、その参照しているファイル名の場所にマウスカーソルを合わせ「CTRL」キー+マウス左ボタンの「ダブルクリック」すると、別のウィンドウが開いてそのファイルを参照してくれます。

ソース中のコメント等にURL等を記述していた場合は、そのURL部分にマウスカーソルを合わせ「CTRL」+「ダブルクリック」すると、参照ウィンドウでそのサイトを閲覧する事も出来ます。何かのデータシートがpdfで提供されていたら、ソース中にブックマーク代わりにURL書いておいていつでも参照できるようにすると便利かもしれません。

Page Top
タグジャンプ anchor.png[52]

「検索(S)」メニュー内の「タグファイル自動生成(C)」と「タグ生成オプション」内の「タグ生成時にカレントフォルダを含める」をチェックします。

GDL_EnableTagJump.png

この状態でソースコードを一旦ファイルに保存するとバックグラウンドでタグファイルが生成し直されます。ソースファイル名に「.ctags」の拡張子を付与した名前でタグファイルが作られますが、条件によっては生成に長い時間を要したりファイルサイズが巨大化します。
準備ができたらソースコードの関数名が書かれた部分にカーソルを置き、「Ctrl」キーを押しながら「]」キーを押してから「]」キーのみを放す(「Ctrl」キーのみが押された状態)とエディタウィンドウ中央にその関数名の宣言がなされているファイルの一覧が表示されます。

その関数名の参照先が見つからなかった場合は、ファイルの一覧は表示されません。「Ctrl」キーが押されままの状態でファイルの一覧が表示されている間にカーソルキーの上下やマウスのクリックでファイル一覧から任意のファイル名を選択すると、そのファイルが別ウィンドウが開いてかつ該当するタグが記述されている場所にカーソルがジャンプします。もし編集中のソースコードが参照先の場合は、別ウィンドウは開かずにそのまま該当箇所にカーソルがジャンプします。
なおタグとソースコードとの相関はほぼ皆無なので、あくまで参考程度に考えてください。またGCC Developer Liteを閉じてもソースファイルと同じフォルダにタグファイルが残っていた場合は、削除して構いません。

Page Top
エンコード anchor.png[54]

ソースコードファイルはテキストファイルを対象としますが、コンパイラやツール類はそのファイルの文字コードに多分に影響を受けます。エディタ上では問題無く閲覧できているにもかかわらず、含まれる文字によっては不可解なエラーが発生するといった事が考えられるのです。
GCC Developer LiteのデフォルトエンコードであるShift_JISでは問題が生じやすいため、できる限りUTF-8もしくはBOM付きUTF-8に変更た上でソースコードファイルを保存する事を推奨します。画面最下段のステータスバーの右側に現在のエンコードと改行の状態が表示されており、右クリックして表示されるポップアップメニューより任意のエンコードと改行に変更できます。

Page Top
文字サイズ anchor.png[56]

GCC Developer Liteは最近の高DPIなPCに対応していないため、高解像度になればなるほどエディタ画面の文字サイズが小さく表示され、場合によっては普通の視力では識別できない程小さく表示されます。その場合は「Ctrl」キーを押しながらマウスホイールを回転させるかピンチイン・アウトさせると、それと連動して文字サイズが変わります。ソースコード全体の見通しを良くするために縮小したり、小さすぎて見えないから拡大するといった使い方ができます。

Page Top
エディタ設定 anchor.png[58]

デフォルトのフォントが小さいので見にくいとか青地はイヤだという場合に好き勝手に変更できます。その他にも色々設定ができますが、複雑なので割愛します。

editer_prop.png
Page Top

コンパイルオプション anchor.png[59]

GCC Developer Liteの「GCC」に関係するところはココだけです。最近はGCCのみという訳では無くなりつつあるため、、旧来「GCCオプション」と称していたものを「コンパイルオプション」に改名しています。
一応説明しておきますが、細かいことは抜きにこのダイアログボックス上端にある「設定リスト」だけ見れば良く、タブで分かれた細かい設定は理解に及んでから触れるべきです。

compiler_opt_targetlist.png
Page Top
「外部コンパイル機能を使用」にチェックが入っていない場合 anchor.png[60]
  • コンパイラ
    GNUTOOLの場所、及び使用するツールの接頭語、最適化レベルを設定します。
  • スタートアップルーチン
    C言語のmainが実行される前に実行されるプログラムを指定します。
  • リンカ
    ターゲットのメモリの都合に合わせたリンカスクリプトファイル、コンパイル時に一緒にくっつけるライブラリを指定します。
  • デバッグ コンパイル時のデバッグレベル、gnu debuggerないしrunを実行する際に必要な情報を設定します。
  • 各種フォルダ
    ターゲットファイルの場所を設定します。ヘッダファイルやライブラリを探させる際のパスです。
  • etc...
    etc...と書いてはありますが、最も重要な情報が記述されています。コンパイラを実行させる際に一緒に記述されるオプションの記述、コンパイル後のファイル変換の方法を選択します。
  • 外部ツール連動
    コンパイルとファイル変換が成功しただけでは役不足なので、その後の処理を自動的に行わせる事ができます。起動するツールと起動時に指定するオプション、起動方法を設定します。
Page Top
「外部コンパイル機能を使用」にチェックが入っている場合 anchor.png[68]
  • コンパイラ
  • 各種フォルダ
  • デバッガ
  • 外部ツール連動
Page Top

コンパイル anchor.png[69]

命名がちょとややこしいだけですが、いずれも内部で行われる作業は似たような物です。
ソースプログラムは単なるテキストファイルに過ぎず、一般にそのままでは実行できる物ではありません。何かしらのツールを仲介した後に、マイコン等で実行出来るファイルに変換されます。その作業をここではコンパイルと称しています。
また、以後の作業に応じて複数のコンパイル方法が選択出来ます。これらはコンパイラオプションに依存しますので、全てのターゲットで同様の機能が提供される物ではありません。

Page Top
ビルド anchor.png[70]

大抵はビルドで事が足ります。

  1. 指定されたコンパイラでソースプログラムをコンパイル
  2. ターゲットに応じたフォーマット変換
  3. 必要に応じて書き込みや転送ツールを起動

といった処理を行います。

Page Top
デバッグビルド anchor.png[71]

こちらビルドと大差ありませんが、gnuのデバッガでデバッグする際の情報を付加します。

  1. 指定されたコンパイラでソースプログラムをコンパイル
  2. ターゲットに応じたフォーマット変換

デバッグ情報付きのファイルを作成するだけで終了としますので、この後必要に応じてデバッガ等で開くなり何なりします。

Page Top
デバッグビルド&デバッガで開く anchor.png[72]

GNUTOOLにデバッガ(gdbないしinsight)が含まれている場合に使用できます。 デバッグビルドを行った後、gnuのデバッガが使用できる環境であればデバッガを起動出来ます。

  1. 指定されたコンパイラでソースプログラムをコンパイル
  2. ターゲットに応じたフォーマット変換
  3. gdb(insight)を起動

デバッグビルドされたファイルを指定されたデバッガで開いてデバッグを開始します。
ターゲットによってデバッガを起動する際に指定されるファイルが異なるので一概にこうなるとは言えないのですが、

  1. gdbがOpenOCDないし何らかのデバッガに接続
  2. コンパイルされたファイルをターゲットのフラッシュROMないしRAMに書き込む
  3. main文にブレークポイントを設定
  4. プログラムを実行し、main文の入り口でプログラム停止

といったフローでデバッガが実行されます。

Page Top
ビルド&エミュレータで開く anchor.png[73]

GNUTOOLにエミュレータ(run)が含まれている場合に使用できます。

  1. 指定されたコンパイラでソースプログラムをコンパイル
  2. runを起動し、コンパイルされたプログラムをPC上で実行

エミュレーションできるのはCPUのコアだけですので、LEDが点灯したりブザーが鳴ったりスイッチが押せる訳ではありません。作成したハードウェアに依存しないサブルーチン等が、予想した動きをするかどうかをテストするといった目的に使えるかもしれません。ターゲットによってはprintf等の関数を使用すると、コンソールに文字を表示させる事はできる様です。

Page Top

ツールバー anchor.png[74]

メニューの直下にあるのはツールバーと呼ばれ、メニューをドロップダウンするまでもなく、ファイルを開いたり保存したり、コピペや検索をさせるためのボタンが配置されています。
アイコンだけで判断出来るのであれば、機能を呼び出すまでの操作がボタン1つで済むので作業効率が上がるはずです。

gdl_toolbar.png
Page Top

外部ツールの設定 anchor.png[75]

テキストエディタでプログラムを編集していれば全ての作業が完了する訳ではありません。ここで紹介するツール以外にも自分で用意したツールを簡単に呼び出したいといった事は良くあります。

gdl_exttool.png

インストールコンポーネントにもよりますが、インストール直後はFLASH WRITERやSIMPLE TERM等が既に登録されています。必要に応じて自分の好みのツールを最大10個まで追加できます。

Page Top

拡張子の登録 anchor.png[76]

ここでの設定はWindows7よりも前のバージョンではあまり大きな意味は持たないのですが、いくつかのファイルの拡張子とGCC Developer Liteを関連付けできます。

assosiation_fileext.png

チェックされた拡張子を持つファイルをエクスプローラー等で右クリックすると、「プログラムから開く」のツリーにGCC Developer Liteが登録されているはずです。ダブルクリックしても勝手にGCC Developer Liteで開く様な横柄な事はしません。
また、Windows7においては拡張子の関連付けがなされていないとジャンプリストに履歴が作成されず、ジャンプリストに履歴として表示されるファイルがあったとしても開けなくなります。

Page Top

その他 anchor.png[77]

新し好きであればもう使っているとは思いますが、Windows7は色々初心者には使いやすくなっているのではと思います。マウスやタッチパネルといった入力装置によって、直感的な操作を部分を訴求しようという部分ですね。Vistaを特に支障なく使っているのであればWindows7になったからと言ってその違いは微々たる物かもしれません。
Windows7(x86でもx64でも大丈夫)にインストールしても使えますし、Windows7上で動いている事が検出されると多少ならではといった機能が追加されるようになっています。はっきり言ってどうでも良い機能ですが、もしかしたら必須と考えるのが趨勢になるかもしれませんので、標準的なUIとして機能するようにしてあります。
ジャンプリストは主に今まで開いたり保存したファイルの履歴を表示します。GCC Developer Liteのファイルメニューにも履歴が表示されていますが、それとほぼ同じです。

win7_jumplist.png

従来からGCC Develoer Liteは同時に2つ以上起動出来ないという意図的な制約を設けていますが、このジャンプリストを使ってファイルを開こうとするとこの制約が邪魔でした。最新版ではGCC Developer Liteが起動している状態で、後から何らかの方法でファイルを別途開こうとした場合は、起動済みのGCC Developer Liteがその役割を果たすようになっています。つまり「このプログラムは複数起動できません。」とすげなく断られる事は無くなります。
ちなみに二重起動を制限しているのは、むかぁし同じソースを複数のGCC Developer Liteで開いて編集し、整合性が取れない事を理由に文句つけられたからだそうです。

もう一つ、タスクバーのアイコン上にマウスをホバーするとウィンドウのサムネイルが表示されますが、参照ウィンドウ等を開いているとそれらもサムネイルの一覧として配置されます。

Page Top

FLASH WRITERの使い方 anchor.png[78]

Page Top

詳細な設定変更 anchor.png[79]

FLASH WRITERのウィンドウは小さく出来ています。小さい状態では何らかのファイル名を入力する欄と「かきこみ」ボタンしかなく、それ以外の諸々の設定は一切触れなくなっています。
触らなくて良い理屈は全く無いので、どうにかして設定を変更しなくてはなりません。

fw_prop.png

そう、メニューバー左上のアイコンをクリックしてメニューを表示させ、その中からFW Propertyをクリックするだけです。すると今まで隠れて見えなかった諸設定がズルズルと見えて来ます。
他にもボタンやテキストボックスが無い所をダブルクリックしても同様に機能します。

Page Top

設定ないしボタン類 anchor.png[80]

Page Top
CPU TYPE anchor.png[81]

CPU Typeがそれ以外設定全てに影響します。大抵の場合においては書き込みたいターゲットの名称になっています。

  • 3048
    Renesas F-ZTAT[82]ベースでH8/3048Fを対象
    Portは使用するCOMポートを選択
    Baudrateは使用するCOMポートのボーレートを選択(19200bps以下を推奨)
    TimeOutはネゴシエーション成功までの繰り返し時間となる
    Write Script Fileは使用不可
  • 3664
    Renesas F-ZTAT[82]ベースでH8 Tinyシリーズ全般 H8/3664F, H8/3694F, H8/3687Fを対象
    Portは使用するCOMポートを選択
    Baudrateは使用するCOMポートのボーレートを選択(19200bps以下を推奨)
    TimeOutはネゴシエーション成功までの繰り返し時間となる
    Write Script Fileは使用不可
  • 7045
    Renesas F-ZTAT[82]ベースでSH7044, SH7045シリーズ全般 SH7044F, SH7045F, SH7144F, SH7145Fを対象
    Portは使用するCOMポートを選択
    Baudrateは使用するCOMポートのボーレートを選択(19200bps以下を推奨)
    TimeOutはネゴシエーション成功までの繰り返し時間となる
    Write Script Fileは使用不可
  • RX62N
    RX62Nシリーズ全般を対象
    Portは使用するCOMポートを選択
    Baudrateは使用するCOMポートのボーレートを選択
    Clockはクロック源の周波数を指定
    TimeOutはネゴシエーション成功までの繰り返し時間となる
    Write Script Fileは使用不可
  • AVR:m168
    Atmel stk500[83]互換プロトコルでavrdudeによるサポート ATmega168を対象
    Portは使用するCOMポートを選択
    Baudrateは使用するCOMポートのボーレートを選択(大抵は115200bps)
    TimeOutは不使用
    Write Script Fileは使用不可
  • AVR:m32
    Atmel stk500[83]互換プロトコルでavrdudeによるサポート ATmega32を対象
    Portは使用するCOMポートを選択
    Baudrateは使用するCOMポートのボーレートを選択(大抵は115200bps)
    TimeOutは不使用
    Write Script Fileは使用不可
  • AVR:m128
    Atmel stk500[83]互換プロトコルでavrdudeによるサポート ATmega128を対象
    Portは使用するCOMポートを選択
    Baudrateは使用するCOMポートのボーレートを選択(大抵は115200bps)
    TimeOutは不使用
    Write Script Fileは使用不可
  • AVR:c128
    Atmel stk500[83]互換プロトコルでavrdudeによるサポート AT90CAN128を対象
    Portは使用するCOMポートを選択
    Baudrateは使用するCOMポートのボーレートを選択(大抵は115200bps)
    TimeOutは不使用
    Write Script Fileは使用不可
  • SAM-BA
    Atmel AT91 In-system Programmer>[84]のDLLを使用
    Portは使用するCOMポート,USBデバイス,CAN,J-LINK等を選択
    Baudrateは不使用
    TimeOutは不使用
    Write Script Fileは使用不可
  • OpenOCD
    OpenOCD[11]でサポートするターゲット全般
    PortはOpenOCD(Telnet)を選択
    BaudrateはOpenOCDのtelnetポートへの接続タイムアウト時間
    TimeOutは不使用
    Write Script FileはOpenOCDで実行させるコマンドが記述されたスクリプトファイルを指定
  :idea:AVRシリーズにおいてはstk500互換プロトコルのブートローダも対象となりますが、V1.0以降の弊社オリジナルブートローダが搭載されたマイコンボードは対象ではありません。今後はFLASH WRITERではなくSIMPLE TERMを使う事になります。

Page Top
PORT anchor.png[85]

大抵の場合PCに装備されるCOMポートが列挙されますので、使用するCOMポートを選択します。CPU TypeによってCOMポート以外のリストが表示される場合もあります。
PCに無いポートはリストに現れませんが、接続すれば即時リストに現れて選択出来るようになります。

Page Top
BaudRate[bps] anchor.png[86]

使用するCOMポートのボーレートを設定します。大きければ良いという訳でもありません。

Page Top
Clock[MHz] anchor.png[87]

書き込む対象に供給されているクロック周波数を設定します。本設定を使用するCPU TYPEでは必ず一致させなくてはなりません。

Page Top
TimeOut[ms] anchor.png[88]

繰り返し実行ないしタイムアウト時間を設定します。

Page Top
Find HyperTerminal anchor.png[89]

使い道がないのと、うまく動かないケースが大半なので説明なし。

Page Top
Write Script File anchor.png[90]

OpenOCDで対象とするターゲットに応じて設定します。
FLASH WRITERと同じフォルダに置かれる.scriptファイルが列挙されますので、もし自前のターゲットをサポートさせたいのであればこのフォルダに作ればリストに載ります。

Page Top
OK anchor.png[91]

大きくしたウィンドウを小さくします。

Page Top
Execute anchor.png[92]

諸設定に依存する処理を開始します。

  1. 指定されたファイルの存在確認
  2. CPU TYPEに応じたポートの内部的な再設定
  3. ポートの検索
  4. ポートの使用可能かの判定と、他のアプリケーション(SIMPLE TERMの事)へのポートの譲り渡し要求
  5. CPU TYPEに応じた書き込み処理等の実行
  6. 処理の正否の判定
  7. 使用したポートの使用終了を他のアプリケーション(SIMPLE TERMね)に告知

どのプロセスにおいても問題があると全てエラーとします。処理中はCPU TYPEによって異なるウィンドウが表示され、進捗が確認できます。

Page Top

起動オプション anchor.png[93]

Page Top

その他 anchor.png[94]

Page Top

SIMPLE TERMの使い方 anchor.png[95]

Page Top

ターミナルウィンドウ anchor.png[96]

初期状態で真っ黒な部分の事です。ポートが開いている時にのみ接続先から送信されて来るデータが表示され、入力された文字は接続先に送信されます。
ブートローダ等では入力を促されるケースがありますが、その時SIMPLE TERM上で入力した文字がそのままターミナルウィンドウに表示されていると思うのは間違いです。SIMPLE TERM自身はデフォルトでは接続先から送信された情報しか表示しません。
では、入力した文字が表示されるのはなぜ?実は簡単な事で、入力した文字を相手が都度送り返しているからです。世の中には送り返してこない端末もある(それが普通)のですが、どうしても入力した文字も表示させたいのであればローカルエコーをONにします。

表示に関してはANSIっぽい動きをする様ですが、中途半端な実装による思った様な動きをしない事を恐れてできないフリをしている場合もあるらしいです。

Page Top

プロパティ anchor.png[97]

SIMPLE TERMで扱うCOMポートの情報を設定します。

sterm_prop.png
  • Connect to
    使用するCOMポートを選択します。PCに無いポートはリストに現れませんし、追加接続すれば即時リストに現れて選択出来るようになります。
    しかし、いい加減COM1~COM10だけとか、COM1~COM255まで列挙して選択するといったアプリケーションは止めて欲しいですね。 :-?
    なお、TELNETについては言及しません。
  • Baudrate
    通信速度です。リストから選ぶも良し、使用するCOMポートが許容するのであれば数値を入力しても構いません。
  • Databits
    1文字のデータ幅を指定します。指定がなければ通常は8を選びます。
  • Stopbits
    ストップビット幅を指定します。指定がなければ通常は1を選びます。
  • Parity
    パリティの種類を選択します。指定がなければ通常はNonを選びます。
  • Flow Control
    フロー制御の種類を選択します。指定がなければ通常はNonを選びます。
  • Protocol
    ファイルを送受信する際に使用するプロトコルを選択します。
    XModem以外は・・・。

なお、一部の設定はポートが開いている状態であっても変更可能です。ポートを閉じなくてはボーレート等を変更できないのは、実はそういう作りになっているアプリケーションの都合だけだったという事です。

Page Top

ログ anchor.png[98]

ターミナルウィンドウ上に表示される文字をファイルに保存し続ける機能です。
ターミナルウィンドウでは表示データが画面いっぱいになったり改行が行末に達すると、行頭の文字はスクロールアウトして見えなくなってしまいます。普通ならバックスクロールして以前の表示データを見る事ができるのでしょうが、どうやらあるにも関わらず見る事ができません。
そこで、ファイルに保存する事を提案して作ってもらいました。「ログファイル」がチェックされると保存するファイルを新規に作成し、「ログファイル」のチェックをOFFにするかSIMPLE TERMを終了するまで保存し続けます。

Page Top

ポートの開閉 anchor.png[99]

プロパティで選択したCOMポートを独占使用するには開く操作を、使用を終えて他のアプリケーションで使えるように解放するには閉じる操作をします。
通常COMポートはアプリケーションから開かれると、同じCOMポートを別のアプリケーションで開く事が出来ません。しかしながらGCC Developer Liteに含まれるツールに限り、COMポートを譲り合う機能を提供します。

Page Top

FTDIチップ絡み anchor.png[100]

ものぐさな作者は、ターゲットのリセットボタンに手を伸ばす事すら億劫な様です。FTDI社のFT232が乗った弊社マイコンボードとEVBに限りますが、SIMPLE TERMからリセットシグナルを発行できます。
ちょっと面倒な仕掛けでリセットさせているらしく、ポートが開いている時にSIMPLE TERMからリセットをかけると、ポートを閉じる→リセットLOW→しばし待つ→リセットHIGH→ポートを再度開く、といった動きになります。

Page Top

転送 anchor.png[101]

プロパティのProtocolで選択した通信方式で接続先とファイルの送受信を行います。
全て試した訳ではありませんが、気のせいでなければXModem以外はちょっと微妙な気がしますが、マイコンボードのブートローダがサポートするプロトコルがXModemだけなので良しとします。

ちょっと異色なのは「スクリプト実行」で、目的はブートローダとのコミュニケーションを自動化する事にあります。

  • ターゲットへのリセット発行
  • ブートローダのコマンドモードへのエントリー
  • 諸々のキー操作の再現
  • 指定された文字列の検出
  • 予め指定されたファイルの転送

といったスクリプトを組み合わせて、マイコンへのプログラム転送にかかる一連の操作を自動的に実行します。SIMPLE TERMの単体起動では用をなさず、GCC Developer LiteのコンパイルオプションでSIMPLE TERMと連動する時に有効となります。

なお、マイコンボードによって異なっていたブートローダのコマンドモードへの遷移方法が大体統一された事もあり、最新バージョンでは出来るだけ簡単にターゲットをコマンドモードに遷移させる機能が盛り込まれています。単にスクリプト実行に「!」マークを送りつける機能が追加されただけなのですが、手が両手がふさがる事が無くなるので結構便利です。
これにより従来は、

  1. ターミナルウィンドウ上で'!'([SHIFT]+[1])キーを押しっぱなしにする。
  2. ターゲットをリブート
  3. ブートローダの起動メッセージが表示されたら'1'キーを離す。
  4. メニューから「スクリプト実行」をクリックしてプログラムのダウンロード

といった訳の分からない手順の操作を強いられていたものが、

  1. メニューから「スクリプト実行」をクリック
  2. ターゲットをリブート

という2つの操作で終わる様になります。説明も簡単ですし、PCのキーリピートのタイミングに依存する不安定要素が軽減されてヨサゲです。

STERM_resetwait.png
Page Top

起動オプション anchor.png[102]

Page Top

その他 anchor.png[103]

USBでCOMポートを増設している場合、USBケーブルを抜くと結構困った状態になります。一般にCOMポートを扱うプログラムは、使用しているポートが突然無くなると思っていないものです。Windows自体はポートが無くなった事を知っているにもかかわらず、プログラム側は不慮の事態に備えていないものですから、まだ通信できると思い込んでいる場合があるのです。それを扱う人間も同様に、ポートが無いのにも関わらずプログラムが無いポートを開いたままなので、ついつい操作してしまう。実に悪循環です。
ポートが使えないなら使えないとはっきり意志を示そうと言う事で、SIMPLE TERMではポートの活性状態を常時モニタして、抜かれようが挿されようが、なんとか再起動しないでも済むように努力します。大体以下の様な挙動をします。

  • 開いているCOMポートが無くなるとポートを閉じる
  • 開いていたCOMポートが無くなり自ら自動的に閉じた後、再度そのポートが活性化したら自動的に開く

つまり、デバイスの状態に応じてポートの開閉操作を人間が行わなくても済む様に努力してくれます。時々ミスる事もありますが、その時は再起動して下さい。

また、COMポートは大抵の場合において一つのプログラムが開いたら、他のプログラムからは同じCOMポートは開けません。これも結構な頻度で悩ましてくれるネタです。SIMPLE TERMの場合は、いくつか起動しており全て同じCOMポートを使用している時に限り、お互いにポートを譲り合う機能を持っています。

Page Top

FAQ anchor.png[104]

  • Q:メッセージ等が何も記載されない状態で一部のダイアログボックスが表示される
    A:管理権限でログインしていないか、Windows Vista以降であればUACをOFF[105]にして使う。
  • Q:昔のバージョンでコンパイルしたソースがバージョンアップしたらコンパイルできない
    A:ライブラリが変わってコンパイルできないという事でなければ、コンパイルオプションを再設定する。
  • Q:H8/3048FやSH7047Fで使えない
    A:廃盤やサポート終了製品向けのターゲットファイルはバージョンアップ時に順次削除されるので、サポートしていたバージョンを使う事。
  • Q:旧バージョンの提供をしてほしい
    A:常時最新のツール及び販売中の製品向けにアップデートされるツールとしての位置付けのため、原則として廃盤およびサポートを終了した製品向けの提供は行わない。
  • Q:組み込みブラウザの挙動がおかしい
    A:デフォルトでIEの古いバージョンを前提に動作するため。
    レジストリエディタで以下のキーに'GCCDevL.exe'の名前でDWORD(32bit)値を作り、任意の値[106]を設定する事で多少改善する可能性がある。
    KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
Page Top

転載・転用・その他 anchor.png[107]

  • パブリックな用途での二次転載は許諾を得て[108]下さい。
  • 転載を目的としてホームページ等で公開する場合は弊社サーバへのリンクでは無く、貴サーバにコピーを置いた上で公開して下さい。
  • 基本的に旧バージョンの転載は認めていません。
  • 個人のホームページ等でリンクする場合は本wiki[109]とし、インストールファイルへの直リンクは許容しません。
  • 転載ないし転用されたツールの二次的な問い合わせは一切受けません。
  • 現時点で弊社で販売しているマイコンボードないし製品を除くターゲットのサポートは一切受けません。有償サポートを希望される場合は技術サポート[108]へ相談下さい。
  • 公開バージョンに含まれるターゲット以外のサポートも行っています(有償)。

Last-modified: 2022-04-20 (Wed) 08:43:19 (JST) (32d) by takaboo