スリープ時にリセットしてた?

加速度センサがついていないときに誤動作

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@21 013db118-44a6-b54f-8bf7-843cb86687b1
This commit is contained in:
fujita_ryohei 2009-11-10 10:34:51 +00:00
parent ee79a61677
commit 59b8a5fbc0
18 changed files with 257 additions and 215 deletions

View File

@ -239,9 +239,16 @@ task_status_immed acc_hosu_set( )
iic_mcu_read_a_byte( IIC_SLA_ACCEL, ACC_REG_WHOAMI ); iic_mcu_read_a_byte( IIC_SLA_ACCEL, ACC_REG_WHOAMI );
if( iic_mcu_bus_status == ERR_NOSLAVE ) if( iic_mcu_bus_status == ERR_NOSLAVE )
{ {
vreg_ctr[ VREG_C_STATUS_1 ] |= 0x02;
#ifdef _MCU_BSR_
// PMK23 = 1;
#endif
return ( ERR_SUCCESS ); // とりあえず、タスクは削除しなくてはならない return ( ERR_SUCCESS ); // とりあえず、タスクは削除しなくてはならない
}else{
vreg_ctr[ VREG_C_STATUS_1 ] &= ~0x02;
} }
str_send_buf[1] = 0x00; // ctrl2 HPF:normal, filterd, HPF for IRQ : dis/dis, HPF coeff:norm str_send_buf[1] = 0x00; // ctrl2 HPF:normal, filterd, HPF for IRQ : dis/dis, HPF coeff:norm
#ifdef _MODEL_WM0_ #ifdef _MODEL_WM0_
str_send_buf[2] = 0x10; // 3 IRQ pol :Active HI, Drive:Pushpull, str_send_buf[2] = 0x10; // 3 IRQ pol :Active HI, Drive:Pushpull,

View File

@ -68,6 +68,7 @@ void tsk_adc( )
static u8 vol_old; static u8 vol_old;
static u8 class_old; static u8 class_old;
u8 class; u8 class;
static u8 tokidoki = 0;
if( abs( vol_old - vreg_ctr[VREG_C_SND_VOL] ) > 3 ) if( abs( vol_old - vreg_ctr[VREG_C_SND_VOL] ) > 3 )
{ {
@ -84,7 +85,8 @@ void tsk_adc( )
} }
// デバイスに伝える // デバイスに伝える
if( sndvol_codec != vreg_ctr[VREG_C_SND_VOL] ) if(( sndvol_codec != vreg_ctr[VREG_C_SND_VOL] )
|| ( tokidoki == 0 ))
{ {
sndvol_codec = vreg_ctr[VREG_C_SND_VOL]; sndvol_codec = vreg_ctr[VREG_C_SND_VOL];
// DCPにも伝えておく // DCPにも伝えておく
@ -94,6 +96,7 @@ void tsk_adc( )
iic_mcu_write_a_byte( IIC_SLA_CODEC, REG_ADRS_CODEC_VOL, iic_mcu_write_a_byte( IIC_SLA_CODEC, REG_ADRS_CODEC_VOL,
127 - ( sndvol_codec / 2 + sndvol_codec / 4 )/2 ); 127 - ( sndvol_codec / 2 + sndvol_codec / 4 )/2 );
} }
tokidoki += 1;
} }

View File

@ -5,13 +5,13 @@
// #define _debug_led_ // #define _debug_led_
#define MCU_VER_MAJOR 0; #define MCU_VER_MAJOR 0;
#define MCU_VER_MINOR 6; #define MCU_VER_MINOR 7;
//#define _PARRADIUM_ //#define _PARRADIUM_
//#define _MODEL_TEG2_ //#define _MODEL_TEG2_
//#define _MODEL_WM0_ #define _MODEL_WM0_
#define _MODEL_TS0_ //#define _MODEL_TS0_
//#define _MODEL_CTR_ //#define _MODEL_CTR_
//#define _SW_HOME_ENABLE_ //#define _SW_HOME_ENABLE_
@ -29,6 +29,9 @@
#ifdef _MODEL_WM0_ #ifdef _MODEL_WM0_
#define _PMIC_TWL_ #define _PMIC_TWL_
#define _MCU_BSR_ #define _MCU_BSR_
#undef _CODEC_CTR_
#define _SW_HOME_ENABLE_
#endif #endif

View File

