Microsoft Word - Toolchain_setting_KPIT.doc

Similar documents
Toolchain_setting_ARMC

GNU_Tools_dwl_Plagin

RZT1_Toolchain_debug_e2_gnu

DEFnano

AN1609 GNUコンパイラ導入ガイド

AN1526 RX開発環境の使用方法(CS+、Renesas Flash Programmer)

S7G2_e2std_USBX_CDC_ACM

AP-RZA-1A シリアルFlashROMの書き込み方法

KPIT 社 GNU Tool のダウンロード 使い方 インドの KPIT 社のサイトでは H8 SH 等の GNU カを無償ダウンロードできるようになっています C コンパイラ アセンブラ デバッ 日

Notes and Points for TMPR454 Flash memory

RSK+RZT1グループ アプリケーションノート QSPIフラッシュブートローダ

S3A7_ewarm_WiFi_NetX_3_Socket_HTTP

著作権および商標 この文書には が所有権を持つ機密事項が含まれます この資料のいかなる部分も許 可無く複製 使用 公開することを固く禁じます 本書は の従業員および許可された 取引先だけに使用が認められています 本書で提供されたデータは正確で信頼性の高いものですが このデータの使用について株式会社

スライド 1

AN178 USB仮想シリアルドライバ インストールガイド

Sample_E2ST_RTOS_EVrxRZ_RZA1H_F

Microsoft Word - tool01.doc

MINI2440マニュアル

バーコードハンディターミナル BT-1000 シリーズセットアップガイド ( 第 1 版 ) CE ***

Notes and Points for TM4C123Gx Internal Flash memory

Nios II Flash Programmer ユーザ・ガイド

IAR Embedded Workbench for ARM

ビルド処理

Nios II ハードウェア・チュートリアル

Microsoft Word - ALT0982_program_epcs_by_niosii_v10.doc

1. 概念 STM32F4 Discovery 基板は Mini USB を接続して デバッグやプログラムの書き込みができるようになっています 通常は CPU の 0x 番地からプログラムを実行します では なぜわざわざこのプロジェクトの雛形を使用して CPU の 0x

Notes and Points for ADuCM320 Internal Flash memory

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

Microsoft Word - ExtFlashROM.doc

RH850の割り込み/例外実現方法 CC-RHアプリケーションガイド

RY_R8C38ボード RY-WRITER基板 自動書き込み・実行解説マニュアル

adviceシリーズスタートアップガイド(Cortex-M3編)

ModelSim-Altera - RTL シミュレーションの方法

MINI2440マニュアル

PowerPoint Presentation

adviceシリーズスタートアップガイド(ARM9編)

MS104-SH2 USBドライバ(仮想COMポートドライバ)の不具合について

Total Disc Makerサイレントインストールガイド

Notes and Points for RZ/G1x Serial Flash memory

AN424 Modbus/TCP クイックスタートガイド CIE-H14

RL78開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行(統合開発環境編)(High-performance Embedded Workshop→CS+)

Flash Loader

Microsoft Word - SfWriter.doc

MINI2440マニュアル

1. ST-LINK Utility のダウンロード Windows7 PC にインストールする場合について説明します 1.1. STMicroelectronics のサイト STMicroelectronics のサイトを開きます ここに ST-LINK と入力して検索します ( 右側の虫眼鏡を

CITIZEN CUPS Driver Guide

ARM Corporate Presentation

AN5101 SA-Cy500S (Cyclone V SoC CPU BOARD) スタートガイド

Warp demo station manual

AP-RZA-1A RTX Ethernetサンプルプログラム解説

ご注意 1) 本書の内容 およびプログラムの一部 または全部を当社に無断で転載 複製することは禁止されております 2) 本書 およびプログラムに関して将来予告なしに変更することがあります 3) プログラムの機能向上のため 本書の内容と実際の画面 操作が異なってしまう可能性があります この場合には 実

評価ボード キット 開発ツールご使用上の注意事項 1. 本評価ボード キット 開発ツールは お客様での技術的評価 動作の確認および開発のみに用いられることを想定し設計されています それらの技術評価 開発等の目的以外には使用しないで下さい 本品は 完成品に対する設計品質に適合していません 2. 本評価

開発環境構築ガイド

Microsoft Word - Cubesuite+_78K0R.doc

AN1815 Renesas Synergy™ CANサンプルプログラム解説 (AP-S5D9-0A)

