GNU Tools for ARM Embedded Processors ― 2015年04月12日 12時22分06秒
さあ newlib-nano を使ってみよう。
使うために printf と syscall ぐらい入れておこう。
テストする環境は
さて、この後どうすればよいの?
とりあえず
Raisonance\Ride\arm-gcc\share\doc\gcc-arm-none-eabi\readme.txt を読んでみる。
どうやらリンク時に
--specs=nano.specs
を付ければよいらしい。
やってみる。
hex file で 18,092 bytes だった。
もともとが newlib で 103,846 bytes だったからかなり小さくなった。
この状態では Integer only なので %f を使うためにはコマンドオプション -u _printf_float を追加する。(scanf の場合は -u _scanf_float)
hex file で 61,038 bytes になった。
ちなみに、Optimization を Level2(Size) にすると
18,047 ( --specs=nano.specs)
60,993 ( --specs=nano.specs -u _printf_float)
103,817 ()
サイズは Optimization default とたいして変わらない。
結果:
以前テストした CooCox や LPCXpresso の printf に比べても nano はすこし大きいことが分かる。
しかし、手間を考えると便利かもしれない。
使うために printf と syscall ぐらい入れておこう。
テストする環境は
Keil MDK-ARM V4.53 ARM GCC/embedded 4.9.3 revision 218278 Startup は Atollic の startup_LPC11xx.s Linker script は RAISONANCE Ride7 を使い LPC1114FHN33 で 自動生成したもの syscall と SystemInit はダミー Optimization は default
さて、この後どうすればよいの?
とりあえず
Raisonance\Ride\arm-gcc\share\doc\gcc-arm-none-eabi\readme.txt を読んでみる。
どうやらリンク時に
--specs=nano.specs
を付ければよいらしい。
やってみる。
hex file で 18,092 bytes だった。
もともとが newlib で 103,846 bytes だったからかなり小さくなった。
この状態では Integer only なので %f を使うためにはコマンドオプション -u _printf_float を追加する。(scanf の場合は -u _scanf_float)
hex file で 61,038 bytes になった。
ちなみに、Optimization を Level2(Size) にすると
18,047 ( --specs=nano.specs)
60,993 ( --specs=nano.specs -u _printf_float)
103,817 ()
サイズは Optimization default とたいして変わらない。
結果:
以前テストした CooCox や LPCXpresso の printf に比べても nano はすこし大きいことが分かる。
しかし、手間を考えると便利かもしれない。
コメント
トラックバック
このエントリのトラックバックURL: http://syslab.asablo.jp/blog/2015/04/12/7610784/tb
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※投稿には管理者が設定した質問に答える必要があります。