ページへ戻る

− Links

 印刷 

BTC091B AT91SAM7S256マイコンボード :: Besttechnology

knowledge:BTC091B AT91SAM7S256マイコンボード

ページ内コンテンツ
    • 概要
    • 基本仕様
      • 外観
      • 回路図
      • 端子配置・外形
      • コネクタ・端子・スイッチ等
        • CN1
        • CN2
        • CN3
        • CN4
        • CN5
        • D1(LED)
        • PB1(プッシュボタン)
    • 各機能の詳細
      • 電源
      • RS232C(CN3)
      • USB MicroB(CN4)
      • プッシュスイッチ(PB1)
    • 開発環境
      • GCC Developer Lite
        • ターゲットファイル
        • SIMPLE TERMとブートローダ
        • FLASH WRITER
          • FLASH WRITERとSAM-BA
          • FLASH WRITERとOpenOCD
    • JTAG I/F
    • LOCKEビット
    • SAM7S用ライブラリ
    • サンプルプログラム
    • その他

ショップページへ[1]

概要 anchor.png[2]

ARM7TDMIコアを内蔵したAtmel社製AT91SAM7S256を搭載したマイコンボードです。 USBポートを使用してプログラムの書き換えやデバッグをサポートし、USBバスパワーによる運用も可能です。
なお、CN1とCN2のピンアサインはBTC091[3]と互換性を有します。

Page Top

基本仕様 anchor.png[4]

商品番号BTC091B
PCBリビジョンE032C (2層)
CPUAtmel AT91SAM7S256[5]
メモリフラッシュROM: 256kbyte
SRAM: 64kbyte
クロック外部オシレータ:18.432MHz (内部はCKGR・PMCによりプログラマブル)
動作温度0~+50℃
動作電圧外部:DC3.8~15V (絶対最大定格 20V)
USBバスパワーもしくは外部端子にて供給可能
内部:DC3.3V(I/O), DC1.8V(CORE)
消費電流35mA (MAX)
寸法W29.5×D34.5mm (±0.5mm)
コネクタ等26ピン外部端子×2, RS232C通信用ランド×1, リセットボタン×1, microUSB×1
環境配慮RoHS準拠, 鉛フリー半田
Page Top

外観 anchor.png[6]

topbottom
Page Top

回路図 anchor.png[9]

  • U2:AT91SAM7S256D-AU
    X1:ABM8G-18.432MHZ-B4Y
    R2:1.5kΩ
    R5:1.5kΩ
    R8:0Ω
    R11:100kΩ
    C13:1000pF
    C14:10nF
    Q1:RTU002P02
    CN1,CN2,CN3:未実装
    JP1:ショート
    JP2:ショート
Page Top

端子配置・外形 anchor.png[11]

Page Top

コネクタ・端子・スイッチ等 anchor.png[13]

Page Top
CN1 anchor.png[14]
  • 2.54mmピッチ2列 26ピン
  • 推奨ピンヘッダ:ヒロセ電機 HIF3H-26PB-2.54DSA[15]
  • 推奨レセプタクル:ヒロセ電機 HIF3H-26DA-2.54DSA[15]
  • No.2(NRST)はPB1に接続
  • No.15(DDM),No.16(DDP)端子は直列抵抗を介してCN4に接続
    No.端子名No.端子名
    1TST2*NRST
    3PA294PA30
    5PA36PA2/PGMEN2
    7PA1/PGMEN18PA0/PGMEN0
    9TDO10JTAGSEL
    11TMS12PA31
    13TCK14ERASE
    15*DDM16*DDP
    17ADVREF18AD4
    19AD520AD6
    21AD722PA17PGMD5/ADD
    23VIN24VCC
    25GND26GND