ベア・メタルのユーザー・ガイド

ブート領域、フラッシュ領域の分割方法 RL78ファミリ用Cコンパイラ CC-RL

Microsoft Word - Cubesuite+_V850_AM.doc

PowerPoint プレゼンテーション

株式会社 DTS インサイト ARM-AN-225A ADS から RVDS3.0 への移行について 本ドキュメントはARM 社の提供する Application Note 171 Migrating from ADS to RVDS 3.0 (ARM DAI 171A) の内容に基づき作成されたも

MSP430 CCSv5 を使い Flash Memory 内容と version 情報を確認する方法 ( テクニック編 ) Rev: PIC Trout 今回は 下記の2 件について説明します 1) CCSv5 を使用して MSP430 の Flash Memory 内容を

9. デバッグ デバッグの準備 ) ST-Link/V2 と tri-s CPU 基板との接続の様子 ) ST-Link/V2 と tri-s CPU 基板との接続信号 デバッグ ) プログラムの実行

Application Note Application Note No. ESC-APN Document No.: ESC-APN adviceluna Linux デバッグ手順 (MIPS コア編 ) はじめに adviceluna Linux デバッグ手順 ( 以

Sample_BARE_EVRXrz_RX63N_M

LTE WiFi USBドングル ソフトウェアの更新手順

RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for

<< 目次 >> 1 PDF コンバータのインストール ライセンスコードの入力 PDF にフォントを埋め込みたい場合の設定 PDF オートコンバータ EX で使用しない場合 PDF コンバータ単体で使用する場合の説明 PDF コンバータのアン

HP ThinUpdateを使用したWESシンクライアントイメージリストア手順書

プログラムのデバッグ

PowerTyper マイクロコードダウンロード手順

Raspberry Pi (Windows10 IoT Core) を使用したリーダ ライタの制御例 (UART 接続 ) 2018 年 12 月 18 日第 版 株式会社アートファイネックス

1. ネットワーク経由でダウンロードする場合の注意事項 ダウンロード作業における確認事項 PC 上にファイアウォールの設定がされている場合は 必ずファイアウォールを無効にしてください また ウイルス検知ソフトウェアが起動している場合は 一旦その機能を無効にしてください プリンターは必ず停止状態 (

BCSH7211 開発セット 添付 CD の使い方 第 1 版 CD 構成 1-1 インストゥール 1-2 GNUSH7211 ホルダ 1-3 BRE ホルダ 1-4 コンパイル 1-5 GCC オプションの意味 2.BCSH7211 CPU ボード用 サンプルプログラム 入

Microsoft Word - DT930MemoryExpand doc

クラウドバックアップサービスアンインストールガイド 第 1.3 版 平成 29 年 1 月 24 日 株式会社大塚商会

PDFオートコンバータEX

インテル(R) Visual Fortran コンパイラ 10.0

Microsoft Word - プログラムをRAM.doc


ターゲット項目の設定について

自己診断プログラム_基本設定

RW-5100 導入説明書 Windows7 用 2017 年 7 月 シャープ株式会社

ST-LINK/V2-1 への Upgrade V /10/07 ST-LINK/V2-1 USB driver のインストールおよび ST-LINK/V2-1 の Upgrade について説明します ST-LINK/V2-1 USB driver をインストールしてから ST-LIN

Microsoft Word - PGI WorkstationServer事前準備 doc

開発環境構築ガイド

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

SAC (Jap).indd

v831&2_tp.PDF

OTRS10 他社システムOTRS呼出利用手順書

MS916/MS926 照合機能の操作方法 Ver.4 照合モード (Data Validation) では 1 対 1 1 対 N および LookUp テーブル参照によるバーコードの照合を行います 照合したバーコードは一致したデータのみをホストに送信またはメモリに保存します 照合機能の設定手順

1. 新規プロジェクト作成の準備新規プロジェクトのためのフォルダを用意して そこにプロジェクトを作成します [ 新しいフォルダー ] をクリックして希望のフォルダに新しいフォルダを作成します この例では TrST_F401N_BlinkLD2 というフォルダを作成しました TrST_F401N_Bl

C言語入門

FT-450D シリーズ MAIN ファームウェアアップデートマニュアル 本ソフトウェアは FT-450D/FT-450DM/FT-450DS の アップデートファームウェアです FT-450 シリーズのアップデートには使用できません 八重洲無線株式会社

PowerPoint Presentation

kiso2-03.key

リモートデバッグモードでのデバッグ 注意!! 外部 RAM を持たない CPU ボードの場合は 次項の RLL 機能を利用したリモートデバッグモードでのデバッグ をごらんください モニタの書き込みまず最初にモニタと呼ばれるプログラムをターゲットのフラッシュ ROM に書き込みます リモートデバッグ中

始める スタート > 全てのプログラム > Cypress > PSoC Creator 2.0 > PSoC Creator 2.0 をクリックします プロジェクトを作成する / 開く Start Page の "Create New Project" をクリックし 要求されたプロジェクト情報を入

システム要件 ( 動作環境 ) 対応 OS Microsoft Windows 10 Microsoft Windows 8.1 Microsoft Windows 8 Microsoft Windows 7 Microsoft Windows Vista TM (Service Pack 1 以降

PowerPoint Presentation

7th CodeGear Developer Camp

Transcription:

Rev 1.30.00 DS-5(KPIT-GNU) ツールチェインの設定と必要事項の説明 ( ルネサス RZ/A1H 用 ) DS-5(KPIT-GNU) ツールチェインの設定方法とサンプルプロジェクトに必要な設定を説明します 1. ツールチェイン設定画面を開きます 1) プロジェクト - プロパティ を選択します 2) C/C++ ビルド - 設定 を選択します 1

2. ライブラリジェネレータの設定 1) ライブラリジェネレータのすべてのオプションを表示 2)Setting 設定画面 ( デフォルト設定 ) 2

