26
CKB-RZ/A1H 導入マニュアル (第 2 版) Copyright (C)2014 (株)コンピューテックス

CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

Embed Size (px)

Citation preview

Page 1: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

CKB-RZ/A1H

導入マニュアル

(第 2 版)

Copyright (C)2014 (株)コンピューテックス

Page 2: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

ご使用になる前に このたびは CKB-RZ/A1Hをお買い上げいただきありがとうございます。

CKB-RZ/A1Hをご使用になる前にマニュアルをよくお読みいただき、正しくお使いください。

本製品を輸出する(日本国外への持出含む)場合、またはソフトウェアを国内非居住者に提供する場合は外国為替及び外国貿易法

に従って必要な手続きをお取りください。

本製品および付属のマニュアル、回路図、ソフトウェア等の一部、または全部を無断で使用することや、複製することはできません。

本製品に付属の各マニュアル、関連資料を必ずお読みになり、使用上の注意、使用方法を守って正しく安全にお使いください。

本製品の内容、および仕様に関しては製品の信頼性、機能、設計の改良により将来予告なしに変更することがあります。

Microsoftおよび Windows は、米国 Microsoft Corporation の、米国、日本およびその他の国における登録商標または商標です。

CSIDEに関する著作権は(株)コンピューテックスに帰属します。

COMPUTEXは、(株)コンピューテックスの登録商標です。

その他本書で取り上げる会社名および製品名などは、一般に各メーカーの商標、または登録商標です。

Page 3: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

目 次

第 1 章 はじめに ........................................................................................................ 1 1.1 はじめに ....................................................................................................................................................................... 1

1.2 本書で使用する製品 ............................................................................................................................................. 1

1.3 インストール ................................................................................................................................................................ 2

1.4 フォルダ構成とファイル ............................................................................................................................................. 2

第 2 章 サンプル・プログラムのビルド ..................................................................... 3 2.1 CSIDE の起動 ........................................................................................................................................................... 3

2.2 コンパイラの検出....................................................................................................................................................... 4

2.3 ワークスペース・ファイルの読み込み .................................................................................................................... 6

2.4 ビルド ............................................................................................................................................................................ 7

第 3 章 動作確認 .................................................................................................... 8 3.1 ハードウェアの準備................................................................................................................................................... 8

3.2 機器の接続 ............................................................................................................................................................... 8

3.3 ICE の起動 ................................................................................................................................................................. 9

3.4 プログラムのダウンロード ....................................................................................................................................... 10

3.5 プログラムの実行 ................................................................................................................................................... 11

第 4 章 ROM 化 .....................................................................................................12 4.1 はじめに .................................................................................................................................................................... 12

4.2 メモリ・マップ ............................................................................................................................................................. 12

4.3 CPU ブート・モード ................................................................................................................................................. 13

4.4 SPI フラッシュ・ブート手順 ................................................................................................................................... 13

4.5 ブートローダのビルド .............................................................................................................................................. 14

4.6 SPI フラッシュ・メモリの書き込み ........................................................................................................................ 15

4.6.1 eSD ブート・モードでの書き込み ........................................................................................................ 15 microSD カードにモニタ・プログラムの書き込み ............................................................................................................................................ 15

uartflasher_CKB での書き込み ........................................................................................................................................................................ 17

4.6.2 PALMiCE3 での書き込み .................................................................................................................... 19

4.7 動作確認 ................................................................................................................................................................ 21

Page 4: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

CKB-RZ/A1H 導入マニュアル 第 1 章 はじめに 1

第1章 はじめに

1.1 はじめに

この度は当社製組み込みボード「CKB-RZ/A1H」をお買い上げ頂きましてありがとうございます。

本書は、CKB上でサンプル・プログラムを動作させるまでの手順や注意点が書かれています。なお、CKB上でサンプル・プロ

グラムを動作させるためには ICE などの開発ツールが必要になります。本書は、当社製の ICE 「PALMiCE3」と統合開発環境

「CSIDE」を使用することを前提としたマニュアルとなっています。他社製の開発ツールをお使いの場合は該当する機能で代用

ください。

本書以外に、以下のマニュアルも合わせてご覧ください。

1. CKB-RZ/A1H ハードウェア・マニュアル

CKB-RZ/A1Hのハードウェア仕様について書かれています。

1.2 本書で使用する製品

本書に記載の手順どおりに開発を進めるには、以下に示すとおり、ボード、CKB-RZ/A1H CD、ICE、コンパイラが必要です。

CKB-RZ/A1H (組み込みボード)

CKB-RZ/A1H CD (CD-ROM)

