ctr_mcu/trunk/ini_VECT.c
n2232 c7141fe743 ■2.0F SDK3.1 更新
・加速度センサセカンドベンダ対応に落とし穴、加速度センサが壊れている/外れているでNAKを返し続けるようなとき、WDTリセットしていた。(accero.c)
・加速度センサエラーリトライ失敗時、復帰条件が、「何度も加速度センサonにしてカウンタがオーバーフローする」を修正(accero.c)
・DI_wt_chkを#ifdefでdisableにしたとき、ただのDI()になるように実装を変更。
・#ifdef _irq_debug_ の実装がよくなかった(無駄にROMを消費) のを修正。まるまる取り除かれるようにした(ini_VECT.c)
・雑多関数をutil_funcs.cに切り出し。ROM配置時に便利というのもある
・WDIリセットしたときの追跡用にWDIリセットベクタを使えるように(#ifdef切り替え)

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@407 013db118-44a6-b54f-8bf7-843cb86687b1
2011-09-08 08:24:07 +00:00

348 lines
6.3 KiB
C

/* ========================================================
割り込みベクタテーブル
$Id$
======================================================== */
#ifndef _WIN32
#pragma nop
#endif
#include "config.h"
#ifndef _WIN32
#ifdef _WDT_CHECK_
#pragma interrupt INTWDTI fn_intwdti // wdt debug
#endif
//#pragma interrupt INTLVI fn_intlvi // 未使用
//#pragma interrupt INTP0 intp0_slp // SLP (CPUより、要求) ポーリング
//#pragma interrupt INTP1 fn_intp1 // (I2C)
//#pragma interrupt INTP2 fn_intp2 // (I2C)
//#pragma interrupt INTP3 fn_intp3 // 未搭載
#pragma interrupt INTP4 intp4_extdc // EXTDC, ただし電源offから起こすのみ。通常はポーリング
#pragma interrupt INTP5 intp5_shell // SHELL_CLOSE, ただし電源offから起こすのみ。通常はポーリング
#pragma interrupt INTP6 intp6_PM_irq // CODEC経由で旧PMICへのコマンド書き込み
//#ifdef _MCU_BSR_ // 割り込みそのものは使いません
//#pragma interrupt INTP21 intp21_RFTx // 電波送信パルス
//#else
//#pragma interrupt INTP7 intp21_RFTx
//#endif
/*
acceroへ
#ifdef _MCU_BSR_
#pragma interrupt INTP23 intp23_ACC_ready RB3 // 加速度センサ、データ準備完了
#endif
*/
//#pragma interrupt INTCMP0 fn_intcmp0
//#pragma interrupt INTCMP1 fn_intcmp1
//#pragma interrupt INTDMA0 fn_intdma0
#pragma interrupt INTDMA1 int_dma1
//#pragma interrupt INTST0 fn_intst0
/* #pragma interrupt INTCSI00 fn_intcsi00 */
//#pragma interrupt INTSR0 fn_intsr0
/* #pragma interrupt INTCSI01 fn_intcsi01 */
//#pragma interrupt INTSRE0 fn_intsre0
//#pragma interrupt INTST1 fn_intst1
/* #pragma interrupt INTCSI10 fn_intcsi10 */
#pragma interrupt INTIIC10 int_iic10
//#pragma interrupt INTSR1 fn_intsr1
//#pragma interrupt INTSRE1 fn_intsre1
/*
// TSはマザボでテレコ、WMは回路図がテレコで結局一致…
#pragma interrupt INTIICA1 int_iic_ctr RB1
#pragma interrupt INTIICA0 int_iic_twl RB2
*/
//#pragma interrupt INTTM00 fn_inttm00
//#pragma interrupt INTTM01 fn_inttm01
//#pragma interrupt INTTM02 fn_inttm02
//#pragma interrupt INTTM03 fn_inttm03
#pragma interrupt INTAD int_adc
#pragma interrupt INTRTC int_rtc
#pragma interrupt INTRTCI int_rtc_int
#pragma interrupt INTKR int_kr
//#pragma interrupt INTMD fn_intmd
//#pragma interrupt INTTM04 fn_inttm04
//#pragma interrupt INTTM05 fn_inttm05
//#pragma interrupt INTTM06 fn_inttm06
//#pragma interrupt INTTM07 fn_inttm07
//#define _irq_debug_
/****************************************************/
/* 未使用時のダミー関数定義 */
/****************************************************/
#ifdef _WDT_CHECK_
__interrupt void fn_intwdti( )
{
while( 1 )
{
NOP();
}
}
#endif
#ifdef _irq_debug_
__interrupt void fn_intlvi( )
{
while( 1 )
{
NOP();
}
}
__interrupt void fn_intp0(){
while( 1 )
{
NOP();
}
}
__interrupt void fn_intp1( )
{
while( 1 )
{
NOP();
}
} //
__interrupt void fn_intp2( )
{
while( 1 )
{
NOP();
}
}
__interrupt void fn_intp3( )
{
while( 1 )
{
NOP();
}
}
__interrupt void intp21_RFTx( )
{
while( 1 )
{
NOP();
}
}
//__interrupt void fn_intp4(){ while(1){} } // pm.c
//__interrupt void fn_intp5(){ while(1){} } // pm.c
//__interrupt void fn_intp6(){ while(1){} } // pm.c
//__interrupt void fn_intp7(){ while(1){} } // led.c
//__interrupt void fn_intp21(){ while(1){} } // led.c
__interrupt void fn_intcmp0( )
{
while( 1 )
{
NOP();
}
}
__interrupt void fn_intcmp1( )
{
while( 1 )
{
NOP();
}
}
__interrupt void fn_intdma0( )
{
while( 1 )
{
NOP();
}
}
//__interrupt void fn_intdma1(){} // i2c_mcu.cにある
__interrupt void fn_intst0( )
{
while( 1 )
{
NOP();
}
}
/* __interrupt void fn_intcsi00(){} */
__interrupt void fn_intsr0( )
{
while( 1 )
{
NOP();
}
}
/* __interrupt void fn_intcsi01(){} */
__interrupt void fn_intsre0( )
{
while( 1 )
{
NOP();
}
}
__interrupt void fn_intst1( )
{
while( 1 )
{
NOP();
}
}
/* __interrupt void fn_intcsi10(){} */
//__interrupt void fn_intiic10(){ while(1){} }
__interrupt void fn_intsr1( )
{
while( 1 )
{
NOP();
}
}
__interrupt void fn_intsre1( )
{
while( 1 )
{
NOP();
}
}
//__interrupt void fn_intiica(){} // i2c.cにある
/* __interrupt void fn_inttm00(){} *//* sub.cにて定義 */
__interrupt void fn_inttm01( )
{
while( 1 )
{
NOP();
}
}
__interrupt void fn_inttm02( )
{
while( 1 )
{
NOP();
}
}
__interrupt void fn_inttm03( )
{
while( 1 )
{
NOP();
}
}
//__interrupt void fn_intad(){ while(1){} } // adc.c
__interrupt void fn_intrtc( )
{
while( 1 )
{
NOP();
}
}
//__interrupt void int_rtcint(){} // rtc.cにある
//__interrupt void fn_intkr(){} // main.c
__interrupt void fn_intmd( )
{
while( 1 )
{
NOP();
}
}
__interrupt void fn_inttm04( )
{
while( 1 )
{
NOP();
}
}
__interrupt void fn_inttm05( )
{
while( 1 )
{
NOP();
}
}
__interrupt void fn_inttm06( )
{
while( 1 )
{
NOP();
}
}
__interrupt void fn_inttm07( )
{
while( 1 )
{
NOP();
}
}
#endif
/* ========================================================
キーリターン割り込み
======================================================== */
__interrupt void int_kr( )
{
// 起きるだけ
}
/* ========================================================
ext dc
======================================================== */
__interrupt void intp4( )
{
// 起きるだけ
}
/* ========================================================
shell close
======================================================== */
__interrupt void intp5( )
{
// 起きるだけ
}
#else
#include "sim/sim_interrupt_decrare.c"
#endif