FRK-RX62N (16) printf (4) KPIT GNURX Newlib2011年06月26日 22時47分58秒

Tiny Hexer で Export
前回の続き 「KPIT GNURX で printf を使う」
副題として、[SYSLAB blog 読者 限定公開 第二弾 GNURX printf の使い方 Newlib 編]
前回同様中身は無いに等しい。 Renesas のサンプルと WINARM のサンプルをコピーするだけだ。


それでは始めよう。
1.KPIT GNURX で新規プロジェクトを作成する。
2.前回作成した hardware_setup.c を新規プロジェクトの中にコピーする。
3.main を新規プロジェクトの中にコピーする。
4.ソースの中の stdint.h をローカルから読み込むようにする。
  #include "stdint.h"
  もちろん stdint.h はプロジェクトディレクトリにコピーしておく。そうでなければ stdint.h をinclude しないようにして uint32_t などを unsigned int と書き直せばよい。
5.serial_printf.c をプロジェクトにコピーする。

 

6.syscalls.c をプロジェクトにコピーする。

 

  NEWLIB の Defines を忘れずにね!
  これは WinARM の Newlib/StdIO-Interface and LPC ADC example の中にあるファイル。
7.KPIT GNURX [ELF] Toolchain の Library Generator は
  Library type が Pre-Built
  Select library が Newlib
  と設定する。
8.後はコンパイルして書き込むだけ。と言いたいところだが、ここからが大変だ。
RAM の部分のデータを ROM に戻してやらなければならない。
(私の場合)コンパイル後の mot ファイル 0x00000400 から 00000C9B までを Tiny Hexer で Import し、それをそのまま Export する。Export する Address は FFFAA980 。
テキストエディタでコンパイル後の mot ファイルを読み込み 0x00000400 から 00000C9B までを削除する。先ほど Export したテキストを FFFAA980 から貼り付ける。
こうしてできたファイルを FDT で書き込めばよい。
(上記のアドレスはマップファイルと mot ファイルを参照しながら決めてね!)


ふう~


いろいろやったけど他の方法を思いつかなかった。非常に手間がかかる。


ということで前回の Optimized ライブラリ printf でも同じように手動変換しなければならないということだろう。
たまたま動いたということか?


参照:Renesas Application Notes RX600 Series Adding Printf and Scanf Support (R01AN0509EU0100)
    WinARM Newlib/StdIO-Interface and LPC ADC example
環境:High-performance Embedded Workshop Upgrade 4.09.00
    KPIT GNURX v11.01 Windows Tool Chain (ELF)

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
このブログのタイトルは?(syslab と記入してください)

コメント:

トラックバック

このエントリのトラックバックURL: http://syslab.asablo.jp/blog/2011/06/23/5925564/tb