CKB 専用 AC アダプタ (5V1.6A)

PALMiCE3 ARM 一式

コンパイラ 一式

ARM C/C++ Compiler 5.0

IAR Embedded Workbench for ARM 6.x

Page 5: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

CKB-RZ/A1H 導入マニュアル 第 1 章 はじめに 2

1.3 インストール

CKB 上でサンプル・プログラムを動作させるためには以下の製品をインストールする必要があります。

CSIDE for PALMiCE3 ARM

以下、いずれかのコンパイラ

ARM C/C++ Compiler 5.0

IAR Embedded Workbench for ARM 6.x

CSIDE やコンパイラは各製品のインストーラに従ってインストールしてください。

これらのソフトをインストールする順番は特にありません。

1.4 フォルダ構成とファイル

CKB-RZ/A1H CDのフォルダ構成とファイルは以下のようになっています。

以下のファイル一式は、あらかじめローカル・フォルダにコピーしておき、そのローカル・フォルダを作業フォルダとしてご使用

ください。

CD-ROM

doc ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ PDFマニュアル

sample ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ サンプル・プログラム

bootloader_rvct ・・・・・・・・・・・・・・・・・ ブートローダ・サンプル (ARM Compiler 用)

bootloader_iar ・・・・・・・・・・・・・・・・・・ ブートローダ・サンプル (IAR EW 用)

cal_rvct ・・・・・・・・・・・・・・・・・・・・・・・・ カレンダー・サンプル (ARM Compiler 用)

cal_iar ・・・・・・・・・・・・・・・・・・・・・・・・・ カレンダー・サンプル (IAR EW用)

spi_flash_writer ・・・・・・・・・・・・・・・・・・・・・・・・ SPI フラッシュ・メモリ書き込み関連ファイル

Page 6: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

CKB-RZ/A1H 導入マニュアル 第 2 章 サンプル・プログラムのビルド 3

第2章 サンプル・プログラムのビルド

2.1 CSIDE の起動

サンプル・プログラムをビルドするツールとしてCSIDEを使用します。CSIDEが正しくインストールされていれば、Windowsのス

タート・メニューから[CSIDE – CSIDE for PALMiCE3 ARM]を選択すると起動します。

CSIDE の初回起動時や、はじめてビルド機能を利用する場合には、まずコンパイラの検出を行う必要があります。コンパイラ

の検出とは、CSIDE 上でビルドするときに使用するコンパイラが、どのフォルダにインストールされているかを見つけ出す処理で

す。コンパイラの検出は一度行うと、次回の起動から省略されます。

Page 7: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

CKB-RZ/A1H 導入マニュアル 第 2 章 サンプル・プログラムのビルド 4

2.2 コンパイラの検出

CSIDE 上で現在使用できるコンパイラは、以下の手順から確認することができます。 [ビルド - コンパイラ・パッケージの設

定]を選択するとコンパイラ・パッケージの設定ダイアログが表示されます。

CKB-RZ/A1Hに付属のサンプルをビルドする場合は、「ARM C/C++ Compiler 5.0」と「IAR Embedded Workbench for ARM 6.x」

のいずれかを選択してください。

上記のウィンドウで使用するコンパイラが未検出の場合、ディスク内からコンパイラを検出する必要があります。[自動検出]ボ

タンを押すと検出するコンパイラの設定ダイアログが開きますので、[検索開始]ボタンを押します。

コンパイラが検出されると以下のメッセージが表示されます。

・ コンパイラの検出を行う前に必ずコンパイラをインストールしておいてください。

・ [検出するコンパイラのインストール場所を指定する]をチェックすると指定フォルダから直接コンパイラの実行ファイ

ルを探します。基本的に CSIDE はレジストリからインストール・フォルダを検索しますのでチェックする必要はありま

せんが、自動検出で検出できない場合や、インストール情報をレジストリに保持しないコンパイラを使用する場合に

使用します。

Note

Page 8: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

CKB-RZ/A1H 導入マニュアル 第 2 章 サンプル・プログラムのビルド 5

[OK]ボタンを押し、[次へ]ボタンを押すと、検出されたコンパイラの確認ダイアログ・ボックスが表示されます。

[完了]ボタンを押すと、コンパイラの検出は終了です。

Page 9: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

CKB-RZ/A1H 導入マニュアル 第 2 章 サンプル・プログラムのビルド 6

2.3 ワークスペース・ファイルの読み込み

ワークスペース・ファイルとはプログラムをビルド(コンパイル、リンク)するための定義ファイルです。ワークスペース・ファイルに