Page Top
CN2 anchor.png[16]
  • 2.54mmピッチ2列 26ピン
  • 推奨ピンヘッダ:ヒロセ電機 HIF3H-26PB-2.54DSA[15]
  • 推奨レセプタクル:ヒロセ電機 HIF3H-26DA-2.54DSA[15]
  • No.9(PA9/DRXD),No.10(PA10/DTXD)はRS232Cレベル変換ICに接続
  • No.19(PA16)は100kΩでプルアップ。
    No.端子名No.端子名
    1PA282PA27/PGMD15
    3PA4/PGMNCMD4PA5/PGMRDY
    5PA6/PGMNOE6TDI
    7PA7/PGMNVALID8PA8/PGMM0
    9*PA9/PGMM110*PA10/PGMM2
    11PA11/PGMM312PA12/PGMD0
    13PA26/PGMD1414PA25/PGMD13
    15PA24/PGMD1216PA13/PGMD1
    17PA14/PGMD218PA15/PGMD3
    19*PA16/PGMD420PA20/PGMD8/AD3
    21PA23/PGMD1122PA22/PGMD10
    23PA19/PGMD7/AD224PA21/PGMD9
    25PA18/PGMD6/AD126GND
Page Top
CN3 anchor.png[17]
Page Top
CN4 anchor.png[19]
  • USB-MicroBレセプタクル
  • DDPとDDM 端子へ接続
  • USBバスパワーをボード上の電源として供給
  • DDP端子のプルアップ制御用としてPA16を使用
Page Top
CN5 anchor.png[20]
  • JTAG用ランド
  • 1.27mmピッチ7ピン
  • ランド穴径 0.7mm
  • 推奨ヘッダ:MAC8 XBシリーズ[21]
    No.端子名
    1TCK
    2GND
    3TMS
    4VCC
    5TDO
    6NRST
    7TDI
Page Top
D1(LED) anchor.png[22]
  • 色:赤
  • 電源が供給されると点灯
Page Top
PB1(プッシュボタン) anchor.png[23]
  • 押下でSAM7SのNRST端子をGNDへ短絡
Page Top

各機能の詳細 anchor.png[24]

Page Top

電源 anchor.png[25]

  • USBバスパワー
    CN3からUSBバスパワー(DC5V)のみを供給するとD2を介してLDO(U1)の一次側に接続され、DC3.3Vが作られます。
    CN1-24(VCC)とCN1-25/26(GND)端子間から外部機器へ3.3Vが供給できます。
  • 外部電源1
    CN1-23(VIN)とCN1-25/26(GND)端子間に安定したDC3.8~15Vの外部電源のみを接続するとD2を介してLDO(U1)の一次側に接続され、DC3.3Vが作られます。
    CN1-24(VCC)とCN1-25/26(GND)端子間から外部機器へ3.3Vが供給できます。
  • 外部電源2
    CN1-24(VCC)とCN1-25/26(GND)端子間に安定したDC3.3Vの外部電源を接続すると、LDO(U1)を介さずに電源が供給されます。
  • 電源の優先回路
    USBバスパワーと外部電源1が両者が供給されると、D2の優先回路にて電圧の高い方がLDO(U1)の一次側に供給されます。お互いの電源はD2にて逆流保護されます。
  • その他
    外部電源2が供給されている状態で、USBバスパワーないし外部電源1が供給される事は許容されません。
[添付]
Page Top

RS232C(CN3) anchor.png[26]

CN3にはSAM7SのDBGU端子からRS232Cレベル変換IC(U3)を中継したRS232Cレベルの信号が接続されます。主にPCのCOMポートと接続し、プログラムの転送やデバッグに使用します。
接続するホストに応じて以下の通信ケーブルないしI/Fがオプションで使用できます。

Page Top

USB MicroB(CN4) anchor.png[31]

[添付]

CN4にはSAM7SのUDP(USB Device Port)に関する端子が接続されています。また、PCとUSBケーブルで接続すると、USBバスパワーが本ボードの電源として供給されます。
なお、SAM-BAやUDPを制御するプログラムが実行されていない限り、PCとUSBケーブルで接続してもUSBデバイスとして使用できませんし、USBホストとしては機能しません。

Page Top

プッシュスイッチ(PB1) anchor.png[32]

PB1にはSAM7SのNRST端子が接続されています。押下するとNRST端子がGNDに接続され、SAM7Sは外部リセットされます。
なお、SAM7SのRSTC(リセットコントローラ)を適宜設定しない限り、NRST端子はリセットを目的として使用することはできません。

