AVR32 StudioのStandalone版アプリケーション構成ファイル

AVR32 Studioのプロジェクト作成で「AVR32 C Project from template」からStandalone版のアプリケーションを指定したとき、作成される各種ファイルや設定等について記事をまとめた。
対象ボードはEVK1101で、搭載チップはAT32UC3B0256
このページはまとめを随時書き加えるので、断り無くたびたび修正する予定。

パスファイル備考
src/SOFTWARE_FRAMEWORK/ASM/trampoline.xリセット・ハンドラ_trampolineがある。リセットからの流れを追うにはここから読み始める。
src/SOFTWARE_FRAMEWORK/DRIVERS/INTC/intc.cexception.xから回されてきた割込を割込グループと割込ラインから割込要因を判定し、対応する割込ハンドラを呼び出す。割込ハンドラの登録ルーチンがあり、登録されなければデフォルト・ハンドラが設定される。
exception.x例外ハンドラ群(デフォルトはダイナミック・ストップ)を定義している。割込もまずはこの中の_int0〜_int3で受け付け、initc.cの関数へ処理を回す。
src/SOFTWARE_FRAMEWORK/UTILS/LIBS/NEWLIB_ADDONS/libnewlib_addons-at32ucr1-speed_opt.aC言語ライブラリのアドオン(後述)。といっても本当に使えるか未確認。string系の関数が入っていない。2009/11/15追記。AVR32 GNU Toolchain v2.1でいくつかの機能が削除されたけど、アドオンとして分離したそうだ。本当(?)のC言語ライブラリ(libc.a)は自動的にリンクされる。
src/SOFTWARE_FRAMEWORK/UTILS/STARTUP_FILES/GCC/crt0.xリセット処理に続き、呼び出されるC言語スタートアップ・ルーチン_start。最後にアプリケーションのmainを呼び出す。