はコンパイルのためのソース・ファイルやコンパイル・オプションなどの定義が含まれています。このファイルを CSIDE で読み込

むことによってビルドが可能になります。まずは実例としてカレンダー・サンプルを読み込んでみましょう。カレンダー・サンプル

はCKB-RZ/A1H CDの以下のフォルダにあります。(CD-ROMの内容をあらかじめローカル・フォルダにコピーしておき、そのロ

ーカル・フォルダで作業を行ってください。)

サンプル・フォルダ コンパイラ

CD-ROM\sample\cal_rvct ARM C/C++ Compiler 5.0

CD-ROM\sample\cal_iar IAR Embedded Workbench for ARM 6.x

ワークスペース・ファイルの読み込みは[ファイル – 開く – ワークスペース] メニューを選択し、拡張子が xmlのファイルを開

きます。ここでは、「cal.xml」を読み込んでみます。読み込みが成功すれば、以下のようにワークスペース・ウィンドウが開きます。

Page 10: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

CKB-RZ/A1H 導入マニュアル 第 2 章 サンプル・プログラムのビルド 7

2.4 ビルド

ワークスペースの読み込みが完了すれば次はソース・ファイルをビルドします。ビルドを行うにはツール・バーの右から 3 番目

の[ビルド]ボタンを押します。ビルドが実行されて、結果がアウトプット・ウィンドウに表示されます。

アウトプット・ウィンドウを見るとコンパイル・エラーは発生していないことが分かります。最終リンク・フェーズまで正常にビルドが

完了していますので、「ビルドを終了しました(終了コード=0)」と表示されます。

ビルド時になんらかのエラーが発生した場合には、アウトプット・ウィンドウでエラー内容を確認することができますの

で、エラー内容に従い問題を解決後、再度ビルド実行を行ってください。

ほかの原因として、コンパイラの検出が正しく行われていない場合が考えられます。「2.2 コンパイラの検出」の項を

再確認してください。

次章から実際に CKB と PALMiCE3 を接続して動作確認を行いますので、一旦 CSIDE を終了し、ハードウェアの準備を行い

ます。

CSIDE を終了するには[ファイル – 終了]を選択し、終了の確認ダイアログ・ボックスで[プロジェクトを保存して終了]のチェッ

クをはずした後、[はい]のボタンを押します。

Note

Page 11: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

CKB-RZ/A1H 導入マニュアル 第 3 章 動作確認 8

第3章 動作確認

3.1 ハードウェアの準備

この章ではボードにサンプル・プログラムをロードして動作確認を行う手順について説明します。必要なものとしてはボードの

ほか、ICEのようにプログラムをボードにダウンロードできるツールが必要です。ここでは、当社製 ICE の「PALMiCE3」を例に説

明して行きます。

3.2 機器の接続

次に ICE とホスト・パソコンとボードを接続してください。PALMiCE3 の場合は以下のように接続してください。

必要に応じて、ホスト・パソコンとボードは RS-232Cシリアル・ケーブルで接続してください。

PALMiCE3 の接続は各機器の電源を OFFの状態で行ってください。

ケーブルやプローブの接続時、コネクタに強い力を加えると破損する恐れがありますので注意してください。

必ず各製品に付属のケーブルやプローブを使用してください。

接続が完了すれば、各機器の電源を ONにします。PALMiCE3 では、電源投入、切断は以下の順序で行ってください。

電源投入時 PALMiCE3 => CKB-RZ/A1H

電源切断時 CKB-RZ/A1H => PALMiCE3

PALMiCE3 を初めて接続する場合は、パソコンに PALMiCE3 用のドライバをインストールする必要があります。詳しくは

PALMiCE3 ユーザーズ・マニュアルを参照してください。

A.Suzuki

μITRON ADE とμITRON-DBGLIB の説明をまとめましたが OKで

しょうか?

KUNI

2.1項(インストール)から 2.2項(ライセンス)として、新たに項を追

加しました。

Note

Page 12: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

CKB-RZ/A1H 導入マニュアル 第 3 章 動作確認 9

3.3 ICE の起動

ICE を起動してボードにプログラムをダウンロードできる状態にします。あらかじめプロジェクト・ファイルを用意していますので、

それをダブル・クリックするだけで ICEの起動とボードの設定が完了します。プロジェクト・ファイルはCKB-RZ/A1H CDの以下の

フォルダに用意されています。(CD-ROMの内容をあらかじめローカル・フォルダにコピーしておき、そのローカル・フォルダで

作業を行ってください。)

サンプル・フォルダ コンパイラ プロジェクト・ファイル