3)Header files 設定画面 ( デフォルト設定 ) 4)Other options 設定画面 Floating-point mode:soft 指定 Floating-point mode:softfp 指定 空白 --compiler=-mfloat-abi=softfp 3

5)Miscellaneous 設定画面 ( デフォルト設定 ) 4

3.GNUC コンパイラの設定 1)GCC C コンパイラのすべてのオプションを表示 5

2)Preprocessors 設定画面 GNU を定義 C ソ-スに #ifdef 等のマクロ定義している場合に使用します 注 *1 USED_DEFnano =x x = DEFnano を使用 [1] する [0] しない GNU KPIT-GNU 版の場合に定義 RTOS NORTi 使用時に定義 CH2 NORTi 使用時に定義 ITF_LIB USB-Function 使用時に定義 サンプルプロジェクト別に必要なマクロ定義例 USER_Debug USED_DEFnano =1 GNU EVrxRZ_Sample USED_DEFnano =1 GNU EVrxRZ_Sample_USB USED_DEFnano =1 GNU ITF_LIB EVrxRZ_NORTi USED_DEFnano =1 GNU RTOS CH2 EVrxRZ_NORTi_USB USED_DEFnano =1 GNU RTOS CH2 ITF_LIB EVRZ_Sample USED_DEFnano =1 GNU EVRZ_Sample_USB USED_DEFnano =1 GNU ITF_LIB EVRZ_NORTi USED_DEFnano =1 GNU RTOS CH2 EVRZ_NORTie_USB USED_DEFnano =1 GNU RTOS CH2 ITF_LIB 注 *1 USED_DEFnano =0 と使用しない側に定義しても内蔵 RAM へのダウンロードとシリアルフラッシュ ROM への書き込み操作は可能です ただし 再操作する場合はターゲット側のリセット操作が必要になります 6

3)Include 設定画面 サンプルプロジェクト別に必要なインクルードパスの設定例 USER_Debug_rz "${workspace_loc:/${projname}/src_app/inc}" "${workspace_loc:/${projname}/src_gsys/inc}" "${workspace_loc:/${projname}/src_gsys/inc/iodefines}" "${TC_INSTALL}/arm-none-eabi/optlibinc" EVrxRZ_Sample 追加 + "${workspace_loc:/${projname}/src_eva/inc}" EVrxRZ_Sample_USB 追加 + "${workspace_loc:/${projname}/src_eva/inc}" 追加 + "${workspace_loc:/${projname}/itf_lib/include}" 追加 + "${workspace_loc:/${projname}/itf_lib/itf_include}" EVrxRZ_Norti 追加 + "${workspace_loc:/${projname}/src_eva/inc}" 追加 + "${workspace_loc:/${projname}/norti/inc}" 追加 + "${workspace_loc:/${projname}/norti_smp/netsmp/inc}" 追加 + "${workspace_loc:/${projname}/norti_smp/smp/inc}" EVrxRZ_Norti_USB 追加 + "${workspace_loc:/${projname}/itf_lib/include}" 追加 + "${workspace_loc:/${projname}/itf_lib/itf_include}" EVRZ_Sample 追加 + "${workspace_loc:/${projname}/src_eva/inc}" 追加 + "${workspace_loc:/${projname}/src_evb/inc}" 追加 + "${workspace_loc:/${projname}/src_vdc/inc}" EVRZ_Sample_USB 追加 + "${workspace_loc:/${projname}/src_eva/inc}" 追加 + "${workspace_loc:/${projname}/src_evb/inc}" 追加 + "${workspace_loc:/${projname}/src_vdc/inc}" 追加 + "${workspace_loc:/${projname}/itf_lib/include}" 追加 + "${workspace_loc:/${projname}/itf_lib/itf_include}" EVRZ_Norti 追加 + "${workspace_loc:/${projname}/src_eva/inc}" 追加 + "${workspace_loc:/${projname}/src_evb/inc}" 追加 + "${workspace_loc:/${projname}/src_vdc/inc}" 7

