ショップページへ

概要 anchor.png

ARM7TDMIコアを内蔵したAtmel社製AT91SAM7S256を搭載したマイコンボードです。 ボード上にはUSBコネクタ、3.3Vレギュレータ、RS232Cポート等を装備し、外部端子にはマイコンのほぼ全ての端子が割り当てられています。

Page Top

基本仕様 anchor.png

商品番号BTC091
PCBリビジョンE032B (2層)
CPUAtmel AT91SAM7S256
メモリフラッシュROM: 256kbyte
SRAM: 64kbyte
クロック外部オシレータ:18.432MHz (内部はCKGR・PMCによりプログラマブル)
通信機能RS232Cレベル変換装備 (DBGUのみ)
動作温度0~+50℃
動作電圧外部:DC3.8~20V USBもしくは外部端子にて供給可能(外部端子優先)
内部:DC3.3V(I/O), DC1.8V(CORE)
消費電流35mA (MAX)
寸法W29.5×D34.5mm (参考)
コネクタ等26ピン端子×2, RS232C通信用ピンヘッダ×1, SAM-BAモード切り替えスイッチ×1, リセットボタン×1, 電源モニタLED, miniB USBコネクタ×1
付属品2列ピンヘッダ
環境配慮RoHS準拠, 鉛フリー半田
Page Top

外観 anchor.png

topbottom
AT91SAM7S128-256_TOP.png
AT91SAM7S128-256_BOTTOM.png
Page Top

回路図 anchor.png

  • U4は常時ノーマウント
  • SW1は出荷時期・製品形態によりノーマウント
    今後はノーマウントを標準
Page Top

端子配置・外形 anchor.png

AT91SAM7S_LAYOUT.png
Page Top

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

Page Top
CN1 anchor.png
  • 2.54mmピッチ2列 26ピン
  • 推奨ピンヘッダ:ヒロセ電機 HIF3H-26PB-2.54DSA
  • 推奨レセプタクル:ヒロセ電機 HIF3H-26DA-2.54DSA
    No.端子名No.端子名
    1TST2NRST
    3PA294PA30
    5PA36PA2/PGMEN2
    7PA1/PGMEN18PA0/PGMEN0
    9TDO10JTAGSEL
    11TMS12PA31
    13TCK14ERASE
    15DDM16DDP
    17ADVREF18AD4
    19AD520AD6
    21AD722PA17PGMD5/ADD
    23VIN24VCC
    25GND26GND
Page Top
CN2 anchor.png
  • 2.54mmピッチ2列 26ピン
  • 推奨ピンヘッダ:ヒロセ電機 HIF3H-26PB-2.54DSA
  • 推奨レセプタクル:ヒロセ電機 HIF3H-26DA-2.54DSA
    No.端子名No.端子名
    1PA282PA27/PGMD15
    3PA4/PGMNCMD4PA5/PGMRDY
    5PA6/PGMNOE6TDI
    7PA7/PGMNVALID8PA8/PGMM0
    9PA9/PGMM110PA10/PGMM2
    11PA11/PGMM312PA12/PGMD0
    13PA26/PGMD1414PA25/PGMD13
    15PA24/PGMD1216PA13/PGMD1
    17PA14/PGMD218PA15/PGMD3
    19PA16/PGMD420PA20/PGMD8/AD3
    21PA23/PGMD1122PA22/PGMD10
    23PA19/PGMD7/AD224PA21/PGMD9
    25PA18/PGMD6/AD126GND
Page Top
CN3 anchor.png
  • 2mmピッチ 3ピン ヒロセ電機 A4B-03PA-2DSA(71)
  • 推奨圧着ソケット:ヒロセ電機 A4B-03S-2C
  • PA9とPA10端子をRS232Cレベルに変換
  • PA9/PA10はJP1を半田ジャンパすることでRS232Cレベル変換ICと切り離し可能
    No.端子名I/O
    1TX (RS232C←PA10)O
    2GND-
    3RX (RS232C→PA9)I
Page Top
CN4 anchor.png
  • USB Mini-B
  • DDPとDDM 端子へ接続
  • USBバスパワーによる電源供給(CN1-23 VIN 端子が優先)
  • DDP端子のプルアップ制御用としてPA16が使用されるためJP2が半田ジャンパ済み
Page Top
JP1 anchor.png
  • RS232Cレベル変換のレシーバイネーブル制御(RS232Cレベル変換ICのEN端子に接続)
  • オープン:レシーバイネーブル, ショート:レシーバディスエーブル
  • 出荷時オープン
Page Top
JP2 anchor.png
  • DDP端子のプルアップ制御用FETのゲートとPA16端子を接続
  • オープン:プルアップ制御無し, ショート:プルアップ制御有り
  • 出荷時ショート
Page Top
D1(LED) anchor.png
  • マイコンボードに電源を印加すると点灯
Page Top
SW1(スライドスイッチ) anchor.png
  • SAM-BAとあるシルク側に切り替えることでマイコンのTSTとVCC(3.3V)を短絡
Page Top
PB1(プッシュボタン) anchor.png
  • 押下でマイコンのNRST端子をGNDへ短絡
Page Top

各機能の詳細 anchor.png

Page Top

電源 anchor.png