CD-ROM\sample\cal_rvct ARM C/C++ Compiler 5.0 cside.cpf

CD-ROM\sample\cal_iar IAR Embedded Workbench for ARM 6.x cside.cpf

ここでは、コンパイラ「ARM C/C++ Compiler 5.0」のプロジェクト・ファイル「sample\cal_rvct\cside.cpf」をダブル・クリックしま

す。

ICE 起動時に、「接続されているハードウェアとこのプロジェクト・ファイルが作成された時のハードウェアが違います。」と

いうメッセージが表示されることがありますが、モデルの違いを示す警告メッセージですので処理を継続してください。

Note

Page 13: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

CKB-RZ/A1H 導入マニュアル 第 3 章 動作確認 10

3.4 プログラムのダウンロード

実際にプログラムをダウンロードしてみます。ここでは、前章でビルドしたカレンダー・サンプルをダウンロードします。プログラ

ムのダウンロードはワークスペース・ウィンドウから簡単に行うことができます。ワークスペースのツリー上にあるオブジェクト・ファ

イル名を選択し、ポップアップ・メニューより[ファイル・サーバに登録する]を選択します。

ファイル・ロードが開始され、[ファイル・ロード情報]ダイアログ・ボックスが表示されます。

ファイル・ロード情報には、ロード中のファイル名とプログラムが読み込まれたアドレスが表示されます。この表示内容で、ダウ

ンロードを行ったプログラムが何番地に配置されたかを確認することができます。

・ ここの説明ではワークスペースからプログラムをダウンロードしていますが、CSIDE では必ずしもワークスペースが

必要ではなく、他のツールでビルドされたプログラムを[ファイル – ロード]メニューで直接ダウンロードし、デバッグすることができます。

・ ファイル・ロード情報をプロジェクトに保存することで次回の起動から自動でファイルをロードすることも可能です。

Info.

Page 14: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

CKB-RZ/A1H 導入マニュアル 第 3 章 動作確認 11

3.5 プログラムの実行

次にサンプル・プログラムを実行しますが、その前に少し準備が必要です。このカレンダー・サンプルは結果をメモリに出力し

ます。そのため、メモリ・ウィンドウを開いてカレンダー表示を確認できるようにする必要があります。[表示 – メモリ] メニューを

選択し、メモリ・ウィンドウを開きます。カレンダーは変数「string」に文字列として格納されますので、メモリ・ウィンドウのアドレス・

フィールドに直接「string」と入力して「string」変数からメモリ表示されるようにしておきます。カレンダーをきれいに表示するため

にはメモリ・ウィンドウのツール・バーより表示個数 32、フォーマット 8bitに設定します。また、カレンダー文字列が格納された直

後の位置にブレーク・ポイントを設定しておきます。

CSIDE ではエディタ・ウィンドウ行番号の左側の領域をマウスでクリックするとブレーク・ポイントが設定できます。下図のように

cal_clear 関数の呼び出し位置にブレーク・ポイントを設定し、ツール・バーの[プログラムの実行]ボタンまたは、ファンクション・キ

ーの[F5]を押してプログラムを実行します。実行してブレークするたびにアスキー・フィールドのカレンダー表示が更新されま

す。

また、ホスト・パソコンとボードを RS-232Cシリアル・ケーブルで接続している場合は、カレンダーのヘッダ部分をターミナルに

表示しますので、ターミナル・ウィンドウの設定を行います。[表示 – ターミナル] メニューを選択し、ターミナル・ウィンドウを開き

ます。開いたターミナル・ウィンドウのポップアップ・メニュー[ターミナル設定]より、以下の設定を行います。

ポート ターゲット・ボードと接続している COM ポートを選択

ボーレート 115200

データ 8bit

パリティ none

ストップ 1bit

フロー none

Page 15: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

CKB-RZ/A1H 導入マニュアル 第 4 章 ROM 化 12

第4章 ROM 化

4.1 はじめに

この章ではブートローダとサンプル・プログラムを ROMに書き込み電源投入によるパワーオン・リセットで動作するまでの手順

について説明します。

第 3 章の説明では、直接 RAMで実行しているので、電源を OFF にするとプログラムが消えてしまいます。CKB-RZ/A1H単

体で電源投入時にプログラムが実行されるようにするには、本章で説明する手順で SPIフラッシュ・メモリにプログラムを書き込み

ROM化する必要があります。

ROM化の参考となるようなブートローダのサンプルを添付していますが、本章ではそれらのサンプルを用いてブートまでの流

れを説明します。

4.2 メモリ・マップ

RZ/A1Hに接続されているメモリ・デバイスのアドレスを以下に記述します。