Page Top

開発環境 anchor.png[33]

Page Top

GCC Developer Lite anchor.png[34]

GCC Developer Liteの詳細についてはこちら[35]
フルインストールないしAT91SAM7Sで使用を選択する事で必要なコンポーネントが自動的にインストールされます。
主要なコンポーネントを簡単に紹介します。

  • GCC Developer Lite[36]

    ソースプログラムを編集するためのテキストエディタとその他のツールを起動するためのランチャ機能を有する。

  • FLASH WRITER[37]

    ターゲットのフラッシュROM等へコンパイルされたプログラムをSAM-BAないしCOMポート経由で書き込む。
    USB等で提供されるCOMポートの動的な検出と、COMポートを使用する弊社ツールとの排他制御機能を持つ。

  • SIMPLE TERM[38]

    汎用シリアルターミナル。簡易的なTELNETクライアントとしても機能する。
    USB等で提供されるCOMポートの動的な検出と、COMポートを使用する弊社ツールとの排他制御機能を持つ。

  • ARMGCC

    ARMコア向けC/C++言語向けのコンパイラ。出来る限り最新のパッチを適用しているため、時に互換性を失う。

  • デバイスドライバ

    Atmel社提供のSAM-BA用USBドライバと、弊社提供のUSB CDCエミュレーションドライバ。

  • OpenOCD[39]

    TINY JTAG-ICE2の制御を行うデーモン。JTAGを使用する場合は全て本デーモンを仲介する。

  • ターゲットファイル

    マイコンの内蔵ペリフェラルを定義したヘッダファイルやUARTを簡便に使うためのAPI、USBをシリアルポートとして使用するためのAPI、GDBにてデバッグする際に使用する初期化ファイル、シリーズ毎に異なるメモリマップを定義したリンカスクリプトファイル、スタートアップルーチンを含む。基本的にコンパイル済みライブラリとしてソースとリンクして使用する。

Page Top
ターゲットファイル anchor.png[40]

GCC Developer Lite[35]では本マイコン用の設定を複数備えています。
例えば、ARMコアの学習・組み込み向けCコンパイラの習熟・マイコン内蔵ペリフェラルの機能を熟知するといった段階ではJTAGを使ってSRAM上でデバッグし、慣れてきたらブートローダ[41]を経由してprintfデバッグ、最終的に製品等としてリリースして完成させる時はフラッシュROMに、といった段階を踏む場合でもGCC Developer Lite[35]のコンパイルオプションの設定リストから選択し直すだけで設定が完了します。

[添付]

以下に本マイコンボードに対応した設定リストの一覧とその設定における機能の違いを紹介します。

  • AT91SAM7S256 (Bootloader, ARM mode)

    ビルドするとブートローダ[41]にてマイコンのフラッシュROMへ転送するための.bin(バイナリ)ファイルが作られる。
    プログラムのスタートアドレスが0x102000に設定される以外は、フラッシュROM上で動作するプログラムと基本的に相違は無い。
    ビルドが成功すると、STERM.exe(SIMPLE TERM)の起動を促される。

  • AT91SAM7S256 (Bootloader, THUMB mode)

    ビルドするとブートローダ[41]にてマイコンのフラッシュROMへ転送するための.bin(バイナリ)ファイルが作られる。
    Thumb 16ビット圧縮命令を出力するため、ARM modeよりも出力コードサイズが小さくなる。
    プログラムのスタートアドレスが0x102000に設定される以外は、フラッシュROM上で動作するプログラムと基本的に相違は無い。
    ビルドが成功すると、STERM.exe(SIMPLE TERM)の起動を促される。

  • AT91SAM7S256 (RAM, ARM mode)

    ビルドするとOpenOCDにてマイコンのSRAM上で動作させるための.exe(実態はelf)ファイルが作られる。
    プログラムのスタートアドレスは0x200000(SRAMの先頭アドレス)に設定される。
    マイコンにはSRAMからプログラムを起動させる機能が無いためJTAGによる制御が必須。
    ビルドが成功すると、OpenOCD[39]を使用してSRAMへの書き込み・実行を行わせるため、仲介役のFW.exe(FLASH WRITER)の起動を促される。

  • AT91SAM7S256 (RAM, THUMB mode)

    ビルドするとOpenOCDにてマイコンのSRAM上で動作させるための.exe(実態はelf)ファイルが作られる。
    Thumb 16ビット圧縮命令を出力するため、ARM modeよりも出力コードサイズが小さくなる。
    プログラムのスタートアドレスは0x200000(SRAMの先頭アドレス)に設定される。
    マイコンにはSRAMからプログラムを起動させる機能が無いためJTAGによる制御が必須。
    ビルドが成功すると、openOCD[39]を使用してSRAMへの書き込み・実行を行わせるため、仲介役のFW.exe(FLASH WRITER)の起動を促される。

  • AT91SAM7S256 (Flash, ARM mode)

    ビルドするとSAM-BAにてマイコンのフラッシュROMへ書き込むための.bin(バイナリ)ファイルが作られる。
    ビルドが成功すると、SAM-BAモードを使用して書き込みを行うため、FW.exe(FLASH WRITER)の起動を促される。

  • AT91SAM7S256 (Flash, THUMB mode)

    ビルドするとSAM-BAにてマイコンのフラッシュROMへ書き込むための.bin(バイナリ)ファイルが作られる。
    Thumb 16ビット圧縮命令を出力するため、ARM modeよりも出力コードサイズが小さくなる。
    ビルドが成功すると、SAM-BAモードを使用して書き込みを行うため、FW.exe(FLASH WRITER)の起動を促される。

