sil.h

システムインタフェースレイヤ(ターゲット共通部) [詳細]

#include <t_stddef.h>
#include <itron.h>
#include <sys_defs.h>
#include <cpu_defs.h>
#include <t_syslog.h>

sil.hのインクルード依存関係図

このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。

ソースコードを見る。

マクロ定義

#define SIL_ENDIAN_LITTLE   0
#define SIL_ENDIAN_BIG   1
#define SIL_PRE_LOC   BOOL _sil_loc_ = sns_loc()
#define SIL_LOC_INT()
#define SIL_UNL_INT()
#define SIL_REV_ENDIAN_H(data)   ((VH)((((UH)(data) & 0xff) << 8) | (((UH)(data) >> 8) & 0xff)))
#define SIL_REV_ENDIAN_W(data)
#define sil_rew_lem(mem)   sil_rew_mem(mem)
#define sil_wrw_lem(mem, data)   sil_wrw_mem(mem, data)

関数

void sil_dly_nse (UINT dlytim) throw ()
Inline VW sil_rew_mem (VP mem)
Inline void sil_wrw_mem (VP mem, VW data)
Inline VW sil_rew_bem (VP mem)
Inline void sil_wrw_bem (VP mem, VW data)


説明

システムインタフェースレイヤ(ターゲット共通部)

アセンブリ言語のソースファイルやシステムコンフィギュレーションファ イルからこのファイルをインクルードする時は,_MACRO_ONLY を定義して おくことで,マクロ定義以外の記述を除くことができる.

このインクルードファイルは,標準インクルードファイル(s_services.h) でインクルードされる.また,カーネルから呼ばれるデバイスドライバの インクルードファイルで,インライン関数などでシステムインタフェース レイヤを用いている場合にも,このファイルがインクルードされる.この 例外を除いて,他のファイルから直接インクルードされることはない.

この中でインクルードしているファイルを除いて,他のインクルードファ イルに依存していない.

sil.h で定義されています。


マクロ定義

#define SIL_ENDIAN_BIG   1
 

sil.h の 88 行で定義されています。

#define SIL_ENDIAN_LITTLE   0
 

sil.h の 87 行で定義されています。

 
#define SIL_LOC_INT (   ) 
 

値:

((void)(!(_sil_loc_) \
                && (sns_ctx() ? iloc_cpu() : loc_cpu())))

sil.h の 97 行で定義されています。

#define SIL_PRE_LOC   BOOL _sil_loc_ = sns_loc()
 

sil.h の 96 行で定義されています。

#define SIL_REV_ENDIAN_H (  data   )     ((VH)((((UH)(data) & 0xff) << 8) | (((UH)(data) >> 8) & 0xff)))
 

sil.h の 112 行で定義されています。

参照元 sil_reh_bem()・sil_wrh_bem().

#define SIL_REV_ENDIAN_W (  data   ) 
 

値:

((VW)((((UW)(data) & 0xff) << 24) | (((UW)(data) & 0xff00) << 8) \
        | (((UW)(data)>> 8) & 0xff00) | (((UW)(data) >> 24) & 0xff)))

sil.h の 117 行で定義されています。

参照元 sil_rew_bem()・sil_wrw_bem().

#define sil_rew_lem (  mem   )     sil_rew_mem(mem)
 

sil.h の 262 行で定義されています。

 
#define SIL_UNL_INT (   ) 
 

値:

((void)(!(_sil_loc_) \
                && (sns_ctx() ? iunl_cpu() : unl_cpu())))

sil.h の 99 行で定義されています。

#define sil_wrw_lem (  mem,
data   )     sil_wrw_mem(mem, data)
 

sil.h の 263 行で定義されています。


関数

void sil_dly_nse (  UINT  dlytim  )  throw ()
 

cpu_defs.h の 246 行で定義されています。

00247 {
00248 
00249 }

Inline VW sil_rew_bem (  VP  mem  ) 
 

sil.h の 268 行で定義されています。

参照先 SIL_REV_ENDIAN_W.

00269 {
00270     VW  data;
00271 
00272     data = *((volatile VW *) mem);
00273     return(SIL_REV_ENDIAN_W(data));
00274 }

Inline VW sil_rew_mem (  VP  mem  ) 
 

sil.h の 223 行で定義されています。

参照元 hw_timer_fetch_interrupt()・hw_timer_get_current()・mutex_init()・mutex_try_lock()・uart_disable_rcv()・uart_disable_send()・uart_enable_rcv()・uart_enable_send()・uart_getc()・uart_getchar()・uart_getready()・uart_putc()・uart_putready().

00224 {
00225     return(*((volatile VW *) mem));
00226 }

Inline void sil_wrw_bem (  VP  mem,
VW  data
) 
 

sil.h の 280 行で定義されています。

参照先 SIL_REV_ENDIAN_W.

00281 {
00282     *((volatile VW *) mem) = SIL_REV_ENDIAN_W(data);
00283 }

Inline void sil_wrw_mem (  VP  mem,
VW  data
) 
 

sil.h の 229 行で定義されています。

参照元 clear_ipi()・hw_timer_get_current()・hw_timer_initialize()・hw_timer_int_clear()・hw_timer_terminate()・mutex_init()・mutex_try_lock()・mutex_unlock()・raise_ipi()・set_led()・uart_cls_por()・uart_disable_rcv()・uart_disable_send()・uart_enable_rcv()・uart_enable_send()・uart_opn_por()・uart_putc()・uart_putchar().

00230 {
00231     *((volatile VW *) mem) = data;
00232 }


Copyright © 2006 by TAKAGI Nobuhisa.
このページは Mon Apr 3 23:49:18 2006 に Doxygen によって生成されました。