RZ/A1H アドレス デバイス サイズ

0x0C000000 - 0x0DFFFFFF SDRAM 32Mバイト

0x18000000 - 0x18FFFFFF SPI フラッシュ・メモリ 16Mバイト

0x20000000 - 0x209FFFFF 内蔵 RAM 10Mバイト

0xFFFF0000 - 0xFFFFFFFF 内蔵 ROM 64K バイト

ブートローダとサンプル・プログラムは SPI フラッシュ・メモリに書き込みます。

ここでは、サンプル・プログラムとして前章で動作確認に使用したカレンダー・サンプルを使用し、以下のようなアドレスにブー

トローダとサンプル・プログラムのバイナリ・ファイルを書き込むことにします。

SPI フラッシュのアドレス プログラム種別 ファイル名 サンプル・フォルダ

0x18000000 - ブートローダ bootloader.bin CD-ROM\sample\bootloader_xxx

0x18010000 - サンプル・プログラム cal.bin CD-ROM\sample\cal_xxx

Page 16: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

CKB-RZ/A1H 導入マニュアル 第 4 章 ROM 化 13

4.3 CPU ブート・モード

CKB-RZ/A1Hでは、RZ/A1Hの SPI フラッシュ・ブート・モードと eSD ブート・モードがディップ・スイッチ(SW1)で切り替え可能

です。通常は、SPI フラッシュ・ブート・モードを選択し、電源投入時 SPI フラッシュ・メモリに格納されているブートローダを起動し

ます。

ホスト・パソコンから RS-232Cシリアル・ケーブルを使って SPI フラッシュを書き換える場合のみ eSD ブート・モードを選択しま

す。eSDブートではあらかじめ microSDカードにモニタ・プログラムを書いておき、UARTによりファイルを転送し SPIフラッシュに

書き込みます。

ブート・モード ディップ・スイッチ(SW1)

1

SPI フラッシュ・ブート (ブート・モード 3) OFF

eSDブート (ブート・モード 4) ON

ブート・モードの切り替えスイッチの詳細についてはハードウェア・マニュアルを参照してください。

4.4 SPI フラッシュ・ブート手順

CPUが起動すると、まず内蔵 ROMのシステム・プログラムが実行され、SPIフラッシュ・メモリの先頭に格納されているブートロ

ーダを実行します。ブートローダはCPUの初期化などを行い、SPIフラッシュ・メモリのサンプル・プログラムが格納されているエリ

アを内蔵 RAMにコピーして、サンプル・プログラムのエントリ・アドレスにジャンプして実行します。

SPIブート・モードによるサンプル・プログラムの起動までの手順は以下の通りです。

順 プログラム 説明

1 CPU 内蔵 ROM プログラム

0xFFFF0000 番地から実行

(システム ROM、書換不可)

Boot ピンから SPI フラッシュ・ブートと判断し SPI フラッシュをリード可能な状態に設定

2 ブートローダが格納されている SPI フラッシュの先頭アドレス 0x18000000 番地にジャンプ

ブートローダでは、サンプル・プログラムを内蔵 RAMにコピーしてジャンプします。

順 プログラム 説明

3 ブートローダ

0x18000000 番地から実行

CPU の初期化

4 サンプル・プログラム(SPI-Flash:0x18010000 番地)を内蔵 RAM(0x20020000)にコピー

5 サンプル・プログラム(内蔵 RAM:0x20020000 番地)にジャンプ

サンプル・プログラムを実行します。

順 プログラム 説明

6 サンプル・プログラム

0x20020000 番地から実行

CPU、MMU、キャッシュの初期化

7 サンプル・プログラムの実行

Note

Page 17: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

CKB-RZ/A1H 導入マニュアル 第 4 章 ROM 化 14

4.5 ブートローダのビルド

次に CSIDEを使ってブートローダをビルドします。まず、CSIDEを起動して[ファイル - 開く - ワークスペース] メニューから

ブートローダのワークスペース・ファイルを読み込みます。ICE を接続している場合は、プロジェクト・ファイル「cside.cpf」から

CSIDEを起動しても構いません。ブートローダはCKB-RZ/A1H CDの以下のフォルダにあります。(CD-ROMの内容をあらかじ

めローカル・フォルダにコピーしておき、そのローカル・フォルダで作業を行ってください。)

サンプル・フォルダ コンパイラ プロジェクト・ファイル

CD-ROM\sample\bootloader_rvct ARM C/C++ Compiler 5.0 cside.cpf

CD-ROM\sample\bootloader_iar IAR Embedded Workbench for ARM 6.x cside.cpf