Page Top
SIMPLE TERMとブートローダ anchor.png[42]

マイコンのフラッシュROMには出荷時に弊社オリジナルのブートローダ[41]が書き込まれています。
ブートローダはJTAGやその他の特殊なI/Fを使用せずとも、USBないしCOMポートを使用してマイコンのプログラム書き換えや操作を行う事が出来ます。
ブートローダを使用して動作するプログラムが構成できる設定リストは以下の通りで、これ以外の設定リストで構成されたプログラムをブートローダで転送しても動作しません。

  • AT91SAM7S256 (Bootloader, ARM mode)
  • AT91SAM7S256 (Bootloader, THUMB mode)

USBを仮想COMポートとして使用するため、PCとマイコンボードをUSBケーブルで接続する必要があります。仮想COMポートとして認識させるためのPC用デバイスドライバは、GCC Developer Lite[35]をインストールした際にWindowsのシステムフォルダにコピーされます。USBケーブルでマイコンボードとPCを接続するとデバイスドライバを要求されますが、自動検索させる事で自動的にインストールが行われます。
インストール後、新しいCOMポートがWindowsのデバイスとして追加され、SIMPLE TERMから該当するCOMポートを選択(COMポート番号はPCの環境によって変わるが、デバイス名に「AT91 USB to Serial Converter」が表示されたポートを選択)しオープンするとブートローダの各種コマンドが使用可能となります。その他の設定は以下の通りです。

Baudrate:ここでは意味を持たないので何でも構わない
Databits:8
Stopbits:1
Parity:Non
Flow Control:Non
Protocol:Xmodem
[添付]

ブートローダの詳細及びコマンドモードの使い方等はこちら[41]

先の設定リストでソースプログラムをコンパイルし成功するとSTERM.exe(SIMPLE TERM)の起動を促されます。「OK」を押してSIMPLE TERMを起動すると、特殊な設定が追加されてSIMPLE TERMが起動します。

  • 既にSIMPLE TERMが実行中であれば2重に起動しない。
  • コンパイル済み.binファイルの情報が渡る(ステータスバーにて確認可)。
  • ユーザプログラムを転送する際の手順を記述したスクリプトファイルが使用できる様になる。
[添付]

マイコンボードがブートローダのコマンドモードであれば、「スクリプト実行[STERM SAM7]」をクリックするだけで転送するファイルを手動で選択する事無く転送にかかる処理が全て自動的に行われます。

[添付]

本機能により、手動で間違ったファイルを選択して転送してしまったり、転送不可能な状態で転送をしてしまうといったミスを軽減する事ができます。

  :idea:USB版ブートローダにてユーザープログラムが書き込まれているマイコンボードを、デバイスドライバがインストールされていないPCのUSBポートに接続してはなりません。
