CQ_V850 (16) 「V850 Printfが動くまで」2007年05月09日 20時36分24秒

Hello World
ユーザーズマニュアルCA850 C言語編(U17291JJ2V0UM00.pdf) 225ページに printf の説明があった。

printf フォーマット指定したテキストを標準出力ストリームへ出力

※1.NEC エレクトロニクス製の統合ディバッガ“ID850”,システム・シミュレータ“SM850” では,サポートされていません。
※2.これらのストリームを使用するには,stdio.h ファイルで定義されている,ストリーム構造体の 初期値設定が必要です。

ということは
※1.から uart0を使っているということ。
※2.から 初期化関数がないということ?
がわかる。

続いて見てみると
入出力I/O アドレス設定例

__struct_stdout.handle = 0xfffff000;
__struct_stderr.handle = 0x00fff000;
__struct_stdin.handle = 0xfffff002;
extern FILE __struct_stdout;
extern FILE __struct_stderr;
#pragma section sdata end
#define stdin(&__struct_stdin)
#define stdout(&__struct_stdout)
#define stderr(&__struct_stderr)
あれ...#pragma section sdata begin がない

そして、次に

#include <stdio.h>
void func(int val)
{
fprintf(stdout, "%-10.5x \n", val);
}

と、いきなり書いてあるけど
これでほんとにいけるのかな...
やってみるか

H しか出てこない
まさかとは思うが、送信バッファの空きを見ていないのか?
それでは、二文字ずつ送信しよう
Hellow Word !!がでた。

う~ん...ちょっとこれでは使えない。やり方まずかったかな
なれないことはやるもんじゃない。
やっぱりこういうことは本家にお任せするしかないか

何がいけないの