EVRZ_Norti_USB 追加 + "${workspace_loc:/${projname}/norti/inc}" 追加 + "${workspace_loc:/${projname}/norti_smp/netsmp/inc}" 追加 + "${workspace_loc:/${projname}/norti_smp/smp/inc}" 追加 + "${workspace_loc:/${projname}/src_eva/inc}" 追加 + "${workspace_loc:/${projname}/src_evb/inc}" 追加 + "${workspace_loc:/${projname}/src_vdc/inc}" 追加 + "${workspace_loc:/${projname}/norti/inc}" 追加 + "${workspace_loc:/${projname}/norti_smp/netsmp/inc}" 追加 + "${workspace_loc:/${projname}/norti_smp/smp/inc}" 追加 + "${workspace_loc:/${projname}/itf_lib/include}" 追加 + "${workspace_loc:/${projname}/itf_lib/itf_include}" 8

4)Source Language 設定画面 ( デフォルト設定 ) 5)Optimization 設定画面 デバッグ中は None 指定 9

6)Code Generation 設定画面 Target CPU Instruction Set Interworking アンアライドアクセスをディセーブル Target FPU(--mfpu) Floating-point ABI(-mfloat-abi=name) cortex-a9 ARM(--marm) を選択 vfp Soft Softfp(VFP/NEON 使用時 ) 10

7)Debugging 設定画面 Default(-g) DWARF 2(-gdwarf-2) を選択 8)Warnings and Erros 設定画面 ( デフォルト設定 ) 11

9)Miscellaneous 設定画面 ( デフォルト設定 ) 12

4.Assembler の設定 1)Assembler のすべてのオプションを表示 2)General 設定画面 Include paths 設定.. src_gsys inc 13

3)Code Generation 設定画面 GCC C コンパイラのターゲット設定と同じにする Target CPU cortex-a9 Instruction Set Default を選択 Interworking Target FPU(--mfpu) vfp Floating-point mode(-mfloat-abi) Soft Softfp(VFP/NEON 使用時 ) Floating-point PCS(-mapcs-float) 14

4) デバッグ設定画面 Enable Debug(-g) Debug format DWARF2(-gdwarf-2) 5)Warnings and Errors 設定画面 ( デフォルト設定 ) 15

6)Miscellaneous 設定画面 USER_Debug EVrxRZ_Sample EVrxRZ_Sample_USB EVRZ_Sample EVRZ_Sample_USB EVrxRZ_Norti EVrxRZ_Norti_USB EVRZ_Norti EVRZ_Norti_USB サンプルプロジェクトの追加オプション -a= ${OUTPUT_PREFIX} ${OUTPUT}.lst --defsym TARGET_FEATURE_NEON=0 --defsym TARGET_FPU_VFP=0 注 *1 --defsym USED_DEFnano =1 -a= ${OUTPUT_PREFIX} ${OUTPUT}.lst --defsym TARGET_FEATURE_NEON=0 --defsym TARGET_FPU_VFP=0 注 *1 --defsym USED_DEFnano =1 注 *1 USED_DEFnano =0 と使用しない側に定義しても内蔵 RAM へのダウンロードとシリアルフラッシュ ROM への書き込み操作は可能です ただし 再操作する場合はターゲット側のリセット操作が必要になります 16