ブートローダは起動直後から5秒以内にデバイスドライバが活性化しないと、USBポートを非活性化した後にユーザプログラムに実行を遷移してしまうため、OSによってはその間にデバイスドライバのインストール処理が自動的にキャンセルされてしまいます。
初めてUSB版ブートローダを使用するためにPCにデバイスドライバをインストールさせるには、予めデバイスドライバがインストールされたPCでユーザプログラムを消去したマイコンボードを使用します。

Page Top
FLASH WRITER anchor.png[43]

様々なマイコンに対応した転送ツールです。本マイコンにおいては2種類の転送方法に対応します。
どちらを選択するかはユーザに委ねられます。CPUコアやプログラムの詳細なデバッグも行うついでにメモリの書き換えを行うという場合のみOpenOCD[39]、フラッシュROMの書き換えさえ出来ればよいのであればSAM-BAを選択するのが一般的です。
FLASH WRITERを使用して動作するプログラムが構成できる設定リストは以下の通りで、これ以外の設定リストで構成されたプログラムをFLASH WRITERで転送しても動作しません。

  • AT91SAM7S256 (RAM, ARM mode)

    OpenOCD[39]を経由してSRAMに転送実行。

  • AT91SAM7S256 (RAM, THUMB mode)

    OpenOCD[39]を経由してSRAMに転送実行。

  • AT91SAM7S256 (Flash, ARM mode)

    SAM-BAを経由してフラッシュROMに転送実行。コンパイルオプションを変更すればOpenOCD[39]を経由して書き込む事も可能。

  • AT91SAM7S256 (Flash, THUMB mode)

    SAM-BAを経由してフラッシュROMに転送実行。コンパイルオプションを変更すればOpenOCD[39]を経由して書き込む事も可能。

  :idea:LOCKEビットがONの場合ここでの操作が抑止されるため、予めLOCKEビットをOFFにした上で操作する必要があります。

Page Top
FLASH WRITERとSAM-BA anchor.png[44]

Atmel社独自のマイコンに予め備わったブートローダの通信プロトコルに従ってフラッシュROMの書き換えを行います。対応するポートはDBGU(RS232C CN3)とUDP(USB CN4)となります。
マイコンをSAM-BAモードに移行させるには、その都度以下の操作を行います。

  1. マイコンボードへの電源の供給を絶つ。
  2. TST端子(CN1-1)を3.3Vに接続する。
  3. PA0, PA1, PA2を3.3Vに接続する。(PA0, PA1, PA2端子へ外部回路が接続されていなければ各端子はオープン状態で構わない)
  4. マイコンボードへ電源を供給し、5~10秒程度そのまま維持する。
  5. マイコンボードへの電源供給を絶ち、TST端子をオープンにする。
  6. マイコンは内部的にSAM-BAモードに移行するが、外観から確認する方法は無い。実際にPCとマイコンボードをUSBケーブルで接続してSAM-BAのデバイスドライバが活性化すればSAM-BAモードに移行している。

USB経由でSAM-BAを使用する場合は専用のデバイスドライバが必要です。PC用デバイスドライバは、GCC Developer Lite[35]をインストールした際にWindowsのシステムフォルダにコピーされます。マイコンをSAM-BAモードに設定した後、USBケーブルでマイコンボードとPCを接続するとデバイスドライバを要求されますが、自動検索させる事で自動的にインストールが行われます。間違ったデバイスがインストールされるケース(GPSレシーバ等)もある様なので、その場合は手動で「atm6124.Sys ATMEL AT91xxxxx Test Board」を選択し直す必要があります。
準備が整っていればFLASH WRITERのPORTに列挙されますので、USBの場合は「\usb\ARM0 (SAM-BA)」を選択します。

[添付]

マイコンボードのRS232Cコネクタ経由でSAM-BAを使用する場合は、PCとRS232Cケーブルで接続した上で適宜COMポートを選択します。その際にマイコンボードのUSBコネクタには何も接続してはなりません。
なお、COMポートからの転送はAtmel社のDLLの都合から、とてつもなく転送速度が遅くなります。通常はUSB接続で使用する事を推奨します。

