1: 2009-06-19 (金) 17:47:48 sho | |||
---|---|---|---|
Line 1: | Line 1: | ||
+ | TITLE:BTC080 SH7145Fマイコンボードマニュアル | ||
+ | #norelated | ||
+ | #contents | ||
+ | **概要 [#md273e31] | ||
+ | SH7145Fマイコンボードはルネサステクノロジ製32bit RISC CPU SH7145Fを搭載したマイコンボードです。ボード上には1MバイトのSRAMと2MバイトのフラッシュROMを別途装備し、比較的大きなワークエリアを必要とするアプリケーションに対応可能です。その反面豊富な入出力端子をメモリ用のバスとして占有されるため、マイコン単体の評価としての用途には向きません。 | ||
+ | **基本仕様 [#ma362c4a] | ||
+ | |商品番号 |BTC080 | | ||
+ | |PCBリビジョン |E012E | | ||
+ | |CPU |[[Renesas HD64F7145F50:http://japan.renesas.com/fmwk.jsp?cnt=sh7144_root.jsp&fp=/products/mpumcu/superh_family/sh7144_series/sh7144_group/]] | | ||
+ | |クロック |外部オシレータ 12.288MHz、システム: 49.152MHz固定、周辺: 24.576MHz固定 | | ||
+ | |外部メモリ |8Mビット高速S-RAM(ノンウェイト32ビットデータバス接続、スーパーキャパシタによる簡易バックアップ アドレスマップ (CS1空間)、400000H~4FFFFFH(MODE0/2))、16MビットフラッシュROM(16ビットデータバス接続、消去/書込みサイクル 100000回、アドレスマップ (CS0空間)、000000H~1FFFFFH(MODE0)、200000H~3FFFFFH(MODE2)) | | ||
+ | |通信機能 |RS232Cレベル変換装備 (SCI1のみ) | | ||
+ | |電源監視 |セットIC装備 (低電圧検出スレッショルド DC2.7V) | | ||
+ | |動作温度 |0~+40℃ | | ||
+ | |動作電圧 |DC3.3V±5% | | ||
+ | |消費電流 |600mA (MAX) | | ||
+ | |寸法 |W49×D57mm(参考) | | ||
+ | |コネクタ等 |30ピン端子×3, 通信用コネクタ×1, CPUモード切替4ビットディップスイッチ×1, リセットボタン×1, 電源モニタLED | | ||
+ | |付属品 |2列ピンヘッダ(CN1,CN2,CN3にはコネクタが半田付けされていません。お使いの環境に合わせて適宜装備してください。) | | ||
+ | |環境配慮 |RoHS準拠, 鉛フリー半田(Rev.F以降) | | ||
+ | ***外観 [#qb0c7a18] | ||
+ | | top | bottom | | ||
+ | | #ref(SH7145F_TOP.png,50%) | #ref(SH7145F_BOTTOM.png,50%) | | ||
+ | ***回路図 [#tf2a6cfa] | ||
+ | #ref(E012E.pdf) | ||
+ | ***端子配置・外形 [#fb85bdc0] | ||
+ | #ref(SH7145F_LAYOUT.png,100%) | ||
+ | ***コネクタ・端子・スイッチ等 [#p144077a] | ||
+ | ****CN1 [#u601e30c] | ||
+ | -2.54mmピッチ2列×30ピン | ||
+ | -推奨ピンヘッダ:ヒロセ電機 HIF3H-30PB-2.54DSA | ||
+ | -推奨レセプタクル:ヒロセ電機 HIF3H-30DA-2.54DSA | ||
+ | | No. | 端子名 | No. | 端子名 | | ||
+ | | 1 | GND | 2 | GND | | ||
+ | | 3 | VCC | 4 | VCC | | ||
+ | | 5 | PD15/D15 | 6 | PD14/D14 | | ||
+ | | 7 | PD13/D13 | 8 | PD12/D12 | | ||
+ | | 9 | PD11/D11 | 10 | PD10/D10 | | ||
+ | | 11 | PD9/D9 | 12 | PD8/D8 | | ||
+ | | 13 | PD7/D7 | 14 | PD7/D7 | | ||
+ | | 15 | PD5/D5 | 16 | PD4/D4 | | ||
+ | | 17 | PD3/D3 | 18 | PD2/D2 | | ||
+ | | 19 | PD1/D1 | 20 | PD0/D0 | | ||
+ | | 21 | PA16/AUDSYNC | 22 | PA17/WAIT | | ||
+ | | 23 | RES | 24 | PE0/TIOC0A/DREQ0/AUDCK | | ||
+ | | 25 | PE1/TIOC0B/DRAK0/AUDMD | 26 | PE2/TIOC0C/DREQ1/AUDRST | | ||
+ | | 27 | PE3/TIOC0D/DRAK1/AUDATA3 | 28 | PE4/TIOC1A/RXD3/AUDATA2 | | ||
+ | | 29 | PE5/TIOC1B/TXD3/AUDATA1 | 30 | PE6/TIOC2A/SCK3/AUDATA0 | | ||
+ | ****CN2 [#c1dd4ed5] | ||
+ | -2.54mmピッチ2列×30ピン | ||
+ | -推奨ピンヘッダ:ヒロセ電機 HIF3H-30PB-2.54DSA | ||
+ | -推奨レセプタクル:ヒロセ電機 HIF3H-30DA-2.54DSA | ||
+ | | No. | 端子名 | No. | 端子名 | | ||
+ | | 1 | GND | 2 | GND | | ||
+ | | 3 | VCC | 4 | VCC | | ||
+ | | 5 | PF0/AN0 | 6 | PF1/AN1 | | ||
+ | | 7 | PF2/AN2 | 8 | PF3/AN3 | | ||
+ | | 9 | PF4/AN4 | 10 | PF5/AN5 | | ||
+ | | 11 | PF6/AN6 | 12 | PF7/AN7 | | ||
+ | | 13 | VCC | 14 | AVref | | ||
+ | | 15 | PB9/IRQ7/A21/ADTRG | 16 | PA0/RXD0 | | ||
+ | | 17 | PA1/TXD0 | 18 | PA2/SCK0/DREQ0/IRQ0 | | ||
+ | | 19 | PA3/RXD1 | 20 | PA4/TXD1 | | ||
+ | | 21 | PA5/SCK1/DREQ1/IRQ1 | 22 | PE7/TIOC2B/RXD2 | | ||
+ | | 23 | PE8/TIOC3A/SCK2/TMS | 24 | PE9/TIOC3B/TRST/SCK3 | | ||
+ | | 25 | P35 | 26 | P34 | | ||
+ | | 27 | PE12/TIOC4A/TCK/TXD3 | 28 | PE13/TIOC4B/MRES | | ||
+ | | 29 | PE14/TIOC4C/DACK0 | 30 | PE15/TIOC4D/DACK1/IRQOUT | | ||
+ | ****CN3 [#h590a4e8] | ||
+ | -2.54mmピッチ2列×30ピン | ||
+ | -推奨ピンヘッダ:ヒロセ電機 HIF3H-30PB-2.54DSA | ||
+ | -推奨レセプタクル:ヒロセ電機 HIF3H-30DA-2.54DSA | ||
+ | | No. | 端子名 | No. | 端子名 | | ||
+ | | 1 | GND | 2 | GND | | ||
+ | | 3 | VCC | 4 | VCC | | ||
+ | | 5 | PC0/A0 | 6 | PC1/A1 | | ||
+ | | 7 | PC2/A2 | 8 | PC3/A3 | | ||
+ | | 9 | PC4/A4 | 10 | PC5/A5 | | ||
+ | | 11 | PC6/A6 | 12 | PC7/A7 | | ||
+ | | 13 | PC8/A8 | 14 | PC9/A9 | | ||
+ | | 15 | PC10/A10 | 16 | PC11/A11 | | ||
+ | | 17 | PC12/A12 | 18 | PA20 | | ||
+ | | 19 | PA19/BACK/DRAK1 | 20 | PA18/BREQ/DRAK0 | | ||
+ | | 21 | PB2/IRQ0/POE0/SCL0 | 22 | PB3/IRQ1/POE1/SDA0 | | ||
+ | | 23 | PB4/IRQ2/POE2 | 24 | PA6/TCLKA/CS2 | | ||
+ | | 25 | PA7/TCLKB/CS3 | 26 | PA8/TCLKC/IRQ2 | | ||
+ | | 27 | PA9/TCLKD/IRQ3 | 28 | PA14/RD | | ||
+ | | 29 | PA13/WRH | 30 | PA12/WRL | | ||
+ | ****CN4 [#o0b7bc44] | ||
+ | -RS232C通信ケーブル接続用 | ||
+ | -2mmピッチ 3ピン | ||
+ | -SH7145FのPA3(RXD1)とPA4(TXD1)端子をEIA232レベルに変換 | ||
+ | -PA3(RXD1)はDIP1-4にてEIA232レベル変換ICと切り離し可能 | ||
+ | | No. | 端子名 | I/O | | ||
+ | | 1 | TX (EIA232←TXD1) | O | | ||
+ | | 2 | GND | - | | ||
+ | | 3 | RX (EIA232→RXD1) | I | | ||
+ | ****JP1 [#z4f6f78b] | ||
+ | -マイコンのE10Aエミュレータ機能イネーブル制御(マイコンのDBGMD端子に接続) | ||
+ | -オープン:ディスエーブル, ショート:イネーブル | ||
+ | -出荷時:オープン | ||
+ | ****D4(LRD) [#had99b5f] | ||
+ | -マイコンボードに電源を印加すると点灯 | ||
+ | |||
+ | ****PB1(プッシュボタン) [#te1608e3] | ||
+ | -押下でシステムリセット用IC(PST598IN)からCPUと外部のフラッシュROMへリセット発行 | ||
+ | -押し離して0.2秒後にCPUのリセット信号解除 | ||
+ | ****DIP1(ディップスイッチ) [#jc08ff13] | ||
+ | -CPUの動作モード切替 | ||
+ | -ボード上の各機能設定: DIP1-1~3:ONで各端子はGND、OFFにするとVCCへプルアップ、DIP1-4:ONでPA3(RXD1)はEIA232Dレベル変換ICを介してCN4と接続、OFFで切り離されます。 | ||
+ | | No. | 端子名 | | ||
+ | | 1 | MD0 | | ||
+ | | 2 | MD1 | | ||
+ | | 3 | FWP | | ||
+ | | 4 | CN4 RX端子使用/不使用 | | ||
+ | |||
+ | **各機能の詳細 [#h8ca3ffe] | ||
+ | ***電源 [#x4fe5904] | ||
+ | 余裕を見て0.8A程度供給できる安定したDC3.3Vの電源を用意してください。なおバッテリをマイコンボードの電源端子に直結させるような方法は採らないでください。 | ||
+ | なお電源はCN1~CN3のいずれの電源端子から供給しても構いません。 | ||
+ | |||
+ | ***リセット [#wa4115be] | ||
+ | 電源の供給が開始されると同時にマイコンボードに装備されたリセットICは約0.2秒間リセット信号を出力します。その後リセットが解除されマイコンが動作し始めます。動作中電源電圧が2.7V程度まで下がるとリセット信号が出力されます。 | ||
+ | なおマイコンボードのSW1を押すと強制的にリセット信号が発行されます。 | ||
+ | |||
+ | ***簡易バックアップ回路 [#t3bcd09f] | ||
+ | 電源の供給が断たれるとリセットICのリセット信号と同期して外部RAMをバックアップする回路が起動し、実装済みの電気二重層コンデンサから外部RAMへ電源が供給されます。 | ||
+ | バックアップは半永久的なものではなく、プログラムのデバッグ作業におけるカット&トライの際に必要と思われる数時間程度の簡易的なものですので、過度な期待はなさらないで下さい。なお電気二重層コンデンサの充電はマイコンボードへの電源供給時に行われ、完全充電には数十秒かかります。 | ||
+ | |||
+ | ***RS232C(CN4) [#xcf97cc7] | ||
+ | #ref(SH7145F_1.png,50%) | ||
+ | CN3にはマイコンのDBGU端子をRS232Cレベルに変換した信号が接続されます。主にPCのCOMポートと接続し、プログラムの転送やデバッグに使用します。~ | ||
+ | 接続するホストに応じて以下の通信ケーブルで使用できます。 | ||
+ | -PCにCOMポートがある場合 | ||
+ | ~[[BTE060 RS232C通信ケーブル]] | ||
+ | -PCにCOMポートが無く、USBポートがある場合 | ||
+ | ~[[BTE075 USB-RS232Cケーブル]]~ | ||
+ | [[BTE060 RS232C通信ケーブル]] + [[BTE061D USBシリアル変換ケーブル]] | ||
+ | -PCにUSBポートがあり、JTAGによるデバッグを同時に行う場合 | ||
+ | ~[[BTE067B TINY JTAG-ICE2]] (RS232Cケーブルは自作する必要あり) | ||
+ | |||
+ | ***動作モード [#s4e5df1a] | ||
+ | ディップスイッチにてCPUの動作モードを切り替える事ができます。 | ||
+ | なお、MUC拡張モード1は外部フラッシュROMのバス幅が16ビットであるため使用できません。 | ||
+ | |||
+ | ****MCU拡張モード0 [#g01913f0] | ||
+ | CS0空間(外部フラッシュROM)が16ビットとなり、内蔵フラッシュROMが無効となります。 | ||
+ | 外部フラッシュROMに0番地から動作する実行可能なコードがストアされている場合は、内蔵ROMの代替としてプログラムを起動できます。~ | ||
+ | ~ | ||
+ | ディップスイッチ | ||
+ | |DIP SW(端子名)|SW1-1(MD0)|SW1-2(MD1)|SW1-3(FWP)| | ||
+ | |状態(信号)|ON(0)|ON(0)|OFF(1)| | ||
+ | |||
+ | ****MCU拡張モード2 (出荷時設定) [#jc7962cb] | ||
+ | マイコン内蔵フラッシュROMが有効で、CS0空間(外部フラッシュROM)が200000H~3FFFFFH、CS1空間(外部RAM)が400000H~7FFFFFHにアサインされます。なお初期状態でバスとして使用される端子は汎用I/Oとなっています(MCU拡張モード3と同等)ので、CS0およびCS1空間を使用する場合はBSCおよびPFCを適宜設定する必要があります。 | ||
+ | なお出荷時に予めSH内蔵のフラッシュROMに簡易転送プログラムが書き込まれいますので、BSCおよびPFCの設定を意識することなくプログラムを外部RAMもしくは外部フラッシュROMにダウンロードしたり実行することができます。~ | ||
+ | ~ | ||
+ | ディップスイッチ | ||
+ | |DIP SW(端子名)|SW1-1(MD0)|SW1-2(MD1)|SW1-3(FWP)| | ||
+ | |状態(信号)|ON(0)|OFF(1)|OFF(1)| | ||
+ | |||
+ | ****MCU拡張モード3 [#abb4a5c1] | ||
+ | シングルチップモードとなり、増設メモリを一切使用しない場合に設定します。 | ||
+ | このモードにするとマイコンの外部端子が全て汎用入出力ポートに設定でき、外部バスとしての設定を行うことはできません。 | ||
+ | なお、外部メモリへのチップセレクト信号(PA10/CS0, PA11/CS1)は入力端子もしくは出力端子にしてHIGHに固定して下さい。~ | ||
+ | ~ | ||
+ | ディップスイッチ | ||
+ | |DIP SW(端子名)|SW1-1(MD0)|SW1-2(MD1)|SW1-3(FWP)| | ||
+ | |状態(信号)|OFF(1)|OFF(1)|OFF(1)| | ||
+ | |||
+ | ****ブートモード [#jca94fc9] | ||
+ | マイコン内蔵のフラッシュROMへプログラムを書き込む際に設定します。書き込みにはフラッシュライタを使用して下さい。~ | ||
+ | ~ | ||
+ | ディップスイッチ | ||
+ | |DIP SW(端子名)|SW1-1(MD0)|SW1-2(MD1)|SW1-3(FWP)| | ||
+ | |状態(信号)|ON(0)|ON(0)|ON(0)| | ||
+ | |||
+ | **開発環境 [#le578f94] | ||
+ | ***GCC Developer Lite [#se6cd2c9] | ||
+ | GCC Developer Liteの詳細については[[こちら>GCC Developer Lite]]。~ | ||
+ | フルインストールないしSH7145Fで使用を選択する事で必要なコンポーネントが自動的にインストールされます。~ | ||
+ | SH7145Fで使用される主要なコンポーネントを簡単に示します。 | ||
+ | -''[[GCC Developer Lite>GCC Developer Lite#GCCDevL]]'' | ||
+ | ~ソースプログラムを編集するためのテキストエディタとその他のツールを起動するためのランチャ機能を有する。 | ||
+ | -''[[FLASH WRITER>GCC Developer Lite#FW]]'' | ||
+ | ~ターゲットのフラッシュROM等へコンパイルされたプログラムをCOMポート経由で書き込む。~ | ||
+ | USB等で提供されるCOMポートの動的な検出と、COMポートを使用する弊社ツールとの排他制御機能を持つ。 | ||
+ | -''[[SIMPLE TERM>GCC Developer Lite#STERM]]'' | ||
+ | ~汎用シリアルターミナル。簡易的なTLENETクライアントとしても機能する。~ | ||
+ | USB等で提供されるCOMポートの動的な検出と、COMポートを使用する弊社ツールとの排他制御機能を持つ。 | ||
+ | -''ターゲットファイル'' | ||
+ | ~マイコンの内蔵ペリフェラルを定義したヘッダファイルやUARTを簡便に使うためのAPI、GDBにてデバッグする際に使用する初期化ファイル、シリーズ毎に異なるメモリマップを定義したリンカスクリプトファイル、スタートアップルーチンを含む。基本的にコンパイル済みライブラリとしてソースとリンクして使用する。 | ||
+ | |||
+ | ****ターゲットファイル [#e7cad936] | ||
+ | [[GCC Developer Lite>GCC Developer Lite]]では本マイコン用の設定を複数備えています。~ | ||
+ | 例えば、SHコアの学習・組み込み向けCコンパイラの習熟・マイコン内蔵ペリフェラルの機能を熟知するといった段階ではJTAGを使ってSRAM上でデバッグし、慣れてきたら[[ブートローダ>SH7145F Bootloader]]を経由してprintfデバッグ、最終的に製品等としてリリースして完成させる時はフラッシュROMに、といった段階を踏む場合でも[[GCC Developer Lite>GCC Developer Lite]]のコンパイルオプションの設定リストから選択し直すだけで設定が完了します。~ | ||
+ | #ref(GDL_CompileOption_TargetList.png) | ||
+ | 以下本マイコンボードに対応した設定リストの一覧です。 | ||
+ | -''SH7145F (ExRAM & GDB)'' | ||
+ | -''SH7145F (ExRAM, Bootloader)'' | ||
+ | -''SH7145F (Internal Flash)'' | ||
+ | -''SH7145F (Internal Flash & ExRAM)'' | ||
+ | -''SH7145F (ExFlash & ExRAM)'' | ||
+ | |||
+ | ****ブートローダ [#k721ab7e] | ||
+ | マイコンには出荷時に弊社オリジナルの[[ブートローダ>SH7145F Bootloader]]が書き込まれています。~ | ||
+ | [[ブートローダ>SH7145F Bootloader]]はJTAGやその他の特殊なI/Fを使用せずとも、COMポートを使用してマイコンのプログラム書き換えや操作を行う事が出来ます。 | ||
+ | 詳細は[[こちら>SH7145F Bootloader]]。~ | ||
+ | [[ブートローダ>SH7145F Bootloader]]を使用して動作するプログラムが構成できる設定リストは以下の通りで、これ以外の設定リストで構成されたプログラムを[[ブートローダ>SH7145F Bootloader]]で転送しても動作しません。 | ||
+ | -''SH7145F (ExRAM, Bootloader)'' | ||
+ | |CENTER:BGCOLOR(red):||c | ||
+ | |||
+ | ****FLASH WRITER [#sb54d892] | ||
+ | 様々なマイコンに対応した転送ツールです。 | ||
+ | FLASH WRITERを使用して動作するプログラムが構成できる設定リストは以下の通りで、これ以外の設定リストで構成さAれたプログラムをFLASH WRITERで転送しても動作しません。 | ||
+ | -''SH7145F (ExRAM & GDB)'' | ||
+ | -''SH7145F (Internal Flash)'' | ||
+ | -''SH7145F (Internal Flash & ExRAM)'' | ||
+ | -''SH7145F (ExFlash & ExRAM)'' | ||
+ | |||
+ | |CENTER:BGCOLOR(red):||c | ||
+ | | :idea:|LOCKEビットがONの場合ここでの操作が抑止されるため、予め[[LOCKEビットをOFF>#eb5fc33b]]にした上で操作する必要があります。| | ||
+ | |||
+ | **SH用ライブラリ [#c8c280fa] | ||
+ | [[GCC Developer Lite>GCC Developer Lite]]では1つのソースプログラムのみを対象とするため、機能別にソースを分割して編集やコンパイルするといった使い方は出来ません(完全にできないという訳でもありません)。だからと言って全ての機能を一つのソースに記述する事は、プログラムの見通しが悪くなりバグの温床になりかねません。~ | ||
+ | そこで、複数のソースに分割する事無くある程度のソースプログラムサイズでコーディングするために、頻繁に使用されるであろう一部の機能が専用のライブラリとして提供されます。~ | ||
+ | GCC Developer Liteを標準的な環境のPCへインストールすると、「C:\Program Files\BestTech\GCC Developer Lite\TARGET\7145F」フォルダに必要なファイルがコピーされます。必要に応じて本フォルダを参照できますし、ユーザがソースを修正しライブラリを再構築する事も可能です。 | ||
+ | |||
+ | -''内蔵ペリフェラルのレジスタ名定義ヘッダファイル'' | ||
+ | ~マイコンに内蔵された各種ペリフェラルが持つレジスタは、決められたメモリ上のアドレスに配置されています。それらレジスタをアドレスではなくレジスタ毎に決められた名称を使い、変数のようにアクセスするためのマクロ定義が記述されています。~ | ||
+ | '''7145.h''' (レジスタのマクロ定義)~ | ||
+ | -''ライブラリファイル'' | ||
+ | ~各APIとremap.cをコンパイルし、一つのライブラリファイルにアーカイブして提供します。~ | ||
+ | '''makelib.bat''' (APIをARMモードでコンパイルし、アーカイブするバッチ)~ | ||
+ | '''makelib_thumb.bat''' (APIをTHUMBモードでコンパイルし、アーカイブするバッチ)~ | ||
+ | '''libadd7145.a''' (makelib.batで作成されるライブラリファイル)~ | ||
+ | '''libadd7145_thumb.a''' (makelib_thumb.batで作成されるライブラリファイル) | ||
+ | |||
+ | **サンプルプログラム [#te9fc6ef] |