5.GCC Linker の設定 1)GCC Linker のすべてのオプションを表示 2)General 設定画面 Generate MAP File(-M) Add linker script file(-t FILE) ロケート用スクリプトファイル "${ProjDirPath}/linker_script_file/Locate.ld" 17

3)Libraries 設定画面 Librarues(-L) "${TC_INSTALL}/lib/gcc/arm-none-eabi/${GCC_STRING}" "${TC_INSTALL}/lib/gcc/arm-none-eabi/${GCC_STRING}/fpu/interwork" "${CWD}" Library search path(--library-path) "${TC_INSTALL}/lib" 4)Warnings and Errors 設定画面 ( デフォルト設定 ) 18

5)Miscellaneous 設定画面 --start-group -l${projname} -lgcc --end-group --print-gc-sections --cref USER_Debug EVrxRZ_Sample EVRZ_Sample EVrxRZ_Sample_USB EVRZ_Sample_USB EVrxRZ_Norti EVRZ_Norti EVrxRZ_Norti_USB EVRZ_Norti_USB サンプルプロジェクト別のライブラリファイルなし ITF_LIB/ITFUSBLib_RZA1H_A0_GNU.a( 別売り ) n4d7anal.a( 別売り ) Floating-point mode:soft 指定 n4e7anal.a( 別売り ) Floating-point mode:softfp 指定 n4e7aval.a( 別売り ) ITF_LIB/ITFUSBLib_RZA1H_A0_GNU.a( 別売り ) n4d7anal.a( 別売り ) Floating-point mode:soft 指定 n4e7anal.a( 別売り ) Floating-point mode:softfp 指定 n4e7aval.a( 別売り ) 19

6. ビルド ステップの設定画面 ビルド実行前と実行後に追加したいコマンドがある場合に設定します サンプルプロジェクトでは after_build.bat にて実行後に設定する arm-none-eabi-objcopy -O binary %1.x %1.bin bin ファイルの作成 arm-none-eabi-objcopy -O srec %1.x %1.mot mot ファイルの作成 7. ビルド成果物の設定画面 ( デフォルト設定 ) サンプルプロジェクトの設定 (DEFnano を使用する場合は 変更不可 ) 成果物タイプ成果物名 ${ProjName} 成果物拡張子 x 20

8. バイナリー パーサー設定画面 ( デフォルト設定 ) 9. エラー パーサー設定画面 GNU gmake Error Parser 6.0(Deprecated) GNU gcc/g++ Error Parser GNU Linker Error Parser GNU Assembler Error Parser 21

10. ロケートファイル (Locate.LD) について ロケートファイルとは セグメントごとにアブソリュートアドレスを定義するためのファイルです ロケートファイル独自の予約語がありますので各自で調査して下さい サンプルプロジェクト [Locate.LD] の定義例 1 ベアメタル版 MEMORY { ROM (rx) : ORIGIN = 0x20080000, LENGTH = 0x00300000 STACK (rw) : ORIGIN = 0x20380000, LENGTH = 0x00080000 CACHED_RAM (rw) : ORIGIN = 0x203A0000, LENGTH = 0x00380000 UNCACHED_RAM (rw) : ORIGIN = 0x60800000, LENGTH = 0x00200000 } SECTIONS {.text : {. = 0x00000000; Image$$VECTOR_TABLE$$Base =.; * (VECTOR_TABLE) /* asm */. = 0x00000200; * (RESET_INIT_HANDLER) /* asm */ * (InRoot$$Sections) * (.text.text.*) * (.rodata.rodata.*) } > ROM.data : { data_load =.; data_start = LOADADDR(.data) + ( data_load ADDR(.data) ); * (.data.data.*) data_end = LOADADDR(.data) + (. ADDR(.data) ); Image$$DATA$$Limit =.; } > ROM 22

.stack : {. = ALIGN( 0x10 ); Image$$ARM_LIB_STACK$$ZI$$Base =.;. += 0x00008000; Image$$ARM_LIB_STACK$$ZI$$Limit =.;. = ALIGN( 0x10 ); Image$$IRQ_STACK$$ZI$$Base =.;. += 0x00004000; Image$$IRQ_STACK$$ZI$$Limit =.;. = ALIGN( 0x10 ); Image$$FIQ_STACK$$ZI$$Base =.;. += 0x00004000; Image$$FIQ_STACK$$ZI$$Limit =.;. = ALIGN( 0x10 ); Image$$SVC_STACK$$ZI$$Base =.;. += 0x00004000; Image$$SVC_STACK$$ZI$$Limit =.;. = ALIGN( 0x10 ); Image$$ABT_STACK$$ZI$$Base =.;. += 0x00004000; Image$$ABT_STACK$$ZI$$Limit =.;. = ALIGN( 0x4000 ); Image$$TTB$$ZI$$Base =.;. += 0x00004000; Image$$TTB$$ZI$$Limit =.; } > STACK }.uncached_ram (NOLOAD) : { * (VIDEO_BSS) } > UNCACHED_RAM 23