書き込みが正常終了すると、SAM-BAモードを抜けて書き込まれたプログラムを即時実行します。再度SAM-BAで書き込む際は、もう一度電源を切ってモードを切り替えるフローを1.から実行する必要があります。

Page Top
FLASH WRITERとOpenOCD anchor.png[45]

TINY JTAG-ICE2でマイコンのJTAG I​/FとPCを接続し、OpenOCD[39]を仲介してマイコンのフラッシュROMないしSRAMの書き換えを行います。
OpenOCD[39]が起動している状態でFLASH WRITERのScanをクリックし、PORTのリストに現れる「OpenOCD (TELNET)」を選択します。

[添付]

Write Script Fileはデバイス及び書き込むメモリの種類に応じて複数のファイルが存在します。ファイル名の先頭にat91sam7_が付加されているものが本マイコンボード用のファイルとなります。
これらスクリプトファイルはFLASH WRITERを自動起動させる設定がなされたコンパイラオプションにて予め指定されるので、通常はユーザが選択する必要はありません。

  • at91sam7_bin_flash.script

    .binファイルをフラッシュROMに書き込んだ後、マイコンを再起動

  • at91sam7_elf_flash.script

    .exe(elf)ファイルをフラッシュROMに書き込んだ後、マイコンを再起動

  • at91sam7_bin_ram.script

    .binファイルをSRAMに書き込んだ後、SRAMの先頭アドレスから起動

  • at91sam7_elf_ram.script

    .exe(elf)ファイルをSRAMに書き込んだ後、SRAMの先頭アドレスから起動

  • at91sam7_erase.script

    指定ファイルを無視して、フラッシュROMの消去とGPNVMを初期化

AT91SAM7シリーズ全般に対応させるため、デバイスやフラッシュROMのサイズによっては無効となるコマンドも含まれます。それによりエラーのログが表示される事がありますが、実害はありません。

Page Top

JTAG I/F anchor.png[46]

作成したプログラムをマイコンのフラッシュROMに転送するには、一般に別途特殊なI/Fやハードウェアを必要とします。これらはチップベンダーの方針やその時代のトレンドで変わります。
ARMコアを内蔵したマイコンであれば大抵JTAG I/Fが備わっており、JTAG ICEでホストと接続する事でCPUコアの制御やメモリの操作を行う事ができます。 マイコンボードには直接JTAG I/Fに接続するコネクタが装備されていませんので、別途JTAG ICEと接続するコネクタを増設する必要があります。

[添付]

TINY JTAG-ICE2と接続する場合も同様のコネクタが必要となります。

Page Top

LOCKEビット anchor.png[47]

SAM7SのNVMレジスタのLOCKEビットはOFFのまま出荷されます。本設定によりTST端子によるSAM-BAモード移行の操作と、JTAG I/Fからのアクセスが全て許容されます。
万が一LOCKEビットをONにした場合、ブートローダのアップデートや、ブートローダ以外の方法でプログラミングやデバッグを行う場合は、予め以下の操作でLOCKEビットをOFFにする必要があります。

  1. マイコンボードへの電源の供給を絶つ。
  2. ERASE端子(CN1-14)を3.3Vに接続する。
  3. マイコンボードへ電源を供給し、5~10秒程度そのまま維持する。
  4. マイコンボードへの電源供給を絶ち、ERASE端子をオープンにする。
  5. もしそれでもSAM-BAやJTAG I/Fが使用できない場合はもう一度1.から繰り返す。

本操作にてマイコンのNVMやフラッシュROMは製造初期状態に初期化され、SAM-BAやJTAG I/Fが使用可能になります。

Page Top

SAM7S用ライブラリ anchor.png[48]