ワークスペース・ウィンドウのツリーから「config.h」をダブル・クリックして開きます。config.h の内容を変更することにより、サンプ

ル・プログラムのロード・アドレスやエントリ・アドレスを変更することが可能です。実際の変更箇所は以下の数行です。ここでは、

デフォルトのままビルドしてください。

#define SRC_ADDR 0x18010000 /* ロード元アドレス (SPIフラッシュ) */

#define DST_ADDR 0x20020000 /* ロード先アドレス (内蔵 RAM) */

#define ENTRY_ADDR 0x20020000 /* エントリ・アドレス */

#define COPY_SIZE 0x00010000 /* ロード・サイズ */

コンフィグレーションの内容は以下の通りです。

項目 内容

SRC_ADDR サンプル・プログラムが格納されている SPI フラッシュ・メモリのアドレスを指定します。

DST_ADDR サンプル・プログラムをロードするアドレスを指定します。

ENTRY_ADDR サンプル・プログラムのロード後にジャンプする先のエントリ・アドレスを指定します。

COPY_SIZE サンプル・プログラムのサイズ(バイト数)を指定します。

設定が終了すればビルドを行います。

Page 18: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

CKB-RZ/A1H 導入マニュアル 第 4 章 ROM 化 15

4.6 SPI フラッシュ・メモリの書き込み

続いて、ブートローダとサンプル・プログラムを SPIフラッシュ・メモリに書き込む方法を説明します。SPIフラッシュ・メモリへの書

き込み方法は、eSDブート・モードを使って書き込む方法と、PALMiCE3を使って書き込む方法があります。ここでは、サンプル・

プログラムとして前章で動作確認に使用したカレンダー・サンプルを使用することにします。

4.6.1 eSDブート・モードでの書き込み

eSDブート・モードを使った SPIフラッシュの書き込みは、microSDカードに書かれたモニタ・プログラム「init_CKB-RZA1H.bin」

とWindowsアプリ「uartflasher_CKB.exe」が通信を行い実現しています。書き込みまでの流れとしましては、まず、microSDカード

に書かれたモニタ・プログラムが eSDブートにより内蔵 RAMに展開され実行されます。Windowsアプリ「uartflasher_CKB.exe」か

ら指定されたバイナリ・ファイルを UARTにより転送し、そのファイルをモニタ・プログラムが SPI フラッシュに書き込みます。

プログラム種別 ファイル・パス

Windows 用 SPI フラッシュ書き込みソフト CD-ROM\spi_flash_writer\uartflasher_CKB.exe

モニタ・プログラム CD-ROM\spi_flash_writer\init_CKB-RZA1H.bin

microSD カードにモニタ・プログラムの書き込み

CD-ROMの「spi_flash_writer\init_CKB-RZA1H.bin」にあるモニタ・プログラムを microSD カードに書き込みます。ここでは、フ

ァイル・システムとしてファイルをコピーするのではなく、microSDの先頭セクタからモニタ・プログラムのバイナリ・ファイルをその

まま書き込みます。このように、デバイスの先頭にバイナリ・イメージを直接コピーする方法として、一般的には Linuxの ddコマン

ドを使用します。Windows版のフリー・ソフトでも dd コマンドと同様な機能を持つソフトがいくつか存在します。

ここでは、一例として Windows版フリー・ソフト「Win32 Disk Imager」を使って書き込む方法を紹介します。

まず、[Image File]として、モニタ・プログラム「init_CKB-RZA1H.bin」を指定します。[Device]は microSD カードをホスト・パソコ

ンに挿入するとドライブとして認識します。[Write]ボタンを押すことで microSD カードに書き込みます。

Page 19: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

CKB-RZ/A1H 導入マニュアル 第 4 章 ROM 化 16

Linuxや cygwin をご使用の場合は、dd コマンドを使用して以下のように microSDカードに書き込みます。

まず、ホスト・パソコンに microSDカードを挿入します。

パーティション情報を表示しメモリ・デバイスの容量や名前を確認して、microSD のデバイス名を特定します。

$ cat /proc/partitions

major minor #blocks name

11 0 1048575 sr0

8 0 41943040 sda

8 1 40893440 sda1

8 2 1 sda2

8 16 1955840 sdb

入力としてモニタ・プログラムのバイナリ・ファイルを指定します。出力先として microSD のデバイスを指定します。

$ sudo dd if=init_CKB-RZA1H.bin of=/dev/sdb

57+0 レコード入力

57+0 レコード出力

29184 バイト (29 kB) コピーされました、 0.34774 秒、 83.9 kB/秒

