ログ出力

API

ログ出力関連のAPIを使用するには、solid_log.h をインクルードしてください。

#include "solid_log.h"

ログ出力APIは単純な出力のみを行い、排他処理は行っていません。SMP時に複数のCPUから ログ出力を行う際は、OSのログ出力機能(syslog等)をご利用ください。

ログ出力でVLINK使用時の注意 VLINKはCPU0でのみ有効です。SMP時にCPU0以外でログ出力をVLINK経由で 出力しようとした場合、その呼び出しは無視されます。

ログの出力先

SOLID_LOG_MODE_NONE
SOLID_LOG_MODE_BOTH
SOLID_LOG_MODE_IMPL

定数

名前

説明

SOLID_LOG_MODE_NONE

-1

ログ出力をしない

SOLID_LOG_MODE_BOTH

0

VLINK,IMPL両方に出す(VLINK使用不可時はIMPLのみ) (デフォルト)

SOLID_LOG_MODE_VLINK

1

VLINKのみ(VLINK使用不可時はなし)

SOLID_LOG_MODE_IMPL

2

IMPLのみ

SOLID_LOG_SetMode

void SOLID_LOG_SetMode(int mode)

ログ出力の設定を行います

パラメータ

mode -- ログの出力先 (SOLID_LOG_MODE_XXXX)

SOLID_LOG_PutChar

void SOLID_LOG_PutChar(char c)

1文字分ログ出力を行います

パラメータ

c -- 出力を行う文字

SOLID_LOG_puts

int SOLID_LOG_puts(const char *s)

1文字列分ログ出力を行います

パラメータ

s -- ログ出力を行う文字列へのポインタ

戻り値

出力した文字数(byte)

SOLID_LOG_write

int SOLID_LOG_write(const char *s, size_t l)

指定された長さ分ログ出力を行います。

パラメータ
  • s -- ログ出力を行うデータのポインタ

  • l -- ログ出力を行う長さ

戻り値

出力したデータ数(byte)

SOLID_LOG_printf

int SOLID_LOG_printf(const char *fmt, ...)

指定された書式でログ出力を行います

パラメータ

fmt -- 書式(printfと同等)

戻り値

出力した文字数(byte)

SOLID_LOG_vprintf

int SOLID_LOG_vprintf(const char *fmt, va_list arg)

指定された書式でログ出力を行います

パラメータ
  • fmt -- 書式(printfと同等)

  • arg -- 引数のリスト

戻り値

出力した文字数(byte)

要実装関数

ログ出力関連の要実装関数の定義は、impl_log.h にあります。

#include "impl_log.h"

IMPL_LOG_Init

void IMPL_LOG_Init(void)

ログ出力を初期化します

ログ出力を行うデバイスの初期化を行ってください

IMPL_LOG_Putc

void IMPL_LOG_Putc(unsigned char c)

ログ出力を1文字分行います

パラメータ

c -- 出力するキャラクタ