GCC Developer Lite[35]では1つのソースプログラムのみを対象とするため、機能別にソースを分割して編集やコンパイルするといった使い方は出来ません(完全にできないという訳でもありません)。だからと言って全ての機能を一つのソースに記述する事は、プログラムの見通しが悪くなりバグの温床になりかねません。
そこで、複数のソースに分割する事無くある程度のソースプログラムサイズでコーディングするために、頻繁に使用されるであろう一部の機能が専用のライブラリとして提供されます。
GCC Developer Liteを標準的な環境のPCへインストールすると、「C:\Program Files\BestTech\GCC Developer Lite\TARGET\SAM7S」フォルダに必要なファイルがコピーされます。必要に応じて本フォルダを参照できますし、ユーザがソースを修正しライブラリを再構築する事も可能です。

  • スタートアップルーチン

    C言語で作成したプログラムを実行させるために、アセンブラないしC言語で記述された必要最低限の初期化処理プログラムです。
    boot_remap.s (スタートアップルーチン本体のソースファイル)
    remap.c (REMAP処理用のソースファイル)
    boot.o, boot_thumb.o (アセンブル済みオブジェクトファイル)

  • リンカスクリプトファイル

    実行条件に応じたメモリの割り当てを記述したファイルです。コンパイル時にリンカが参照し、コードの最終的な配置が決定されます。
    sam7s256_ram.x (SRAM上で実行させるリンカスクリプト)
    sam7s256_rom.x (フラッシュROM上で実行させるリンカスクリプト)
    sam7s256_rom_term.x (ブートローダ[41]を介して実行させるリンカスクリプト)

  • 内蔵ペリフェラルのレジスタ名定義ヘッダファイル

    マイコンに内蔵された各種ペリフェラルが持つレジスタは、決められたメモリ上のアドレスに配置されています。それらレジスタをアドレスではなくレジスタ毎に決められた名称を使い、変数のようにアクセスするためのマクロ定義が記述されています。
    AT91SAM7S.h (レジスタのマクロ定義)
    AT91SAM7S_BITDEFINE.h (各レジスタのビット情報)

  • UART API

    作成したプログラムの動作を確認を行う際に、マイコンのシリアルポートを使用する事を推奨しています。マイコンと文字によるコミュニケーション機能を用意する事で、レジスタの値やプログラムの進捗の把握、さらにはマイコンに対してPCから指令を与えるといった使い方が出来ます。
    本マイコンには複数のシリアルポートが備わっており、制御方法も多種多様なため、それに応じてライブラリとして提供する通信用APIも多くなっています。
    us.h (APIのプロトタイプ宣言を含むヘッダファイル)
    dbgu~.c (DBGUポートをポーリングで使用するAPIのソース群)
    dbgu2~.c (DBGUポートを割り込みで使用するAPIのソース群)
    us0~.c (USART0ポートを割り込みで使用するAPIのソース群)
    us1~.c (USART1ポートを割り込みで使用するAPIのソース群)
    udp_serial~.c (UDPポートでシリアルエミュレーションを行うAPI群)
    .\cdc_serialemu (UDPポートでシリアルエミュレーションを行うドライバソース)

  • PIO初期化API

    煩雑なPIOの初期化を簡便に行うためのAPIです。Atmel社の提供するサンプルコードと互換性を持っています。
    piocfg.h (APIのプロトタイプ宣言を含むヘッダファイル)
    piocfg.c (APIのソースファイル)

  • IRQ/FIQ制御API

    IRQとFIQの各割り込みを制御するには、コンパイラに依存するコードが必要です。簡便のためAPIとして提供します。
    vic.h (APIのプロトタイプ宣言を含むヘッダファイル)
    vic.c (APIのソースファイル)

  • ライブラリファイル

    各APIとremap.cをコンパイルし、一つのライブラリファイルにアーカイブして提供します。
    makelib.bat (APIをARMモードでコンパイルし、アーカイブするバッチ)
    makelib_thumb.bat (APIをTHUMBモードでコンパイルし、アーカイブするバッチ)
    libsam7s.a (makelib.batで作成されるライブラリファイル)
    libsam7s_thumb.a (makelib_thumb.batで作成されるライブラリファイル)

Page Top

サンプルプログラム anchor.png[49]

こちら[50]にて公開中。

Page Top

その他 anchor.png[51]


Last-modified: 2018-03-11 (日) 10:37:46 (JST) (2230d) by takaboo