/** ed_inter_init -- ターゲット依存部の割込みの初期化 * if_std0001.c からのみ呼び出し。 ******************************************************* */ void ed_inter_init (void) { UH mask; h8s_andh( ED_IER, ~ED_IER_IP_BIT ); // 割り込みを禁止する mask = h8s_reh_mem( ED_ISCR ); // 割込みセンス設定 h8s_wrh_mem( ED_ISCR, ( mask & ~ED_ISCR_MASK ) | ED_ISCR_BIT ); mask = h8s_reh_mem( ED_IPR ); // 割込み優先度設定 h8s_wrh_mem( ED_IPR, ( mask & ~ED_IPR_MASK ) | ED_IPR_IP_BIT ); h8s_orh( ED_ITSR, ED_ITSR_BIT ); // 割り込み IRQ5-B を使用する。 h8s_andh( ED_ISR, ~ED_ISR_IRQF ); // 割り込みをクリアする。 h8s_orh( ED_IER, ED_IER_IP_BIT ); // 割り込みを許可する }
/* * ターゲットシステム依存 初期化ルーチン */ void sys_initialize() { #ifndef GDB_STUB /* * モジュールストップモード解除 */ #if TNUM_SIOP < 2 h8s_andh( (VP) MSTPCR, ~( BIT5 ) ); #else /* TNUM_SIOP < 2 */ h8s_andh( (VP) MSTPCR, ~( BIT6 | BIT5 ) ); #endif /* TNUM_SIOP < 2 */ /* * バナー表示用シリアルポートの初期化 */ sio_init(); #endif /* GDB_STUB */ }
/** ターゲット依存部の割込みのクリア * if_std0001.c からのみ呼び出し。 ******************************************************* */ void ed_inter_clear( void ) { #if ( ( ED_ISCR_BIT & ED_ISCR_MASK ) == 0 ) h8s_andh( ED_ISR, ~ED_ISR_IRQF ); // レベル割り込みをクリアする。(レベル割り込みのとき) #endif }