サンプルプロジェクト [Locate.LD] の定義例 2 NORTi 版 MEMORY { SYSTEM_RAM (rwx) : ORIGIN = 0x20080000, LENGTH = 0x00680000 STACK_MEM (rw) : ORIGIN = 0x20700000, LENGTH = 0x00100000 STACK_ABT (rw) : ORIGIN = 0x20800000, LENGTH = 0x00004000 MMU_TTB (rw) : ORIGIN = 0x20804000 LENGTH = 0x00004000 UNCACHED_RAM (rw) : ORIGIN = 0x60808000, LENGTH = 0x001F8000 } SECTIONS {.text : { PROVIDE( ro_start =.); PROVIDE(_copy_start_ =.);. = 0x00000000; Image$$VECTOR_TABLE$$Base =.; * (VECTOR_TABLE) /* asm */. = 0x00000200; * (RESET_INIT_HANDLER) /* asm */ * (InRoot$$Sections) * (.text.text.*) * (.rodata.rodata.*) PROVIDE( ro_end =.); } > SYSTEM_RAM.data : {. = ALIGN(8); PROVIDE( data_start =.); * (.data.data.*) PROVIDE( data_end =.);. = ALIGN(8); PROVIDE(_copy_end_ =.); } > SYSTEM_RAM.bss : {. = ALIGN(8); PROVIDE( bss_start =.); * (.bss.bss.*) * (COMMON) PROVIDE( bss_end =.); } > SYSTEM_RAM 24

.MPLMEM ALIGN(8) : { * (.MPLMEM) } > SYSTEM_RAM.STKMEM ALIGN(8) : { * (.STKMEM) } > SYSTEM_RAM.stack (NOLOAD) : { PROVIDE(STARTOF_STACK =.);. += LENGTH(STACK_MEM);. = ALIGN(8); PROVIDE(STACK =.); } > STACK_MEM.stack_abt (NOLOAD) : { Image$$ABT_STACK$$ZI$$Base =.;. += LENGTH(STACK_ABT); Image$$ABT_STACK$$ZI$$Limit =.; } > STACK_ABT.ttb (NOLOAD) : { Image$$TTB$$ZI$$Base =.;. += LENGTH(MMU_TTB); Image$$TTB$$ZI$$Limit =.; } > MMU_TTB }.uncached_ram (NOLOAD) : { * (NOCACHE_AREA) } > UNCACHED_RAM 25

11. ベクターテーブルとローダーの関係について MP-RZA1H 基板は シリアルフラッシュ ROM にローダーとアプリケーションプログラムを記憶させ 電源 ON 時にローダーが RZA1H の内蔵 RAM にアプリケーションプログラムをロードして実行させる仕組みになっています ローダーは内蔵 RAM にロードする時にロード先の先頭アドレスと最終アドレスと実行開始アドレスを知る必要があります この情報を得るため独自の定義が必要なため下記に説明します 1) ローダーが必要な情報はベクターテーブルに登録する _vector_table.s < ベアメタル版 > Start: @===================================================================== @ Entry point for the Reset handler @===================================================================== vector_table: LDR pc, =Reset_handler @; Start+0x0000 : リセット LDR pc, =Undefined_handler @; Start+0x0004 : 未定義命令 LDR pc, =Svc_handler @; Start+0x0008 : ソフトウェア割り込み LDR pc, =Prefetch_handler @; Start+0x000c : プリフェッチアボート LDR pc, =Abort_handler @; Start+0x0010 : データアボート LDR pc, =Reserved_handler @; Start+0x0014 : Reserved LDR pc, =Irq_handler @; Start+0x0018 : IRQ LDR pc, =Fiq_handler @; Start+0x001c : FIQ(NMI) @===================================================================== @ SFROM に登録したローダーに渡す情報 @==================================================================== Info_table:.long Image$$VECTOR_TABLE$$Base @; Start+0x0020 1 内蔵 RAM 転送先の開始アドレス.long Image$$DATA$$Limit @; Start+0x0024 : 2 内蔵 RAM 転送先の終了アドレス (+1).long vector_table @; Start+0x0028 : 3 初期 PC 値 long 0 @; Start+0x002C : 4デバッグモードフラグ @; DEFnanoを未使用にして USB0を開放する場合は @; 0xDEF0DEF0を定義する Info_end: 重要 1234 の情報は ROM 化するためには必要な情報テーブルです 必ず 定義して下さい 注意事項 4 で DEFnano 未使用 コード 0xDEF0DEF0 をセットし シリアルフラッシュ ROM に登録した場合 二度と DEFnano を使用することが出来なくなります 復帰したい場合は JTAG デバッガ等でシリアルフラッシュ ROM アドレス 0x2_002C を未使用コード 0xDEF0DEF0 以外の数値を直接書き込んでください 26