本ボードには出力DC3.3V/300mAの2入力レギュレータ(U3:LT1579CS8)が搭載されています。2入力の一方はCN4から入力されるUSBバスパワー、もう一方はCN1-23(VIN)端子に接続されており、CN1-23(VIN)からの入力が優先されます。
U3で作られたDC3.3VはCN1-24(VCC)から取り出すことが可能ですが、負荷電流は本ボードの駆動電力も含めて最大300mAを超えてはなりません。

ボード上のレギュレータを使用しない場合は、U3の3ピン(SHDN)と4ピン(GND)を短絡した上で、CN1-24(VCC)端子からDC3.3Vを供給します。

Page Top

RS232C(CN3) anchor.png

E032B_RS232C.png

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

Page Top

USB Mini-B(CN4) anchor.png

E032B_USB.png

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

Page Top

スライドスイッチ(SW1) anchor.png

SW1のコモンにはマイコンのTST端子が接続されています。シルクのSAM-BAと記述された方向に切り替えるとVCC(DC3.3V)に接続、その反対に切り替えるとオープン(TST端子に内蔵されたプルダウン抵抗でGND)となります。
SW1はAtmel社提供のSAM-BAソフトウェアを使用してマイコン内蔵のフラッシュROMを操作するといった用途で使用し、それ以外の目的では使用されません。
出荷時に予めフラッシュROMへ弊社オリジナルのブートローダが書き込まれているため、SAM-BAを使用しない限りSW1はSAM-BAとあるシルクとは反対側に切り替えて使用します。
なお、本スイッチを不用意に操作するだけでフラッシュROMの内容が書き換えられてしまいます。SAM-BAを必要としない場合や、不用意な書き換え操作を発生させたくない場合は、本スイッチを除去する事をお勧めします。
※出荷時期やキットの構成によってはSW1が実装されている場合がありますが、現在は未実装となります。

Page Top

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

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

Page Top

開発環境 anchor.png

Page Top

GCC Developer Lite anchor.png

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

  • GCC Developer Lite

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

  • FLASH WRITER

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

  • SIMPLE TERM

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

  • ARMGCC

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

  • デバイスドライバ

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

  • OpenOCD

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

  • ターゲットファイル

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

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

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

GDL_CompileOption_TargetList.png

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

  • AT91SAM7S256 (Bootloader, ARM mode)

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

  • AT91SAM7S256 (Bootloader, THUMB mode)

    ビルドするとブートローダにてマイコンのフラッシュ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を使用してSRAMへの書き込み・実行を行わせるため、仲介役のFW.exe(FLASH WRITER)の起動を促される。

  • AT91SAM7S256 (RAM, THUMB mode)

    ビルドするとOpenOCDにてマイコンのSRAM上で動作させるための.exe(実態はelf)ファイルが作られる。
    Thumb 16ビット圧縮命令を出力するため、ARM modeよりも出力コードサイズが小さくなる。
    プログラムのスタートアドレスは0x200000(SRAMの先頭アドレス)に設定される。
    マイコンにはSRAMからプログラムを起動させる機能が無いためJTAGによる制御が必須。
    ビルドが成功すると、openOCDを使用して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

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

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

マイコンボードは出荷時にUSBをコンソールとして構成されたブートローダが書き込まれており、PCとマイコンボードをUSBケーブルで接続する必要があります。
USBを仮想シリアルポートとして認識させるためのPC用デバイスドライバは、GCC Developer Liteをインストールした際に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
AT91SAM7_BL_COM.png

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

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

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

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

sterm_script2.png

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

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

Page Top
FLASH WRITER anchor.png

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

  • AT91SAM7S256 (RAM, ARM mode)

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

  • AT91SAM7S256 (RAM, THUMB mode)

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

  • AT91SAM7S256 (Flash, ARM mode)

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

  • AT91SAM7S256 (Flash, THUMB mode)

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

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

Page Top
FLASH WRITERとSAM-BA anchor.png

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

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

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

AT91SAM7_SAMBA_US.png

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

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

Page Top
FLASH WRITERとOpenOCD anchor.png

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

AT91SAM7_OCD_TELNET.png

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

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

AT91SAM7_JTAG_CONNECTION.png

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

Page Top

LOCKEビット anchor.png

2009年6月以降に出荷されるマイコンボードは、ブートローダおよびユーザプログラムの不用意な消去から保護する目的でNVMのLOCKEビットをONに設定されています。本設定によりスライドスイッチ(SW1)によるSAM-BAモード移行の操作と、JTAG I/Fからのアクセスが全て制限されます。
ブートローダのアップデートや、ブートローダ以外の方法でプログラミングやデバッグを行う場合は、予め以下の操作で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

GCC Developer Liteでは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 (ブートローダを介して実行させるリンカスクリプト)

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

    マイコンに内蔵された各種ペリフェラルが持つレジスタは、決められたメモリ上のアドレスに配置されています。それらレジスタをアドレスではなくレジスタ毎に決められた名称を使い、変数のようにアクセスするためのマクロ定義が記述されています。
    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

こちらにて公開中。

Page Top

その他 anchor.png


Front page   Diff ReloadPrint View   Page list Search Recent changes   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)
Last-modified: 2018-03-11 (Sun) 10:17:41 (JST) (408d)