Keil µVision4 + GCC (3) LPC2300 (1) Startup2012年10月10日 21時17分31秒

Keil MDK-ARM V4.53 を使い始めて3ヶ月ぐらいになる。最新版は既に 4.60 だ。それはいいとして Startup ディレクトリを見ているうちに LPC2300.s / LPC2400.s が新しくなっているのに気がついた。コンフィギュレーションウィザードの部分が巨大になっている。その主な内訳は Clock Setup と External Memory 関係だ。使ってみたくなったので GCC 用に修正してみることにする。
ほとんど機械的な作業だが進めているうちに気になるところがあった。 Copy Exception Vectors to Internal RAM という部分でベクターを RAM にもって行くものだ。このままだと data セクションとかぶってしまう。ベクターエリアを空けなければならないのだろうか?この部分は後回しにしよう。
そして出来上がったのが以下のファイルだ。(LPC2300.s for Sourcery CodeBench Lite)

 



そしてリンカースクリプト LPC23xx_rom_gnu.ld

 



最後は確認のために簡単なテストプログラム。 Clock Setup は使っていない。従って、全てがデフォルトなので4MHzのRCオシレータがそのまま Fcclk それを4分周したのが PCLK で1MHz。というわけで0.5秒間隔でLEDが点滅する。

 



環境:CQ-FRK-NXP-ARM
    + Keil MDK-ARM V4.53
    + GCC Sourcery CodeBench Lite 2012.03-56
    + KPIT Cummins GNU-Archive Editor v1.1
    + KPIT Cummins GNU-Map Viewer v1.0