確認のため、microSD に書かれた内容をダンプ表示します。

$ sudo od -N64 -tx /dev/sdb

0000000 009ed85b 008f2232 009a7eae 009b5585

0000020 0088d093 00980d7c 009ac502 009a11d5

0000040 0099c74a 00998040 00994040 00990040

0000060 00850798 0084caf6 00994560 00990560

0000100

microSD カードにモニタ・プログラムを書き込むとそれ以降ファイル・システムとして認識できなくなります。そのため、重

要なファイルが格納されている microSD カードにモニタ・プログラムを書き込まないように注意してください。再びファイ

ル・システムとして使用する場合はフォーマットしてご使用ください。

Note

Page 20: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

CKB-RZ/A1H 導入マニュアル 第 4 章 ROM 化 17

uartflasher_CKB での書き込み

eSD ブート・モードを使って SPIフラッシュ・メモリを書き込む手順は以下の通りです。

1. CKB-RZ/A1Hのディップ・スイッチ(SW1)を eSD ブート側に変更します。

2. ホスト・パソコンと CKB-RZ/A1Hを RS-232Cシリアル・ケーブルで接続します。

3. モニタ・プログラムが書き込まれた microSD が挿入されていることを確認して CKB-RZ/A1Hの電源を ON します。

4. CD-ROMの「spi_flash_writer\uartflasher_CKB.exe」を実行します。

5. [Com port]「の設定を CKB-RZ/A1H と接続している COM番号に設定します。

6. [Target]「の設定で CKB-RZ/A1Hを選択します。

7. [Image type] の設定で Custom imageを選択します。

8. [Specify the SPI flash address offset and binary file] で SPI フラッシュ・メモリに書き込むブートローダを選択します。ここで

は、CD-ROMの「sample\bootloader_xxx」でビルドしてできたバイナリ・ファイルを指定します。[Offset]に 0 を指定すること

で、SPI フラッシュの先頭アドレスである 0x18000000 番地からブートローダを書き込みます。

9. [Write to flash]「ボタンを押し書き込みを開始します。

「Waiting for target... (power on or reset target now)」と表示された場合は、CKB-RZ/A1Hボードのリセット・ボタンを押す

か、電源を ON してください。

10. しばらくするとプログレス・バーが更新され、書き込みの完了を知らせるメッセージが表示されます。

Page 21: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

CKB-RZ/A1H 導入マニュアル 第 4 章 ROM 化 18

11. 同様に[Specify the SPI flash address offset and binary file] でサンプル・プログラムを選択して SPI フラッシュ・メモリに書き

込みます。ここでは、CD-ROMの「sample\cal_xxx」でビルドしてできたバイナリ・ファイルを指定します。[Offset]に 0x10000

を指定することで、SPI フラッシュの先頭アドレスにオフセット 0x10000 を加えた 0x18010000 番地から書き込みます。

12. 必要なバイナリ・ファイルを書き込んだら CKB-RZ/A1Hのディップ・スイッチ(SW1)を SPI フラッシュ・ブート側に変更してリ

セットしてください。

Page 22: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

CKB-RZ/A1H 導入マニュアル 第 4 章 ROM 化 19

4.6.2 PALMiCE3 での書き込み

PALMiCE3 を使った SPI フラッシュの書き込みは、内蔵 RAMにダウンロードされたモニタ・プログラムと CSIDE が通信を行い

実現しています。書き込みまでの流れとしましては、まず、CSIDEによりモニタ・プログラムをターゲットにダウンロードし、CSIDE

のコマンドによりそのモニタ・プログラムを実行させます。コマンドにより指定されたバイナリ・ファイルをモニタ・プログラムが SPIフ

ラッシュに書き込みます。詳細は CSIDE のインストール・フォルダにあるドキュメント「SPI フラッシュメモリ書き込み機能につい

て.pdf」を参照してください。CSIDE をデフォルトでインストールした場合は以下のフォルダになります。

C:\Program Files\CSIDE\Etc\PALMiCE3 ARM\SPImonitor\ドキュメント

または、

C:\Program Files (x86)\CSIDE\Etc\PALMiCE3 ARM\SPImonitor\ドキュメント

また、ブートローダとサンプル・プログラムを SPIフラッシュに書き込むためのマクロ・ファイルを用意しています。ここでは、以下

のマクロ・ファイルを使用して SPIフラッシュに書き込むことにします。(CD-ROMの内容をあらかじめローカル・フォルダにコピー

しておき、そのローカル・フォルダで作業を行ってください。)

種別 ファイル・パス