@ -40,6 +40,9 @@
#endif #endif
// ==============================================
extern bit irq_readed; // いずれかのIRQレジスタが読まれた
/* ======================================================== /* ========================================================
@ -84,20 +87,26 @@ __interrupt void int_iic_ctr( )
// レジスタリードで、割り込みピンをネゲート // レジスタリードで、割り込みピンをネゲート
// まだ読まれてない割り込みがあれば、再度アサート // まだ読まれてない割り込みがあれば、再度アサート
if( !( ( vreg_ctr[VREG_C_IRQ0] == 0 ) if( irq_readed )
&& ( vreg_ctr[VREG_C_IRQ1] == 0 )
&& ( vreg_ctr[VREG_C_IRQ2] == 0 ) && ( vreg_ctr[VREG_C_IRQ3] == 0 ) ) )
{ {
IRQ0_neg; irq_readed = 0;
while( !IRQ0 ) if( !( ( vreg_ctr[VREG_C_IRQ0] == 0 )
{; && ( vreg_ctr[VREG_C_IRQ1] == 0 )
&& ( vreg_ctr[VREG_C_IRQ2] == 0 )
&& ( vreg_ctr[VREG_C_IRQ3] == 0 ) ) )
{
IRQ0_neg;
while( !IRQ0 )
{;
}
IRQ0_ast;
}
else
{
IRQ0_neg;
} }
IRQ0_ast;
}
else
{
IRQ0_neg;
} }
return; return;
} }

View File

@ -85,6 +85,7 @@ u8 iic_mcu_read_a_byte( u8 SLA, u8 adrs )
iic_mcu_busy = 1; iic_mcu_busy = 1;
iic_mcu_bus_status = ERR_OK; iic_mcu_bus_status = ERR_OK;
// スタートコンディションとスレーブの呼び出し、レジスタアドレスの送信 // スタートコンディションとスレーブの呼び出し、レジスタアドレスの送信
if( iic_mcu_call_slave( SLA ) != 0 ) if( iic_mcu_call_slave( SLA ) != 0 )
{ {

View File

@ -629,12 +629,18 @@ void tsk_batt( )
&& ( ( 345 / 4 ) < vreg_ctr[VREG_C_BT_TEMP] ) && ( ( 345 / 4 ) < vreg_ctr[VREG_C_BT_TEMP] )
&& ( vreg_ctr[VREG_C_BT_TEMP] < ( 739 / 4 ) ) ) ) && ( vreg_ctr[VREG_C_BT_TEMP] < ( 739 / 4 ) ) ) )
{ {
#ifndef _MODEL_WM0_
BT_CHG_EN_n = 0; // 温度範囲OKで充電再開 BT_CHG_EN_n = 0; // 温度範囲OKで充電再開
} }
else else
{ {
BT_CHG_EN_n = 1; // 温度危険! 充電停止 BT_CHG_EN_n = 1; // 温度危険! 充電停止
#endif
} }
#ifdef _MODEL_WM0_
BT_CHG_EN_n = 0; // /WL_RSTなのです
#endif
// 充電LED // 充電LED
LED_duty_CHARGE = !BT_CHG_n ? vreg_ctr[VREG_C_LED_BRIGHT] : 0; LED_duty_CHARGE = !BT_CHG_n ? vreg_ctr[VREG_C_LED_BRIGHT] : 0;
@ -714,28 +720,6 @@ task_status_immed ntr_pmic_comm( )
DI( ); DI( );
// offリクエスト
if( ( reg_shadow & REG_BIT_TWL_REQ_OFF_REQ ) != 0 )
{
set_irq( VREG_C_IRQ3, REG_BIT_TWL_OFF_REQ );
vreg_ctr[VREG_C_IRQ3] |= REG_BIT_TWL_OFF_REQ;
if( ( vreg_ctr[VREG_C_IRQ_MASK3] & REG_BIT_TWL_OFF_REQ ) == 0 )
{
IRQ0_ast;
}
}
// リセットリクエスト
if( ( reg_shadow & REG_BIT_TWL_REQ_RST_REQ ) != 0 )
{
vreg_ctr[VREG_C_IRQ3] |= REG_BIT_TWL_RESET_REQ;
if( ( vreg_ctr[VREG_C_IRQ_MASK3] & REG_BIT_TWL_RESET_REQ ) == 0 )
{
IRQ0_ast;
}
}
// バックライトが...
if( ( ( reg1_old ^ reg_shadow ) & REG_BIT_TWL_REQ_BL ) != 0 ) // バックライトの2ビットが何らか変化して、 if( ( ( reg1_old ^ reg_shadow ) & REG_BIT_TWL_REQ_BL ) != 0 ) // バックライトの2ビットが何らか変化して、
{ {
if( ( reg_shadow & REG_BIT_TWL_REQ_BL ) == 0x00 ) // 00になった if( ( reg_shadow & REG_BIT_TWL_REQ_BL ) == 0x00 ) // 00になった
@ -757,6 +741,36 @@ task_status_immed ntr_pmic_comm( )
} }
} }
} }
else
// offリクエスト
if( ( reg_shadow & REG_BIT_TWL_REQ_OFF_REQ ) != 0 )
{
set_irq( VREG_C_IRQ3, REG_BIT_TWL_OFF_REQ );
vreg_ctr[VREG_C_IRQ3] |= REG_BIT_TWL_OFF_REQ;
if( ( vreg_ctr[VREG_C_IRQ_MASK3] & REG_BIT_TWL_OFF_REQ ) == 0 )
{
IRQ0_ast;
}
}
else
// リセットリクエスト
if( ( reg_shadow & REG_BIT_TWL_REQ_RST_REQ ) != 0 )
{
vreg_ctr[VREG_C_IRQ3] |= REG_BIT_TWL_RESET_REQ;
if( ( vreg_ctr[VREG_C_IRQ_MASK3] & REG_BIT_TWL_RESET_REQ ) == 0 )
{
IRQ0_ast;
}
}
// バックライトが...
EI( ); EI( );
reg_shadow &= ~( REG_BIT_TWL_REQ_OFF_REQ | REG_BIT_TWL_REQ_RST_REQ ); reg_shadow &= ~( REG_BIT_TWL_REQ_OFF_REQ | REG_BIT_TWL_REQ_RST_REQ );
iic_mcu_write_a_byte( IIC_SLA_CODEC, CODEC_REG_PM, reg_shadow ); iic_mcu_write_a_byte( IIC_SLA_CODEC, CODEC_REG_PM, reg_shadow );

View File

@ -91,7 +91,7 @@ __interrupt void int_rtc( )
vreg_ctr[VREG_C_IRQ1] |= REG_BIT_RTC_ALARM; vreg_ctr[VREG_C_IRQ1] |= REG_BIT_RTC_ALARM;
IRQ0_ast; IRQ0_ast;
// マスクをしてあったら、電源を入れません // マスクをしてあったら、電源を入れません
if( system_status.pwr_state == OFF ) if( system_status.pwr_state == BT_CHARGE )
{ {
system_status.poweron_reason = RTC_ALARM; system_status.poweron_reason = RTC_ALARM;
} }
@ -105,7 +105,7 @@ __interrupt void int_rtc( )
RTC RTC
sec,min,hour,week,day,month,year sec,min,hour,week,day,month,year
======================================================== */ ======================================================== */
void get_rtc( ) void rtc_buf_reflesh( )
{ {
if( rtc_lock == 0 ) if( rtc_lock == 0 )
{ {

View File

@ -4,7 +4,7 @@
void RTC_init( void ); void RTC_init( void );
__interrupt void int_rtc_int( ); __interrupt void int_rtc_int( );
void get_rtc( ); void rtc_buf_reflesh( );
void set_rtc( ); void set_rtc( );
//task_status_immed tski_rtc_close(); //task_status_immed tski_rtc_close();

View File

@ -79,6 +79,7 @@ void tsk_sw( )
case ( ON ): case ( ON ):
case ( SLEEP ): case ( SLEEP ):
case ( BT_CHARGE ): case ( BT_CHARGE ):
case ( OFF ):
// 電源スイッチの監視 // // 電源スイッチの監視 //
if( SW_POW_n ) if( SW_POW_n )
{ {
@ -140,7 +141,9 @@ void tsk_sw( )
} }
// ボタン押し時間のカウント // ボタン押し時間のカウント
if( ( system_status.pwr_state == ON ) || ( system_status.pwr_state == OFF ) ) if( ( system_status.pwr_state == ON )
|| ( system_status.pwr_state == OFF )
|| ( system_status.pwr_state == BT_CHARGE ) )
{ {
count_sw_n( SW_POW_n, SW_pow_count, SW_pow_mask ); count_sw_n( SW_POW_n, SW_pow_count, SW_pow_mask );
#ifdef _SW_HOME_ENABLE_ #ifdef _SW_HOME_ENABLE_

View File

@ -32,8 +32,7 @@ void tsk_misc_stat( )
interval_task_misc_stat = ( INTERVAL_TSK_MISC_STAT / SYS_INTERVAL_TICK ); interval_task_misc_stat = ( INTERVAL_TSK_MISC_STAT / SYS_INTERVAL_TICK );
} }
set_bit( SHELL_CLOSE, vreg_ctr[VREG_C_STATUS], REG_BIT_ST_SHELL_CLOSED ); set_bit( SHELL_OPEN, vreg_ctr[VREG_C_STATUS], REG_BIT_ST_SHELL_OPEN );
// ステータスレジスタ関係 → 割り込み // // ステータスレジスタ関係 → 割り込み //
if( ( system_status.pwr_state == ON ) || ( system_status.pwr_state == SLEEP ) ) if( ( system_status.pwr_state == ON ) || ( system_status.pwr_state == SLEEP ) )
@ -99,10 +98,10 @@ void tsk_misc_stat( )
} }
} }
if( diff & REG_BIT_ST_SHELL_CLOSED ) if( diff & REG_BIT_ST_SHELL_OPEN )
{ {
// 蓋の開け閉め // 蓋の開け閉め
if( vreg_ctr[VREG_C_STATUS] & REG_BIT_ST_SHELL_CLOSED ) if( vreg_ctr[VREG_C_STATUS] & REG_BIT_ST_SHELL_OPEN )
{ {
set_irq( VREG_C_IRQ2, REG_BIT_SHELL_OPEN ); set_irq( VREG_C_IRQ2, REG_BIT_SHELL_OPEN );
} }

View File

@ -87,7 +87,7 @@ void tsk_sys( )
{ // 電源起動不可エラー { // 電源起動不可エラー
renge_task_interval_run_force = 1; renge_task_interval_run_force = 1;
iic_mcu_stop( ); iic_mcu_stop( );
system_status.pwr_state = OFF; system_status.pwr_state = OFF_TRIG;
return; return;
} }
@ -152,7 +152,7 @@ void tsk_sys( )
break; break;
case SLEEP_TRIG: //------------------------------------- case SLEEP_TRIG: //-------------------------------------
PM_VDD_ecoMode(); // PM_VDD_ecoMode();
system_status.pwr_state = SLEEP; system_status.pwr_state = SLEEP;
break; break;
@ -160,7 +160,7 @@ void tsk_sys( )
chk_emergencyExit(); chk_emergencyExit();
// スリープから復帰 // スリープから復帰
if( !SLP_REQ ){ if( !SLP_REQ ){
PM_VDD_normMode(); // PM_VDD_normMode();
wait_ms( 5 ); // tdly_sw wait_ms( 5 ); // tdly_sw
#ifdef _MODEL_CTR_ #ifdef _MODEL_CTR_

View File

@ -108,10 +108,10 @@
// 充電せよ(out) // 充電せよ(out)
#ifndef _PMIC_CTR_ #ifdef _PMIC_CTR_
#define BT_CHG_EN_n P4.2
#else
#define BT_CHG_EN_n P4.3 #define BT_CHG_EN_n P4.3
#else
#define BT_CHG_EN_n P4.2
#endif #endif
// 充電中(in) // 充電中(in)
@ -166,7 +166,11 @@
#define DIPSW_0 P4.0 // mini cube ソフトウェアディップスイッチ #define DIPSW_0 P4.0 // mini cube ソフトウェアディップスイッチ
#define DIPSW_1 P4.1 // mini cube ソフトウェアディップスイッチ #define DIPSW_1 P4.1 // mini cube ソフトウェアディップスイッチ
#define SHELL_CLOSE P7.1 // INTP5 ふた開閉 (閉じると?) #ifndef _MODEL_WM0_
#define SHELL_OPEN P7.1 // INTP5 ふた開閉 (閉じると?)
#else
#define SHELL_OPEN 1
#endif
//#define DBG_VR P2.6 //#define DBG_VR P2.6
// ANI6 // ANI6

View File

@ -14,7 +14,7 @@ CTR MCU I2C
// ******************************************************** // ********************************************************
u8 vreg_ctr[VREG_C_ENDMARK_]; u8 vreg_ctr[VREG_C_ENDMARK_];
bit irq_readed; // AAA型のため。
// ******************************************************** // ********************************************************
// 非ゼロの初期値の指定が必要なアドレス // 非ゼロの初期値の指定が必要なアドレス
@ -56,7 +56,8 @@ void vreg_ctr_write( u8 adrs, u8 data )
{ {
case ( VREG_C_MCU_STATUS ): case ( VREG_C_MCU_STATUS ):
vreg_ctr[adrs] = ( data & ~0x40 ); vreg_ctr[adrs] = data;
vreg_twl[ REG_TWL_INT_ADRS_MODE ] = ( ( data & 0xC0 ) >> 6);
break; break;
case ( VREG_C_VCOM_T ): case ( VREG_C_VCOM_T ):
@ -218,42 +219,20 @@ void vreg_ctr_write( u8 adrs, u8 data )
// ******************************************************** // ********************************************************
// I2C仮想レジスタから読みます。 // I2C仮想レジスタから読みます。
// 引数 adrs 外から見たときの、アドレス // 戻り: xx データ
// 戻り xx データ // 注意:次のアドレスの準備で呼ばれる ので、
// リードされたらクリアなどは気をつける
u8 vreg_ctr_read( u8 adrs ) u8 vreg_ctr_read( u8 adrs )
{ {
u8 dat;
// 割り込みフラグはリードでクリア
if( adrs == VREG_C_IRQ0 )
{
dat = vreg_ctr[VREG_C_IRQ0];
vreg_ctr[VREG_C_IRQ0] = 0;
return dat;
}
else if( adrs == VREG_C_IRQ1 )
{
dat = vreg_ctr[VREG_C_IRQ1];
vreg_ctr[VREG_C_IRQ1] = 0;
return dat;
}
else if( adrs == VREG_C_IRQ2 )
{
dat = vreg_ctr[VREG_C_IRQ2];
vreg_ctr[VREG_C_IRQ2] = 0;
return dat;
}
else if( adrs == VREG_C_IRQ3 )
{
dat = vreg_ctr[VREG_C_IRQ3];
vreg_ctr[VREG_C_IRQ3] = 0;
return dat;
}
// RTCは読み出し途中に繰り上がるのを避けるため // RTCは読み出し途中に繰り上がるのを避けるため
else if( ( VREG_C_RTC_SEC <= adrs ) && ( adrs <= VREG_C_RTC_YEAR ) ) if( ( VREG_C_RTC_SEC <= adrs ) && ( adrs <= VREG_C_RTC_YEAR ) )
{ {
get_rtc( ); rtc_buf_reflesh( );
}
if( adrs == VREG_C_MCU_STATUS )
{
return( vreg_ctr[ VREG_C_MCU_STATUS ] | ( ( vreg_twl[ REG_TWL_INT_ADRS_MODE ] & 0x03 ) << 6 ) );
} }
return ( vreg_ctr[adrs] ); return ( vreg_ctr[adrs] );
} }
@ -264,4 +243,26 @@ u8 vreg_ctr_read( u8 adrs )
// I2C仮想レジスタから読まれて何かするレジスタ // I2C仮想レジスタから読まれて何かするレジスタ
void vreg_ctr_after_read( u8 adrs ) void vreg_ctr_after_read( u8 adrs )
{ {
// 割り込みフラグはリードでクリア
if( adrs == VREG_C_IRQ0 )
{
vreg_ctr[VREG_C_IRQ0] = 0;
irq_readed = 1;
}
else if( adrs == VREG_C_IRQ1 )
{
vreg_ctr[VREG_C_IRQ1] = 0;
irq_readed = 1;
}
else if( adrs == VREG_C_IRQ2 )
{
vreg_ctr[VREG_C_IRQ2] = 0;
irq_readed = 1;
}
else if( adrs == VREG_C_IRQ3 )
{
vreg_ctr[VREG_C_IRQ3] = 0;
irq_readed = 1;
}
} }

View File

@ -54,7 +54,7 @@
#define REG_BIT_BATT_CHARGE_ERR ( 1 << 5 ) #define REG_BIT_BATT_CHARGE_ERR ( 1 << 5 )
#define REG_BIT_BATT_CHARGE ( 1 << 4 ) #define REG_BIT_BATT_CHARGE ( 1 << 4 )
#define REG_BIT_POW_SUPPLY ( 1 << 3 ) #define REG_BIT_POW_SUPPLY ( 1 << 3 )
#define REG_BIT_ST_SHELL_CLOSED ( 1 << 1 ) #define REG_BIT_ST_SHELL_OPEN ( 1 << 1 )
// VREG_C_STATUS_1 // VREG_C_STATUS_1
#define REG_BIT_GASGAUGE_ERR ( 1 << 0 ) #define REG_BIT_GASGAUGE_ERR ( 1 << 0 )

View File

@ -1,25 +1,6 @@
C:\WINDOWS\system32\cmd.exe /c echo touch magic.c C:\WINDOWS\system32\cmd.exe /c echo touch magic.c
touch magic.c touch magic.c
"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl1wt -sainter_asm -zp -no i2c_ctr.c
Compilation complete, 0 error(s) and 0 warning(s) found.
"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\i2c_ctr.asm
Assembly complete, 0 error(s) and 0 warning(s) found.
"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl1wt -sainter_asm -zp -no vreg_ctr.c
vreg_ctr.c(59) : CC78K0R warning W0401: Conversion may lose significant digits
vreg_ctr.c(102) : CC78K0R warning W0401: Conversion may lose significant digits
vreg_ctr.c(103) : CC78K0R warning W0401: Conversion may lose significant digits
vreg_ctr.c(105) : CC78K0R warning W0401: Conversion may lose significant digits
vreg_ctr.c(107) : CC78K0R warning W0401: Conversion may lose significant digits
vreg_ctr.c(108) : CC78K0R warning W0401: Conversion may lose significant digits
vreg_ctr.c(110) : CC78K0R warning W0401: Conversion may lose significant digits
Compilation complete, 0 error(s) and 7 warning(s) found.
"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\vreg_ctr.asm
Assembly complete, 0 error(s) and 0 warning(s) found.
"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\lk78k0r.exe" -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -obsr.lmf "..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\lib78k0r\s0rm.rel" -go85h,0FC00h,1024 -gi0FFFFFFFFFFFFFFFFFFFFh -pbsr_k0r.map -nkd -kp -gb7EFBFFh -b"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib" -bcl0rdm.lib -bcl0rm.lib -bcl0rmf.lib -i"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\lib78k0r" -dbsr_mcu.dr -s -w0 loader.rel pm.rel i2c_ctr.rel main.rel magic.rel WDT.rel i2c_mcu.rel i2c_twl.rel ini_VECT.rel led.rel rtc.rel vreg_ctr.rel vreg_twl.rel adc.rel renge.rel accero.rel self_flash.rel reboot.rel sw.rel task_debug.rel task_misc.rel task_sys.rel
Link complete, 0 error(s) and 0 warning(s) found.
"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\oc78k0r.exe" -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -o.\bsr.hex -nu -ki bsr.lmf
Object Conversion Complete, 0 error(s) and 0 warning(s) found.
C:\WINDOWS\system32\cmd.exe /c ruby C:\Cygwin\home\fujita_ryohei\ctr\nec_s_2_bsrbin.rb bsr.hex C:\WINDOWS\system32\cmd.exe /c ruby C:\Cygwin\home\fujita_ryohei\ctr\nec_s_2_bsrbin.rb bsr.hex
C:/Cygwin/home/fujita_ryohei/ctr/nec_s_2_bsrbin.rb:2: warning: variable $KCODE is no longer effective; ignored C:/Cygwin/home/fujita_ryohei/ctr/nec_s_2_bsrbin.rb:2: warning: variable $KCODE is no longer effective; ignored
Build Total error(s) : 0 Total warning(s) : 7 Build Total error(s) : 0 Total warning(s) : 0

View File

@ -7,7 +7,7 @@ Internal Rom=32KB
Internal Ram=1536B Internal Ram=1536B
Clock=Target Clock=Target
Sub Clock=Target Sub Clock=Target
Peripheral Break=0x0 Peripheral Break=0x3
Firm Clock=System Firm Clock=System
Flash Programming=Permit Flash Programming=Permit
Low-voltage Flash Rewriting=On Low-voltage Flash Rewriting=On
@ -22,7 +22,7 @@ SubClock=None
[Mapping] [Mapping]
Count=0 Count=0
[Main] [Main]
Geometry=211, 16, 1295, 1189 Geometry=123, 8, 1395, 1124
Window=Max Window=Max
MDI_MAX=OFF MDI_MAX=OFF
Button=ON Button=ON
@ -78,10 +78,10 @@ Symbol Type=OFF
Language=C Language=C
Kanji=SJIS Kanji=SJIS
[Source] [Source]
Geometry=286, 184, 981, 857 Geometry=232, 20, 863, 1013
Window=Normal Window=Normal
DispStart=40 DispStart=251
CaretPos=86,0 CaretPos=253,0
Mode=Normal Mode=Normal
DispFile= DispFile=
Address1= Address1=
@ -140,10 +140,10 @@ SaveStart=
SaveEnd= SaveEnd=
Accumulative=ON Accumulative=ON
[Assemble] [Assemble]
Geometry=66, 131, 600, 738 Geometry=0, 0, 0, 0
Window=Normal Window=Hide
DispStart=10043 DispStart=864531456
CaretPos=10043,27 CaretPos=0,0
Address1= Address1=
Address2= Address2=
Address3= Address3=
@ -185,7 +185,7 @@ SaveRange=Screen
SaveStart= SaveStart=
SaveEnd= SaveEnd=
[Memory] [Memory]
Geometry=1046, 57, 584, 926 Geometry=0, 0, 0, 0
Window=Hide Window=Hide
Boundary=0 Boundary=0
Format=Hex Format=Hex
@ -251,12 +251,12 @@ Destination=0
[I/O Port] [I/O Port]
Line=0 Line=0
[Stack] [Stack]
Geometry=906, 793, 400, 300 Geometry=0, 0, 0, 0
Window=Normal Window=Hide
Boundary=13762687 Boundary=0
Mode=Proper Mode=Proper
[Sfr] [Sfr]
Geometry=100, 100, 400, 400 Geometry=0, 0, 0, 0
Window=Hide Window=Hide
Address1= Address1=
Address2= Address2=
@ -280,7 +280,7 @@ Attribute=Show
Sort=Unsort Sort=Unsort
Pickup=OFF Pickup=OFF
SelectSort=Address SelectSort=Address
Last Name=P0 Last Name=
Line=531 Line=531
L1=P0 L1=P0
L2=P1 L2=P1
@ -814,9 +814,9 @@ L529=IICWL1
L530=IICWH1 L530=IICWH1
L531=SVA1 L531=SVA1
[Local Variable] [Local Variable]
Geometry=1188, 318, 400, 300 Geometry=0, 0, 0, 0
Window=Normal Window=Hide
Boundary=13041851 Boundary=0
Mode=Proper Mode=Proper
[Trace View] [Trace View]
Geometry=0, 0, 0, 0 Geometry=0, 0, 0, 0
@ -866,22 +866,22 @@ SaveRange=Screen
SaveStart= SaveStart=
SaveEnd= SaveEnd=
[Register] [Register]
Geometry=1329, 693, 250, 400 Geometry=0, 0, 0, 0
Window=Normal Window=Hide
Mode=Hex Mode=Hex
Boundary=62 Boundary=62
Pickup=OFF Pickup=OFF
Name=Functional Name=Functional
Register Bank=0 Register Bank=0
RP0=1 RP0=3
RP1=1 RP1=3
RP2=1 RP2=3
RP3=1 RP3=3
PC=1 PC=3
SP=1 SP=3
PSW=1 PSW=3
ES=1 ES=3
CS=1 CS=3
[Event Manager] [Event Manager]
Geometry=0, 0, 0, 0 Geometry=0, 0, 0, 0
Window=Hide Window=Hide
@ -957,58 +957,77 @@ Detail=OFF
Last Name= Last Name=
Count=0 Count=0
[Variable] [Variable]
Geometry=1138, 6, 440, 688 Geometry=1143, 7, 440, 503
Window=Normal Window=Normal
Boundary=13762700 Boundary=13762700
0=.mk2h,P,S,A,+,1 0=.iic_mcu_bus_status,P,N,A,+,1
1=.mk2l,P,S,A,+,1 1=.vreg_ctr[0x0e],P,N,A,+,1
2=.MK1,P,S,A,+,1 2=.PMK23,P,S,A,+,1
3=.MK2,P,S,A,+,1 3=.PM12.0,P,S,A,+,1
4=.IICAMK1,P,S,A,+,1 4=.P12.0,P,S,A,+,1
5=.IICAIF1,P,S,A,+,1 5=.system_status.pwr_state,P,N,A,+,1
6=.IICAMK0,P,S,A,+,1 6=.vreg_ctr[0x1b],P,N,A,+,1
7=.IICAIF0,P,S,A,+,1 7=.reg_shadow,H,N,A,+,1
8=.tasks,P,N,A,+,1 8=.timeout,P,N,A,+,1
9=.RTCIIF,P,S,A,+,1 9=.PU7,B,S,A,+,1
10=.RTCIMK,P,S,A,+,1 10=.PM7,B,S,A,+,1
11=.task_id,P,N,A,+,1 11=.RESF,P,S,A,+,1
12=.system_status.poweron_reason,P,N,A,+,1 12=.SW_pow_count,P,N,A,+,1
13=.ADCRH,P,S,A,+,1 13=.SW_pow_mask,P,N,A,+,1
14=.hist_bt_temp,P,N,A,+,1 14=.SW_pow_count,P,N,A,+,1
15=.raw_adc_temperature,P,N,A,+,1 15=.P7.0,P,S,A,+,1
16=.system_status.pwr_state,P,N,A,+,1 16=.KRM,P,S,A,+,1
17=.vreg_ctr[11],D,N,A,+,1 17=.PU7.3,P,S,A,+,1
18=.newrcomp,D,N,A,+,1 18=.PM7.3,P,S,A,+,1
19=.temperature,P,N,A,+,1 19=.P7.3,P,S,A,+,1
20=.temp_co_up,P,N,A,+,1 20=.PU7.1,P,S,A,+,1
21=.temp_co_dn,P,N,A,+,1 21=.P7.1,P,S,A,+,1
Line=22 22=.PM7.1,P,S,A,+,1
23=.vreg_ctr[15],P,N,A,+,1
24=.PU4.3,P,S,A,+,1
25=.vreg_twl,P,N,A,+,1
26=.PM4.3,P,S,A,+,1
27=.P4.3,P,S,A,+,1
28=.system_status.pwr_state,P,N,A,+,1
Line=29
[Quick Watch] [Quick Watch]
0=PM7.3,P,A,1 0=PM7,B,A,1
1=IMMED_RSV_TASKS_NUM,P,A,1 1=PU7,B,A,1
2=task_id,P,A,1 2=SW_pow_mask,P,A,1
3=tasks,P,A,1 3=SW_pow_count,P,A,1
4=RTCIMK,P,A,1 4=RESF,P,A,1
5=RTCIIF,P,A,1 5=timeout,P,A,1
6=IICA0IF,P,A,1 6=reg_shadow,P,A,1
7=IICAIF0,P,A,1 7=vreg_ctr[VREG_C_IRQ3],P,A,1
8=IICAIF1,P,A,1 8=vreg_ctr[0x1b],P,A,1
9=IICAMK1,P,A,1 9=system_status.pwr_state,P,A,1
10=IICAMK0,P,A,1 10=P12.0,P,A,1
11=mk2,P,A,1 11=PM12,P,A,1
12=mk2l,P,A,1 12=PM12.0,P,A,1
13=mk2h,P,A,1 13=PMK23,P,A,1
14=MK2,P,A,1 14=vreg_ctr[0x0e],P,A,1
15=MK1,P,A,1 15=iic_mcu_bus_status,P,A,1
[Software Break] [Software Break]
Geometry=14, 896, 500, 200 Geometry=0, 0, 0, 0
Window=Normal Window=Hide
Width=150 30 200 100 Width=150 30 200 100
Name0=Swb00002 Name0=Swb00001
Address0=i2c_ctr.c#_int_iic_ctr+0x17 Address0=task_sys.c#_tsk_sys+0xdd
Window0=ASM Window0=ASM
Status0=ON Status0=ON
Count=1 Name1=Swb00004
Address1=task_sys.c#_tsk_sys+0xe9
Window1=ASM
Status1=ON
Name2=Swb00002
Address2=accero.c#_acc_hosu_set+0x16
Window2=ASM
Status2=ON
Name3=Swb00003
Address3=accero.c#_acc_hosu_set+0x24
Window3=ASM
Status3=ON
Count=4
[Reset] [Reset]
Debugger=ON Debugger=ON
Symbol=OFF Symbol=OFF

View File

@ -9,23 +9,21 @@ OpenFile2=renge\\renge_defs.h,0,330,330,1574,1087,0,47,0,0
OpenFile3=user_define.h,0,176,176,1420,933,0,33,20,0 OpenFile3=user_define.h,0,176,176,1420,933,0,33,20,0
OpenFile4=rtc.c,0,308,308,1491,934,0,31,17,0 OpenFile4=rtc.c,0,308,308,1491,934,0,31,17,0
OpenFile5=magic.c,0,242,242,1486,999,3,8,0,0 OpenFile5=magic.c,0,242,242,1486,999,3,8,0,0
OpenFile6=accero.c,0,154,154,1398,911,25,237,25,0 OpenFile6=inter_asm\self_flash.asm,0,118,281,1362,1038,0,933,0,0
OpenFile7=inter_asm\self_flash.asm,0,118,281,1362,1038,0,933,0,0 OpenFile7=loader.c,0,255,224,1438,850,14,85,0,0
OpenFile8=loader.c,0,255,224,1438,850,14,85,0,0 OpenFile8=main.c,0,124,87,1368,844,0,45,0,0
OpenFile9=main.c,0,124,87,1368,844,0,45,0,0 OpenFile9=reboot.c,0,110,110,1354,867,5,14,14,0
OpenFile10=vreg_ctr.c,0,345,273,1060,932,14,23,0,0 OpenFile10=vreg_twl.c,0,314,110,1558,867,74,90,75,0
OpenFile11=reboot.c,0,110,110,1354,867,5,14,14,0 OpenFile11=renge\renge.c,0,154,154,1398,911,0,264,0,0
OpenFile12=vreg_twl.c,0,314,110,1558,867,74,90,75,0 OpenFile12=adc.c,0,275,163,1065,610,0,145,0,0
OpenFile13=renge\renge.c,0,154,154,1398,911,0,264,0,0 OpenFile13=led.c,0,286,286,1469,912,45,278,46,0
OpenFile14=adc.c,0,275,163,1065,610,0,145,0,0 OpenFile14=i2c_ctr.c,0,329,42,1171,976,0,56,0,0
OpenFile15=led.c,0,286,286,1469,912,45,278,46,0 OpenFile15=ProjectWindow
OpenFile16=pm.c,0,457,302,1701,1059,4,496,14,0
OpenFile17=i2c_ctr.c,0,329,42,1171,976,0,56,0,0
OpenFile18=ProjectWindow
PrjPos=0,2,754,3,253 PrjPos=0,2,754,3,253
OpenFile19=OutputWindow OpenFile16=accero.c,0,154,154,1398,911,0,246,0,0
OutputPos=0,360,1128,478,1503 OpenFile17=config.h,0,225,465,1115,1086,0,20,18,0
OpenFile20=config.h,0,263,342,1507,1099,15,15,15,0 OpenFile18=OutputWindow
OutputPos=0,629,1096,785,1585
ActivePRJ=yav_mcu_bsr.prj ActivePRJ=yav_mcu_bsr.prj
[ProjectWindow] [ProjectWindow]
ProjectWindowDispType=0 ProjectWindowDispType=0

View File

@ -1,7 +1,7 @@
[SdbInfo] [SdbInfo]
Ver=5 Ver=5
[loader.c] [loader.c]
T=4af2385f T=4af77c45
1=incs_loader.h 1=incs_loader.h
2=fsl.h 2=fsl.h
3=fsl_user.h 3=fsl_user.h
@ -11,13 +11,13 @@ T=4af2385f
7=rtc.h 7=rtc.h
8=reboot.h 8=reboot.h
[pm.c] [pm.c]
T=4af37d73 T=4af7dd7e
1=incs.h 1=incs.h
2=adc.h 2=adc.h
3=led.h 3=led.h
4=pm.h 4=pm.h
[i2c_ctr.c] [i2c_ctr.c]
T=4af2327f T=4af7e20d
1=incs.h 1=incs.h
[main.c] [main.c]
T=4af281ee T=4af281ee
@ -34,7 +34,7 @@ T=4ad3e9ff
T=4aca8ef0 T=4aca8ef0
1=incs_loader.h 1=incs_loader.h
[i2c_mcu.c] [i2c_mcu.c]
T=4af25f2b T=4af9118f
1=incs.h 1=incs.h
2=i2c_mcu.h 2=i2c_mcu.h
[i2c_twl.c] [i2c_twl.c]
@ -49,10 +49,10 @@ T=4af37126
1=incs.h 1=incs.h
2=led.h 2=led.h
[rtc.c] [rtc.c]
T=4af0e439 T=4af7b267
1=incs.h 1=incs.h
[vreg_ctr.c] [vreg_ctr.c]
T=4ae6477f T=4af7e20d
1=incs.h 1=incs.h
2=vreg_ctr.h 2=vreg_ctr.h
3=rtc.h 3=rtc.h
@ -60,13 +60,13 @@ T=4ae6477f
5=accero.h 5=accero.h
6=pm.h 6=pm.h
[vreg_twl.c] [vreg_twl.c]
T=4af37c2b T=4af3eeb6
1=incs.h 1=incs.h
2=jhl_defs.h 2=jhl_defs.h
3=vreg_twl.h 3=vreg_twl.h
4=vreg_ctr.h 4=vreg_ctr.h
[adc.c] [adc.c]
T=4af27e29 T=4af7c7b0
1=incs.h 1=incs.h
2=adc.h 2=adc.h
3=pm.h 3=pm.h
@ -79,7 +79,7 @@ T=4af291b9
4=WDT.h 4=WDT.h
5=bsr_system.h 5=bsr_system.h
[accero.c] [accero.c]
T=4ae66d1d T=4af90429
1=incs.h 1=incs.h
2=..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h 2=..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h
[self_flash.c] [self_flash.c]
@ -92,7 +92,7 @@ T=4af2385f
T=4ae01bca T=4ae01bca
1=incs_loader.h 1=incs_loader.h
[sw.c] [sw.c]
T=4af283ee T=4af7c32c
1=incs.h 1=incs.h
2=i2c_twl.h 2=i2c_twl.h
3=i2c_ctr.h 3=i2c_ctr.h
@ -101,18 +101,18 @@ T=4af283ee
6=pm.h 6=pm.h
7=rtc.h 7=rtc.h
[task_debug.c] [task_debug.c]
T=4af37091 T=4af3e136
1=incs.h 1=incs.h
2=renge\renge.h 2=renge\renge.h
3=pm.h 3=pm.h
[task_misc.c] [task_misc.c]
T=4af23bcc T=4af78f0e
1=incs.h 1=incs.h
2=renge\renge.h 2=renge\renge.h
3=pm.h 3=pm.h
4=accero.h 4=accero.h
[task_sys.c] [task_sys.c]
T=4af3afcc T=4af8c0c9
1=incs.h 1=incs.h
2=i2c_twl.h 2=i2c_twl.h
3=i2c_ctr.h 3=i2c_ctr.h
@ -134,10 +134,10 @@ T=4aca8c17
[jhl_defs.h] [jhl_defs.h]
T=4af224f5 T=4af224f5
[user_define.h] [user_define.h]
T=4af3ad8a T=4af79ef8
1=config.h 1=config.h
[config.h] [config.h]
T=4af37e8a T=4af91079
[bsr_system.h] [bsr_system.h]
T=4af27e29 T=4af27e29
[renge\renge.h] [renge\renge.h]
@ -150,7 +150,7 @@ T=4ac96e5c
T=4ad68780 T=4ad68780
1=renge\renge_defs.h 1=renge\renge_defs.h
[vreg_ctr.h] [vreg_ctr.h]
T=4af37075 T=4af781cc
1=config.h 1=config.h
[loader.h] [loader.h]
T=4aca8c17 T=4aca8c17
@ -168,7 +168,7 @@ T=4aca8c17
[pm.h] [pm.h]
T=4af23bbb T=4af23bbb
[rtc.h] [rtc.h]
T=4aca8c17 T=4af40cbb
[adc.h] [adc.h]
T=4ae64633 T=4ae64633
1=jhl_defs.h 1=jhl_defs.h