CQ-FRK-FM3 基板用FM音源プログラム -- TGFM3 (1)

インターフェース誌 2012 年 6 月号付属の CQ-FRK-FM3 基板 (富士通Cortex-M3 コア搭載マイコン MB9BF618T) 用の FM 音源プログラムを作り始めました。
プログラム名は、安直に「TGFM3」としました。
現状では、まだ、外部回路は作成しておらず、PWM 出力にパッシブ LC フィルタをぶら下げて音声信号を出力しており、内蔵デモ曲を演奏するだけの状態です。
この状態で、 サンプリング周波数 48 kHz、モノラル、同時発音数 16 で動いており、CPU 負荷率は 85 % 程度です。
コネクタ CN3 に接続する FM3 専用ボードではオーディオ信号出力として、

CN3-27 (PA0/RTO020_0) --- AOUT_L
CN3-29 (PA2/RTO022_0) --- AOUT_R

が割り付けられているので、PWM による出力は、この端子を利用しています。
その他の、ディジタル・オーディオ DAC 出力と、MIDI 入力用、LCD 入出力用のシリアル・インターフェースの割り付けは、まだ決定していません。
現状では、CN2-42 (P56/TIOA09_2) で DAC 用の LRCK を発生させています。
DAC の SCLK は CN1-42 (P13/SCK1_1)、SDAT は CN1-41 (P12/SOT1_1) を利用することを考えています。
ソフトウェアの開発環境については、IAR、KEIL (ARM) のいずれも、無償版ではサイズ制限に引っかかって利用できないので、「ねむいさん方式」による gcc ツールチェーンを Programmers Notepad 2 (PN2) から 「Makfile プロジェクト」として利用する方式を取りました。
ビルド・ツールに依存するリンカ・スクリプトと、スタートアップ・ルーチン (の一部) は、ねむいさん作成の

MB9BF618T-ROM.ld
startup_mb9bf61xt.s

を利用させてもらっています。
ヘッダ・ファイルおよびスタートアップ・ルーチンの一部である

mb9b610xt.h
mcu.h
system_mb9bf61xt.h
system_mb9bf61xt.c

富士通提供のサンプル・プロジェクト・テンプレートに付属するものをそのまま使っています。
Cortex-M3 コアに対するヘッダ・ファイル

core_cm3.h
core_cmFunc.h
core_cmInstr.h

は ARM 製であり、ベンダに依存しないので、STMicroelectronics のライブラリに付属しているものを流用しています。