SPI フラッシュ書き込み用マクロ・ファイル CD-ROM\spi_flash_writer\ckb_rza1h_flash.cmac

CSIDE プロジェクト・ファイル CD-ROM\spi_flash_writer\cside.cpf

モニタ・プログラム CD-ROM\spi_flash_writer\Monitor.elf

ホスト・パソコンと PALMiCE3 と CKB-RZ/A1Hを接続して、プロジェクト・ファイル「cside.cpf」から CSIDE を起動します。起動

するとマクロ・エディタが表示され、SPI フラッシュ書き込み用マクロ・ファイルが表示されます。このマクロ・ファイルの内容を変更

することにより、SPI フラッシュに書き込むバイナリ・ファイルや格納アドレスを変更することが可能です。実際の変更箇所は以下

の数行です。ここでは、デフォルトのままマクロを実行してください。(デフォルトでのファイル・パス指定は CSIDE プロジェクト・フ

ァイルからの相対パスとしてあります。)

int BOOT_OFFSET = 0x00000000; // ブートローダの格納先 SPIアドレスのオフセット

int BOOT_SIZE = 0x00010000; // ブートローダの最大サイズ

int APP_OFFSET = 0x00010000; // アプリの格納先 SPIアドレスのオフセット

int APP_SIZE = 0x00010000; // アプリの最大サイズ

char BOOT_PATH[] = "$(CPF)\..\sample\bootloader_rvct\Debug\bootloader\bootloader.bin";

char APP_PATH[] = "$(CPF)\..\sample\cal_rvct\Debug\cal\cal.bin";

char MON_PATH[] = "$(CPF)\Monitor.elf";

コンフィグレーションの内容は以下の通りです。

項目 内容

BOOT_OFFSET ブートローダを格納する SPI フラッシュ・メモリの先頭アドレスからのオフセットを指定します。

BOOT_SIZE ブートローダの最大サイズ(バイト数)を指定します。

APP_OFFSET サンプル・プログラムを格納する SPI フラッシュ・メモリの先頭アドレスからのオフセットを指定します。

APP_SIZE サンプル・プログラムの最大サイズ(バイト数)を指定します。

BOOT_PATH ブートローダのあるパスを指定します。

APP_PATH サンプル・プログラムのあるパスを指定します。

MON_PATH モニタ・プログラムのあるパスを指定します。

Page 23: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

CKB-RZ/A1H 導入マニュアル 第 4 章 ROM 化 20

設定が終了すればマクロ・ファイルを実行します。実行したいマクロ関数を指定して実行ボタンを押します。

ここでは、マクロ関数「SpiFlashWrite」を指定して実行ボタンを押します。

このマクロ関数はブートローダとサンプル・プログラムを書き込むエリアを消去した後、それぞれのバイナリ・ファイルを転送し

て SPI フラッシュ・メモリの指定エリアに書き込みます。

SPI フラッシュ・メモリに正常に書き込みが完了するとコマンド・ウィンドウに以下のようなメッセージが表示されます。

Page 24: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

CKB-RZ/A1H 導入マニュアル 第 4 章 ROM 化 21

4.7 動作確認

続いて、SPI フラッシュ・メモリに書き込んだブート処理が正常に動作し、サンプル・プログラムが実行されるか確認します。ICE

を接続している場合は、ICE を取り外し、CKB-RZ/A1Hのディップ・スイッチ(SW1)が SPI フラッシュ・ブート側になっていることを

確認して、CKB-RZ/A1Hの電源を投入します。サンプル・プログラムとして SPIフラッシュ・メモリに書き込んだカレンダー・サンプ

ルは定期的に LEDを点滅させるプログラムとなっております。電源投入後、しばらくして LEDが点滅を繰り返していれば正常に

動作していることになります。

Page 25: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

CKB-RZ/A1H 導入マニュアル

変更履歴

日付 版 内容

2014-2 1 初版

2014-7 2 3.2 機器の接続

接続図の変更

Page 26: CKB-RZ/A1H 導入マニュアル - COMPUTEX | 株式 …”使用になる前に このたびはCKB-RZ/A1H をお買い上げいただきありがとうございます。 CKB-RZ/A1H

株式会社コンピューテックス

本 社

〒605-0846 京都市東山区五条橋東 4-432-13 對嵐坊ビル

TEL:075-551-0528(代) FAX:075-551-2585

東京営業所

TEL:03-5753-9911(代) FAX:03-5753-9917

テクニカルセンタ

TEL:075-551-0373 FAX:075-551-2585

CKB-RZ/A1H 導入マニュアル

2014 年 7 月 2 版

CM1516(B)1407