2) ローダーが必要な情報はベクターテーブルに登録する _vector_table.s <NORTi 版 > Start: @===================================================================== @ Entry point for the Reset handler @===================================================================== vector_table: LDR pc, =Reset_Handler @; Start+0x0000 : リセット LDR pc, =Undefined_Handler @; Start+0x0004 : 未定義命令 LDR pc, =Svc_Handler @; Start+0x0008 : ソフトウェア割り込み LDR pc, =Prefetch_Handler @; Start+0x000c : プリフェッチアボート LDR pc, =Abort_Handler @; Start+0x0010 : データアボート LDR pc, =Reserved_Handler @; Start+0x0014 : Reserved LDR pc, =IRQ_Handler @; Start+0x0018 : IRQ LDR pc, =FIQ_Handler @; Start+0x001c : FIQ(NMI) @===================================================================== @ SFROM に登録したローダーに渡す情報 @==================================================================== Info_table:.long _copy_start_ @; Start+0x0020 1 内蔵 RAM 転送先の開始アドレス.long _copy_end_ + 1 @; Start+0x0024 : 2 内蔵 RAM 転送先の終了アドレス (+1).long RESET @; Start+0x0028 : 3 初期 PC 値 long 0 @; Start+0x002C : 4デバッグモードフラグ @; DEFnanoを未使用にして USB0を開放する場合は @; 0xDEF0DEF0を定義する Info_end: 重要 1234 の情報は ROM 化するためには必要な情報テーブルです 必ず 定義して下さい 注意事項 4 で DEFnano 未使用 コード 0xDEF0DEF0 をセットし シリアルフラッシュ ROM に登録した場合 二度と DEFnano を使用することが出来なくなります 復帰したい場合は JTAG デバッガ等でシリアルフラッシュ ROM アドレス 0x2_002C を未使用コード 0xDEF0DEF0 以外の数値を直接書き込んでください 以上です 27

12. 注意事項 本文書の著作権は エーワン ( 株 ) が保有します 本文書を無断での転載は一切禁止します 本文書に記載されている内容についての質問やサポートはお受けすることが出来ません 本文章に関して ARM 社およびルネサスエレクトロニクス社および KPIT 社への問い合わせは御遠慮願います 本文書の内容に従い 使用した結果 損害が発生しても 弊社では一切の責任は負わないものとします 本文書の内容に関して 万全を期して作成しましたが ご不審な点 誤りなどの点がありましたら弊社までご連絡くだされば幸いです 本文書の内容は 予告なしに変更されることがあります 13. 商標 ARM DS-5 は ARM 社の登録商標 または商品名称です RZ および RZ/A1H は ルネサスエレクトロニクス株式会社の登録商標 または商品名です その他の会社名 製品名は 各社の登録商標または商標です 14. 参考文献 RZ/A1H グループユーザーズマニュアルハードウェア編 ルネサスエレクトロニクス株式会社 ルネサスエレクトロニクス株式会社提供のサンプル集 armcc ユーザガイド DUI 0472JJ ARM 社 アセンブラの使用 DUI 0473GJ ARM 社 リンカの使用 DUI 0474GJ ARM 社 コンパイラリファレンスガイド DUI 0328BJ ARM 社 アセンブラリファレンス DUI 0489GJ ARM 社 armkink リファレンスガイド DUI 0804AJ ARM 社 その他 486-0852 愛知県春日井市下市場町 6-9-20 エーワン株式会社 http://www.robin-w.com 28