IRQマスクと割り込みを再度入れるときのチェックを仕様変更(マスクされててビット立ってたら割り込み入れ直さない)

IRQフラグのクリアを厳密に
機種判定レジスタ、enumを0.18にあわせる



git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@205 013db118-44a6-b54f-8bf7-843cb86687b1
This commit is contained in:
N2232 2010-07-15 08:59:27 +00:00
parent 17f77befae
commit ca6d0ab25c
18 changed files with 2306 additions and 1224 deletions

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -1,20 +1,19 @@
78K0R Linker W1.31 Date:14 Jul 2010 Page: 1 78K0R Linker W1.31 Date:15 Jul 2010 Page: 1
Command: -yC:\Program Files\NEC Electronics Tools\DEV -_msgoff -obsr.l Command: -yC:\Program Files\NEC Electronics Tools\DEV -_msgoff -obsr.l
mf ..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10 mf ..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10
\lib78k0r\s0rm.rel -go85h,0FC00h,1024 -gi0FFFFFFFFFFFFFFFFFFF \lib78k0r\s0rm.rel -gi10A84B295BE95C03D45Bh -pbsr_k0r.map -nk
Fh -pbsr_k0r.map -nkd -gb0FEFBFFh -bC:\Program Files\NEC Elec d -gb7EFFFFh -bC:\Program Files\NEC Electronics Tools\FSL78K0
tronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib -bcl0r R_Type02ES\V1.20\lib78k0r\fsl.lib -bcl0rdm.lib -bcl0rm.lib -b
dm.lib -bcl0rm.lib -bcl0rmf.lib -iC:\Program Files\NEC Electr cl0rmf.lib -iC:\Program Files\NEC Electronics Tools\CC78K0R\W
onics Tools\CC78K0R\W2.10\lib78k0r -dbsr_mcu.dr -s -w0 loader 2.10\lib78k0r -dbsr_mcu.dr -s -w0 loader.rel pm.rel i2c_ctr.r
.rel pm.rel i2c_ctr.rel main.rel magic.rel WDT.rel i2c_mcu.re el main.rel magic.rel WDT.rel i2c_mcu.rel i2c_twl.rel led.rel
l i2c_twl.rel led.rel rtc.rel vreg_ctr.rel vreg_twl.rel adc.r rtc.rel vreg_ctr.rel vreg_twl.rel adc.rel renge.rel accero.r
el renge.rel accero.rel self_flash.rel sw.rel task_debug.rel el self_flash.rel sw.rel task_debug.rel task_misc.rel task_sy
task_misc.rel task_sys.rel pedo_alg_thre_det2.rel ini_VECT.re s.rel pedo_alg_thre_det2.rel ini_VECT.rel task_status.rel
l task_status.rel
Para-file: Para-file:
Out-file: bsr.lmf Out-file: bsr.lmf
Map-file: bsr_k0r.map Map-file: bsr_k0r.map
@ -23,9 +22,9 @@ Direc-file:bsr_mcu.dr
*** Link information *** *** Link information ***
66 output segment(s) 64 output segment(s)
3D86H byte(s) real data 3D92H byte(s) real data
5405 symbol(s) defined 5394 symbol(s) defined
*** Memory map *** *** Memory map ***
@ -51,8 +50,7 @@ Direc-file:bsr_mcu.dr
LDR_CNSL 00002H 00000H CSEG PAGE64KP LDR_CNSL 00002H 00000H CSEG PAGE64KP
LDR_CNSL self_flash LDR_CNSL self_flash
00002H 00000H 00002H 00000H
??NMIROM 00002H 00002H CSEG * gap * 00002H 0000EH
* gap * 00004H 0000CH
@@VECT10 00010H 00004H CSEG AT @@VECT10 00010H 00004H CSEG AT
@@VECT10 ini_VECT 00010H 00004H @@VECT10 ini_VECT 00010H 00004H
* gap * 00014H 00008H * gap * 00014H 00008H
@ -89,52 +87,51 @@ Direc-file:bsr_mcu.dr
LDR_CODL self_flash LDR_CODL self_flash
000C4H 00000H 000C4H 00000H
?CSEGSI 000C4H 0000AH CSEG ?CSEGSI 000C4H 0000AH CSEG
?OCDSTAD 000CEH 0000AH CSEG LDR_CODE 000CEH 0087BH CSEG
LDR_CODE 000D8H 0087BH CSEG LDR_CODE loader 000CEH 001E0H
LDR_CODE loader 000D8H 001E0H LDR_CODE main 002AEH 0006EH
LDR_CODE main 002B8H 0006EH LDR_CODE WDT 0031CH 00000H
LDR_CODE WDT 00326H 00000H LDR_CODE i2c_mcu 0031CH 002F1H
LDR_CODE i2c_mcu 00326H 002F1H
LDR_CODE self_flash LDR_CODE self_flash
00617H 0033CH 0060DH 0033CH
FSL_CODE 00953H 00322H CSEG FSL_CODE 00949H 00322H CSEG
FSL_CODE fsl_block_cmd FSL_CODE fsl_block_cmd
00953H 0002BH 00949H 0002BH
FSL_CODE fsl_block_check FSL_CODE fsl_block_check
0097EH 00013H 00974H 00013H
FSL_CODE fsl_common FSL_CODE fsl_common
00991H 0014FH 00987H 0014FH
FSL_CODE fsl_reset FSL_CODE fsl_reset
00AE0H 00001H 00AD6H 00001H
FSL_CODE fsl_si_ibf FSL_CODE fsl_si_ibf
00AE1H 00064H 00AD7H 00064H
FSL_CODE fsl_phySwap FSL_CODE fsl_phySwap
00B45H 0004DH 00B3BH 0004DH
FSL_CODE fsl_si_common FSL_CODE fsl_si_common
00B92H 00061H 00B88H 00061H
FSL_CODE fsl_swap 00BF3H 00030H FSL_CODE fsl_swap 00BE9H 00030H
FSL_CODE fsl_write FSL_CODE fsl_write
00C23H 00052H 00C19H 00052H
@@LCODE 00C75H 002AFH CSEG @@LCODE 00C6BH 002AFH CSEG
@@LCODE @cstart 00C75H 0006DH @@LCODE @cstart 00C6BH 0006DH
@@LCODE @imul 00CE2H 00011H @@LCODE @imul 00CD8H 00011H
@@LCODE @lumul 00CF3H 0002BH @@LCODE @lumul 00CE9H 0002BH
@@LCODE @isdiv 00D1EH 00022H @@LCODE @isdiv 00D14H 00022H
@@LCODE @iudiv 00D40H 0002DH @@LCODE @iudiv 00D36H 0002DH
@@LCODE @isrem 00D6DH 00021H @@LCODE @isrem 00D63H 00021H
@@LCODE @iurem 00D8EH 0002FH @@LCODE @iurem 00D84H 0002FH
@@LCODE @lsdiv 00DBDH 00039H @@LCODE @lsdiv 00DB3H 00039H
@@LCODE @ludiv 00DF6H 0003FH @@LCODE @ludiv 00DECH 0003FH
@@LCODE @divuw 00E35H 00034H @@LCODE @divuw 00E2BH 00034H
@@LCODE @ladd 00E69H 0000FH @@LCODE @ladd 00E5FH 0000FH
@@LCODE @llsh 00E78H 0001BH @@LCODE @llsh 00E6EH 0001BH
@@LCODE @lursh 00E93H 0001FH @@LCODE @lursh 00E89H 0001FH
@@LCODE @iscmp 00EB2H 0000CH @@LCODE @iscmp 00EA8H 0000CH
@@LCODE @lscmp 00EBEH 00014H @@LCODE @lscmp 00EB4H 00014H
@@LCODE @lband 00ED2H 00014H @@LCODE @lband 00EC8H 00014H
@@LCODE @bcdtob 00EE6H 0001AH @@LCODE @bcdtob 00EDCH 0001AH
@@LCODE @bbcd 00F00H 00024H @@LCODE @bbcd 00EF6H 00024H
* gap * 00F24H 000D2H * gap * 00F1AH 000DCH
MGC_LOAD 00FF6H 0000AH CSEG AT MGC_LOAD 00FF6H 0000AH CSEG AT
MGC_LOAD magic 00FF6H 0000AH MGC_LOAD magic 00FF6H 0000AH
@ -366,57 +363,57 @@ Direc-file:bsr_mcu.dr
@@CNST ini_VECT 023C4H 00000H @@CNST ini_VECT 023C4H 00000H
@@CNST task_status @@CNST task_status
023C4H 00000H 023C4H 00000H
ROM_CODE 023C4H 026EDH CSEG ROM_CODE 023C4H 026F0H CSEG
ROM_CODE pm 023C4H 009B0H ROM_CODE pm 023C4H 009ACH
ROM_CODE i2c_ctr 02D74H 00060H ROM_CODE i2c_ctr 02D70H 00060H
ROM_CODE i2c_twl 02DD4H 0005EH ROM_CODE i2c_twl 02DD0H 0005EH
ROM_CODE led 02E32H 004F7H ROM_CODE led 02E2EH 00506H
ROM_CODE rtc 03329H 000F5H ROM_CODE rtc 03334H 000E0H
ROM_CODE vreg_ctr 0341EH 00446H ROM_CODE vreg_ctr 03414H 00453H
ROM_CODE vreg_twl 03864H 00163H ROM_CODE vreg_twl 03867H 00163H
ROM_CODE adc 039C7H 002A3H ROM_CODE adc 039CAH 002A3H
ROM_CODE renge 03C6AH 001C3H ROM_CODE renge 03C6DH 001C3H
ROM_CODE accero 03E2DH 0013DH ROM_CODE accero 03E30H 0013DH
ROM_CODE sw 03F6AH 000F3H ROM_CODE sw 03F6DH 000F5H
ROM_CODE task_debug ROM_CODE task_debug
0405DH 00001H 04062H 00001H
ROM_CODE task_misc ROM_CODE task_misc
0405EH 001BAH 04063H 001BAH
ROM_CODE task_sys 04218H 0030BH ROM_CODE task_sys 0421DH 00309H
ROM_CODE pedo_alg_thre_det2 ROM_CODE pedo_alg_thre_det2
04523H 00509H 04526H 00509H
ROM_CODE task_status ROM_CODE task_status
04A2CH 00085H 04A2FH 00085H
@@BASE 04AB1H 004E7H CSEG BASE @@BASE 04AB4H 004FCH CSEG BASE
@@BASE loader 04AB1H 00000H @@BASE loader 04AB4H 00000H
@@BASE pm 04AB1H 00043H @@BASE pm 04AB4H 00043H
@@BASE i2c_ctr 04AF4H 00183H @@BASE i2c_ctr 04AF7H 00198H
@@BASE main 04C77H 00000H @@BASE main 04C8FH 00000H
@@BASE magic 04C77H 00000H @@BASE magic 04C8FH 00000H
@@BASE WDT 04C77H 00000H @@BASE WDT 04C8FH 00000H
@@BASE i2c_mcu 04C77H 000D9H @@BASE i2c_mcu 04C8FH 000D9H
@@BASE i2c_twl 04D50H 000CDH @@BASE i2c_twl 04D68H 000CDH
@@BASE led 04E1DH 00000H @@BASE led 04E35H 00000H
@@BASE rtc 04E1DH 00043H @@BASE rtc 04E35H 00043H
@@BASE vreg_ctr 04E60H 00000H @@BASE vreg_ctr 04E78H 00000H
@@BASE vreg_twl 04E60H 00000H @@BASE vreg_twl 04E78H 00000H
@@BASE adc 04E60H 000B3H @@BASE adc 04E78H 000B3H
@@BASE renge 04F13H 00000H @@BASE renge 04F2BH 00000H
@@BASE accero 04F13H 0004AH @@BASE accero 04F2BH 0004AH
@@BASE self_flash @@BASE self_flash
04F5DH 00000H 04F75H 00000H
@@BASE sw 04F5DH 00000H @@BASE sw 04F75H 00000H
@@BASE task_debug @@BASE task_debug
04F5DH 00000H 04F75H 00000H
@@BASE task_misc @@BASE task_misc
04F5DH 00000H 04F75H 00000H
@@BASE task_sys 04F5DH 00000H @@BASE task_sys 04F75H 00000H
@@BASE pedo_alg_thre_det2 @@BASE pedo_alg_thre_det2
04F5DH 00000H 04F75H 00000H
@@BASE ini_VECT 04F5DH 0003BH @@BASE ini_VECT 04F75H 0003BH
@@BASE task_status @@BASE task_status
04F98H 00000H 04FB0H 00000H
* gap * 04F98H 0005EH * gap * 04FB0H 00046H
MGC_TAIL 04FF6H 0000AH CSEG AT MGC_TAIL 04FF6H 0000AH CSEG AT
MGC_TAIL magic 04FF6H 0000AH MGC_TAIL magic 04FF6H 0000AH

View File

@ -25,7 +25,6 @@ enum poweron_reason_
enum model_ enum model_
{ {
MODEL_UNCHECKED = 0,
MODEL_JIKKI, MODEL_JIKKI,
MODEL_TS_BOARD, MODEL_TS_BOARD,
MODEL_SHIROBAKO, MODEL_SHIROBAKO,

Binary file not shown.

View File

@ -95,10 +95,10 @@ __interrupt void int_iic_ctr( )
{ {
IRQ0_neg; IRQ0_neg;
irq_readed = 0; irq_readed = 0;
if( !( ( vreg_ctr[VREG_C_IRQ0] == 0 ) if( !( (( vreg_ctr[VREG_C_IRQ0] & vreg_ctr[VREG_C_IRQ_MASK0 ] ) == 0 )
&& ( vreg_ctr[VREG_C_IRQ1] == 0 ) && (( vreg_ctr[VREG_C_IRQ1] & vreg_ctr[VREG_C_IRQ_MASK1 ] ) == 0 )
&& ( vreg_ctr[VREG_C_IRQ2] == 0 ) && (( vreg_ctr[VREG_C_IRQ2] & vreg_ctr[VREG_C_IRQ_MASK2 ] ) == 0 )
&& ( vreg_ctr[VREG_C_IRQ3] == 0 ) ) ) && (( vreg_ctr[VREG_C_IRQ3] & vreg_ctr[VREG_C_IRQ_MASK3 ] ) == 0 ) ))
{ {
while( !IRQ0 ){;} // 時間稼ぎ不要かも while( !IRQ0 ){;} // 時間稼ぎ不要かも
IRQ0_ast; IRQ0_ast;
@ -188,7 +188,7 @@ __interrupt void int_iic_ctr( )
if( state == IIC_TX ) if( state == IIC_TX )
{ // 送信 { // 送信
IICA = tx_buf; IICA = tx_buf;
vreg_ctr_after_read( reg_adrs ); // 読んだらクリアなどの処理 vreg_ctr_after_read( reg_adrs, tx_buf ); // 読んだらクリアなどの処理
} }
else else
{ // 受信 { // 受信

View File

@ -174,6 +174,11 @@ void LED_init( )
} }
INFO_LED_IS_FULLCOLOR_PU = 0; INFO_LED_IS_FULLCOLOR_PU = 0;
LED_duty_notify_red = 0;
LED_duty_notify_blu = 0;
LED_duty_notify_grn = 0;
LED_old_pow_red = 0;
LED_old_CAM = 0;
if( system_status.reboot ) if( system_status.reboot )
{ {
@ -190,6 +195,7 @@ void LED_stop( )
TT0 = 0b0000000011101111; // 一斉停止(しないとだめ) TT0 = 0b0000000011101111; // 一斉停止(しないとだめ)
TOE0 = 0b0000000000000000; // TOxをタイマーモジュールが制御(GPIOになる) TOE0 = 0b0000000000000000; // TOxをタイマーモジュールが制御(GPIOになる)
TAU0EN = 0; TAU0EN = 0;
} }
@ -318,7 +324,7 @@ static void led_pow_sleep( )
return; return;
// おしまい // おしまい
} }
LED_dim_status_sleep.to = LED_PTN_SLEEP[frame_sleep] * 128; LED_dim_status_sleep.to = LED_PTN_SLEEP[frame_sleep] * 128;
// グラデーションのデルタを計算 // グラデーションのデルタを計算
@ -432,7 +438,7 @@ void tsk_led_wifi( )
if( WIFI_txLatch ) // 割り込みフラグそのものを使ってしまう if( WIFI_txLatch ) // 割り込みフラグそのものを使ってしまう
{ {
WIFI_txLatch = 0; WIFI_txLatch = 0;
flag_wifi_TX = 2; flag_wifi_TX = 1;
} }
if( flag_wifi_TX != 0 ) if( flag_wifi_TX != 0 )
@ -450,12 +456,12 @@ void tsk_led_wifi( )
LED_duty_WiFi = vreg_ctr[VREG_C_LED_BRIGHT]; LED_duty_WiFi = vreg_ctr[VREG_C_LED_BRIGHT];
} }
state_wifi_tx++; state_wifi_tx++;
if( state_wifi_tx == 32 ) if( state_wifi_tx == 32 ) // ←点滅後、点灯している期間の長さ
{ {
state_wifi_tx = 0; state_wifi_tx = 0;
flag_wifi_TX -= 1; flag_wifi_TX -= 1;
} }
task_interval = 22; task_interval = 25;
return; return;
} }
else else
@ -521,7 +527,7 @@ void tsk_led_notify( )
LED_dim_status_info_B.now = 0; LED_dim_status_info_B.now = 0;
} }
if( !info_led_off ) if( !info_led_off ) // ←電源off時など強制off
{ {
// 次のフレームに進める? // 次のフレームに進める?
if( time_to_next_frame == 0 ) if( time_to_next_frame == 0 )

Binary file not shown.

View File

@ -108,7 +108,7 @@ void tsk_sw( )
set_irq( VREG_C_IRQ0, REG_BIT_SW_HOME_CLICK ); set_irq( VREG_C_IRQ0, REG_BIT_SW_HOME_CLICK );
#endif #endif
} }
else if( SW_pow_count == HOLD_THREASHOLD ) else if( SW_pow_count == (u8)( HOLD_THREASHOLD * 1.5 ) )
{ {
#ifdef _SW_HOME_ENABLE_ #ifdef _SW_HOME_ENABLE_
set_irq( VREG_C_IRQ0, REG_BIT_SW_POW_HOLD ); set_irq( VREG_C_IRQ0, REG_BIT_SW_POW_HOLD );
@ -116,7 +116,7 @@ void tsk_sw( )
set_irq( VREG_C_IRQ0, REG_BIT_SW_HOME_HOLD ); set_irq( VREG_C_IRQ0, REG_BIT_SW_HOME_HOLD );
#endif #endif
} }
else if( SW_pow_count > ( HOLD_THREASHOLD + vreg_ctr[ VREG_C_OFF_DELAY ] *5 )) else if( SW_pow_count > ( (u16)HOLD_THREASHOLD + vreg_ctr[ VREG_C_OFF_DELAY ] *9 ))
{ {
system_status.force_off = 1; system_status.force_off = 1;
} }

View File

@ -9,7 +9,7 @@ extern bit SW_pow_mask;
#define INTERVAL_TSK_SW 8 #define INTERVAL_TSK_SW 8
#define CLICK_THRESHOLD 2 #define CLICK_THRESHOLD 2
#define HOLD_THREASHOLD (u8)( 2000 /1.024 /INTERVAL_TSK_SW ) #define HOLD_THREASHOLD (u8)( 2000 /INTERVAL_TSK_SW /SYS_INTERVAL_TICK )
#define FORCEOFF_THREASHOLD 50 #define FORCEOFF_THREASHOLD 50
#endif #endif

View File

@ -31,7 +31,7 @@ extern bit info_led_off;
extern bit going_to_sleep; extern bit going_to_sleep;
extern bit bt_chg_ready; extern bit bt_chg_ready;
static u8 timeout_sleep = 0; static u8 timeout_sleep;
@ -224,7 +224,7 @@ void tsk_sys( )
if( going_to_sleep ) if( going_to_sleep )
{ {
timeout_sleep += 1; timeout_sleep += 1;
if( timeout_sleep == 255 ) // sleepするって言ったけど一瞬で起きて気がつかなかった if( timeout_sleep == 0 ) // sleepするって言ったけど一瞬で起きて気がつかなかった
{ {
send_getup_to_soc(); send_getup_to_soc();
} }

View File

@ -368,6 +368,7 @@ void vreg_ctr_write( u8 adrs, u8 data )
// 戻り: xx データ // 戻り: xx データ
// 注意:次のアドレスの準備で呼ばれる ので、 // 注意:次のアドレスの準備で呼ばれる ので、
// リードされたらクリアなどは気をつける // リードされたらクリアなどは気をつける
// ( <20>¨vreg_ctr_after_read( u8 adrs ) )
u8 vreg_ctr_read( u8 adrs ) u8 vreg_ctr_read( u8 adrs )
{ {
static u16 rsub_temp; static u16 rsub_temp;
@ -428,7 +429,7 @@ u8 vreg_ctr_read( u8 adrs )
// ******************************************************** // ********************************************************
// I2C仮想レジスタから読まれて何かするレジスタ // I2C仮想レジスタから読まれて何かするレジスタ
void vreg_ctr_after_read( u8 adrs ) void vreg_ctr_after_read( u8 adrs, u8 data )
{ {
// 割り込みフラグはリードでクリア // 割り込みフラグはリードでクリア
switch( adrs ) switch( adrs )
@ -438,7 +439,9 @@ void vreg_ctr_after_read( u8 adrs )
case VREG_C_IRQ2: case VREG_C_IRQ2:
case VREG_C_IRQ3: case VREG_C_IRQ3:
case VREG_C_IRQ4: case VREG_C_IRQ4:
vreg_ctr[ adrs ] = 0; DI();
vreg_ctr[ adrs ] ^= data;
EI();
irq_readed = 1; irq_readed = 1;
break; break;

View File

@ -256,7 +256,7 @@ void vreg_ctr_init( );
void vreg_ctr_reset( ); void vreg_ctr_reset( );
void vreg_ctr_write( u8 adrs, u8 data ); void vreg_ctr_write( u8 adrs, u8 data );
u8 vreg_ctr_read( u8 phy_adrs ); u8 vreg_ctr_read( u8 phy_adrs );
void vreg_ctr_after_read( u8 adrs ); void vreg_ctr_after_read( u8 adrs, u8 data );
void set_irq( u8 irqreg, u8 irq_flg ); void set_irq( u8 irqreg, u8 irq_flg );
#endif #endif

View File

@ -58,12 +58,12 @@ Compilation complete, 0 error(s) and 0 warning(s) found.
Assembly complete, 0 error(s) and 0 warning(s) found. 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 -qvjl2w -sainter_asm -zpb -no led.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 -qvjl2w -sainter_asm -zpb -no led.c
led.c(108) : CC78K0R warning W0745: Expected function prototype led.c(108) : CC78K0R warning W0745: Expected function prototype
led.c(235) : CC78K0R warning W0401: Conversion may lose significant digits led.c(241) : CC78K0R warning W0401: Conversion may lose significant digits
led.c(240) : CC78K0R warning W0401: Conversion may lose significant digits led.c(246) : CC78K0R warning W0401: Conversion may lose significant digits
led.c(302) : CC78K0R warning W0401: Conversion may lose significant digits led.c(309) : CC78K0R warning W0401: Conversion may lose significant digits
led.c(361) : CC78K0R warning W0401: Conversion may lose significant digits led.c(368) : CC78K0R warning W0401: Conversion may lose significant digits
led.c(387) : CC78K0R warning W0401: Conversion may lose significant digits led.c(394) : CC78K0R warning W0401: Conversion may lose significant digits
led.c(550) : CC78K0R warning W0401: Conversion may lose significant digits led.c(557) : CC78K0R warning W0401: Conversion may lose significant digits
Compilation complete, 0 error(s) and 7 warning(s) found. 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\led.asm "C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\led.asm
Assembly complete, 0 error(s) and 0 warning(s) found. Assembly complete, 0 error(s) and 0 warning(s) found.
@ -88,7 +88,7 @@ vreg_ctr.c(254) : CC78K0R warning W0510: Pointer mismatch in function 'renge_tas
vreg_ctr.c(259) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add' vreg_ctr.c(259) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
vreg_ctr.c(288) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add' vreg_ctr.c(288) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
vreg_ctr.c(302) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add' vreg_ctr.c(302) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
vreg_ctr.c(411) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add' vreg_ctr.c(412) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
Compilation complete, 0 error(s) and 17 warning(s) found. Compilation complete, 0 error(s) and 17 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 "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. Assembly complete, 0 error(s) and 0 warning(s) found.
@ -170,9 +170,9 @@ Assembly complete, 0 error(s) and 0 warning(s) found.
Compilation complete, 0 error(s) and 0 warning(s) found. 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\task_status.asm "C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\task_status.asm
Assembly complete, 0 error(s) and 0 warning(s) found. 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 -gb0FEFBFFh -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 led.rel rtc.rel vreg_ctr.rel vreg_twl.rel adc.rel renge.rel accero.rel self_flash.rel sw.rel task_debug.rel task_misc.rel task_sys.rel pedo_alg_thre_det2.rel ini_VECT.rel task_status.rel "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" -gi10A84B295BE95C03D45Bh -pbsr_k0r.map -nkd -gb7EFFFFh -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 led.rel rtc.rel vreg_ctr.rel vreg_twl.rel adc.rel renge.rel accero.rel self_flash.rel sw.rel task_debug.rel task_misc.rel task_sys.rel pedo_alg_thre_det2.rel ini_VECT.rel task_status.rel
Link complete, 0 error(s) and 0 warning(s) found. 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 "C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\oc78k0r.exe" -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -o.\bsr.hex -ki -U0FFH -R bsr.lmf
Object Conversion Complete, 0 error(s) and 0 warning(s) found. Object Conversion Complete, 0 error(s) and 0 warning(s) found.
C:\WINDOWS\system32\cmd.exe /c ruby nec_s_2_bsrbin2.rb bsr.hex C:\WINDOWS\system32\cmd.exe /c ruby nec_s_2_bsrbin2.rb bsr.hex
nec_s_2_bsrbin2.rb:2: warning: variable $KCODE is no longer effective; ignored nec_s_2_bsrbin2.rb:2: warning: variable $KCODE is no longer effective; ignored

View File

@ -78,7 +78,7 @@ Symbol Type=OFF
Language=C Language=C
Kanji=SJIS Kanji=SJIS
[Source] [Source]
Geometry=25, 111, 803, 775 Geometry=136, 60, 803, 775
Window=Normal Window=Normal
DispStart=62 DispStart=62
CaretPos=63,0 CaretPos=63,0
@ -142,7 +142,7 @@ Accumulative=ON
[Assemble] [Assemble]
Geometry=282, 92, 968, 626 Geometry=282, 92, 968, 626
Window=Hide Window=Hide
DispStart=864338944 DispStart=864531456
CaretPos=0,0 CaretPos=0,0
Address1= Address1=
Address2= Address2=
@ -894,7 +894,17 @@ Manager=ON
Sort by=Unsort Sort by=Unsort
Detail=OFF Detail=OFF
Last Name= Last Name=
Count=0 Name0=vreg_003
Status0=W
Access Size0=B
Address Range0=EQ
Address0=<vreg_ctr[0x19]> - <>
Mask Address0=00000000
Data Range0=NC
Data0=<00000000> - <00000000>
Mask Data0=FFFFFFFF
Pass0=0001
Count=1
[Event Link] [Event Link]
Geometry=0, 0, 0, 0 Geometry=0, 0, 0, 0
Window=Hide Window=Hide
@ -910,7 +920,10 @@ Manager=ON
Sort by=Unsort Sort by=Unsort
Detail=OFF Detail=OFF
Last Name= Last Name=
Count=0 Name0=vreg_004
Element0=vreg_003
Set0=OFF
Count=1
[Trace] [Trace]
Geometry=0, 0, 0, 0 Geometry=0, 0, 0, 0
Window=Hide Window=Hide
@ -957,68 +970,65 @@ Detail=OFF
Last Name= Last Name=
Count=0 Count=0
[Variable] [Variable]
Geometry=835, -4, 441, 425 Geometry=835, -4, 441, 502
Window=Normal Window=Normal
Boundary=18088086 Boundary=18088086
0=.now_longhour,P,N,A,+,1 0=.timeout_sleep,P,N,A,+,1
1=.TDR06,P,S,A,+,1 1=.going_to_sleep,P,N,A,+,1
2=.LED_dim_status_sleep,.,N,A,+,1 2=.now_longhour,P,N,A,+,1
3=.frame_sleep,P,N,A,+,1 3=.TDR06,P,S,A,+,1
4=.PM20,B,S,A,+,1 4=.LED_dim_status_sleep,.,N,A,+,1
5=.P20,P,S,A,+,1 5=.frame_sleep,P,N,A,+,1
6=.pu20,B,S,A,+,1 6=.PM20,B,S,A,+,1
7=.work_vr_vol,.,N,A,+,1 7=.P20,P,S,A,+,1
8=.vol_data_ctr_tmp,P,N,A,+,1 8=.pu20,B,S,A,+,1
9=.vol_data_ctr,P,N,A,+,1 9=.work_vr_vol,.,N,A,+,1
10=.last_modifyer,P,N,A,+,1 10=.vol_data_ctr_tmp,P,N,A,+,1
11=.sent_index,P,N,A,+,1 11=.vol_data_ctr,P,N,A,+,1
12=.vreg_ctr,P,N,A,+,1 12=.last_modifyer,P,N,A,+,1
13=.system_status,.,N,A,+,1 13=.sent_index,P,N,A,+,1
14=.battery_manufacturer,P,N,A,+,1 14=.vreg_ctr,P,N,A,+,1
15=.bt_comp,.,N,A,+,1 15=.P1.5,P,S,A,+,1
16=.ADM,H,S,A,+,1 16=.TDR07,P,S,A,+,1
17=.ADCRH,P,S,A,+,1 17=.info_led_override,P,N,A,+,1
18=.adc_data,P,N,A,+,1 18=.system_status,.,N,A,+,1
19=.adc_raw_vol,P,N,A,+,1 19=.battery_manufacturer,P,N,A,+,1
20=.new_val,P,N,A,+,1 Line=20
21=.work_vr_vol,.,N,A,+,1
22=.ADS,P,S,A,+,1
Line=23
[Quick Watch] [Quick Watch]
0=adc_data,P,A,1 0=ADCRH,P,A,1
1=work_vr_vol,P,A,1 1=ADM0,P,A,1
2=vol_data_ctr_tmp,P,A,1 2=ADM,P,A,1
3=vol_data_ctr,P,A,1 3=pu20,B,A,1
4=adc_raw_vol,P,A,1 4=P20,P,A,1
5=ADCRH,P,A,1 5=PM20,P,A,1
6=ADM0,P,A,1 6=pu6,P,A,1
7=ADM,P,A,1 7=frame_sleep,P,A,1
8=pu20,B,A,1 8=LED_dim_status_sleep,P,A,1
9=P20,P,A,1 9=TDR06,P,A,1
10=PM20,P,A,1 10=now_longhour,P,A,1
11=pu6,P,A,1 11=going_to_sleep,P,A,1
12=frame_sleep,P,A,1 12=timeout_sleep,P,A,1
13=LED_dim_status_sleep,P,A,1 13=info_led_override,P,A,1
14=TDR06,P,A,1 14=TDR07,P,A,1
15=now_longhour,P,A,1 15=P1.5,P,A,1
[Software Break] [Software Break]
Geometry=869, 649, 445, 260 Geometry=869, 649, 445, 260
Window=Normal Window=Normal
Width=150 30 200 100 Width=150 30 200 100
Name0=Swb00002 Name0=Swb00002
Address0=adc.c#_adc_filter+0x70 Address0=i2c_ctr.c#_int_iic_ctr+0x57
Window0=ASM Window0=ASM
Status0=ON Status0=ON
Name1=Swb00003 Name1=Swb00001
Address1=adc.c#_adc_filter+0x89 Address1=sw.c#_tsk_sw+0x4c
Window1=ASM Window1=ASM
Status1=ON Status1=ON
Name2=Swb00001 Name2=Swb00005
Address2=led.c#_led_pow_sleep+0x15 Address2=sw.c#_tsk_sw+0x65
Window2=ASM Window2=ASM
Status2=OFF Status2=ON
Name3=Swb00004 Name3=Swb00003
Address3=pedo_alg_thre_det2.c#_hosu_increment+0x68 Address3=sw.c#_tsk_sw+0x3a
Window3=ASM Window3=ASM
Status3=ON Status3=ON
Count=4 Count=4

View File

@ -36,82 +36,6 @@ TargetFile=0
[BuildMode5] [BuildMode5]
BuildModeName=BSR_WM0 BuildModeName=BSR_WM0
TargetFile=0 TargetFile=0
[Options.OC78K0R 0]
Version=100
O0=.\bsr.hex
O1=bsr.hex
UC=1
UN=FF
UST=
USZ=
K=1
ZF=0
S=1
E=0
CommandFile=0
[Options.OC78K0R 1]
Version=100
UC=1
UN=FF
UST=
USZ=
K=1
ZF=0
S=1
E=0
CommandFile=0
[Options.OC78K0R 2]
Version=100
O0=.\bsr.hex
O1=bsr.hex
UC=0
UN=FF
UST=
USZ=
K=0
ZF=0
S=1
E=0
CommandFile=0
[Options.OC78K0R 3]
Version=100
O0=.\bsr.hex
O1=bsr.hex
UC=1
UN=FF
UST=
USZ=
K=1
ZF=0
S=1
E=0
CommandFile=0
[Options.OC78K0R 4]
Version=100
O0=.\bsr.hex
O1=bsr.hex
UC=1
UN=FF
UST=
USZ=
K=1
ZF=0
S=1
E=0
CommandFile=0
[Options.OC78K0R 5]
Version=100
O0=.\bsr.hex
O1=bsr.hex
UC=1
UN=FF
UST=
USZ=
K=1
ZF=0
S=1
E=0
CommandFile=0
[Options.RA78K0R 0] [Options.RA78K0R 0]
Version=100 Version=100
G=1 G=1
@ -754,6 +678,84 @@ Include35=magic.h
[BuildBefore-AfterCmd] [BuildBefore-AfterCmd]
Before1=touch magic.c Before1=touch magic.c
After1=ruby nec_s_2_bsrbin2.rb bsr.hex After1=ruby nec_s_2_bsrbin2.rb bsr.hex
[Options.OC78K0R 0]
Version=100
O0=.\bsr.hex
O1=bsr.hex
UC=1
UN=FF
UST=
USZ=
K=1
ZF=0
S=1
E=0
CommandFile=0
[Options.OC78K0R 1]
Version=100
UC=1
UN=FF
UST=
USZ=
K=1
ZF=0
S=1
E=0
CommandFile=0
[Options.OC78K0R 2]
Version=100
O0=.\bsr.hex
O1=bsr.hex
UC=1
UN=FF
UST=
USZ=
K=0
ZF=0
S=1
E=0
Etcetera0=-U0FFH -R
Etcetera1=-r
CommandFile=0
[Options.OC78K0R 3]
Version=100
O0=.\bsr.hex
O1=bsr.hex
UC=1
UN=FF
UST=
USZ=
K=1
ZF=0
S=1
E=0
CommandFile=0
[Options.OC78K0R 4]
Version=100
O0=.\bsr.hex
O1=bsr.hex
UC=1
UN=FF
UST=
USZ=
K=1
ZF=0
S=1
E=0
CommandFile=0
[Options.OC78K0R 5]
Version=100
O0=.\bsr.hex
O1=bsr.hex
UC=1
UN=FF
UST=
USZ=
K=1
ZF=0
S=1
E=0
CommandFile=0
[Options.LK78K0R 0] [Options.LK78K0R 0]
Version=100 Version=100
O0=bsr_k0r.lmf O0=bsr_k0r.lmf
@ -838,12 +840,12 @@ G=1
E=0 E=0
E0=flash.elk E0=flash.elk
E1=a.elk E1=a.elk
GO=1 GO=0
GOValue=85 GOValue=85
GOStart=FC00 GOStart=FC00
GOSizeValue=1024 GOSizeValue=1024
GI=1 GI=1
GIValue=FFFFFFFFFFFFFFFFFFFF GIValue=10A84B295BE95C03D45B
CCZA=0 CCZA=0
MemInfoCheck=1 MemInfoCheck=1
P=1 P=1
@ -853,7 +855,7 @@ P2=flash.map
P3=a.map P3=a.map
MI=0 MI=0
GB=1 GB=1
GBValue=FEFBFF GBValue=7EFFFF
KM=1 KM=1
KD=0 KD=0
KP=0 KP=0

View File

@ -1,21 +1,19 @@
[ProjectManager] [ProjectManager]
FrameMax=1 FrameMax=1
FrameX=0 FrameX=152
FrameY=0 FrameY=55
FrameCX=1299 FrameCX=1299
FrameCY=1044 FrameCY=1044
OpenFile1=ProjectWindow OpenFile1=ProjectWindow
PrjPos=0,2,754,3,253 PrjPos=0,2,754,3,253
OpenFile2=main.c,0,125,195,1104,832,35,73,34,0 OpenFile2=task_sys.c,0,220,220,1464,977,0,137,31,0
OpenFile3=task_sys.c,0,220,220,1464,977,0,137,31,0 OpenFile3=task_misc.c,0,198,198,1166,823,48,91,48,0
OpenFile4=task_misc.c,0,198,198,1166,823,48,91,48,0 OpenFile4=vreg_ctr.c,0,367,300,1611,1057,8,109,28,0
OpenFile5=pedo_alg_thre_det2.c,0,220,220,1188,845,0,58,0,0 OpenFile5=pedo_alg_thre_det2.c,0,220,220,1188,845,0,434,0,0
OpenFile6=led.c,0,242,242,1210,867,0,348,0,0 OpenFile6=adc.c,0,264,264,1508,1021,9,226,9,0
OpenFile7=adc.c,0,264,264,1508,1021,2,100,5,0 OpenFile7=OutputWindow
OpenFile8=self_flash.c,0,176,176,1144,801,0,348,0,0 OutputPos=0,21,966,690,1552
OpenFile9=config.h,0,294,66,1538,823,0,37,0,0 OpenFile8=config.h,0,88,228,1332,985,28,17,0,0
OpenFile10=OutputWindow
OutputPos=0,36,981,694,1556
ActivePRJ=yav_mcu_bsr.prj ActivePRJ=yav_mcu_bsr.prj
[ProjectWindow] [ProjectWindow]
ProjectWindowDispType=0 ProjectWindowDispType=0

View File

@ -12,7 +12,7 @@ T=4c3d4c95
8=reboot.h 8=reboot.h
9=magic.h 9=magic.h
[pm.c] [pm.c]
T=4c3cf836 T=4c3d87c0
1=incs.h 1=incs.h
2=adc.h 2=adc.h
3=led.h 3=led.h
@ -22,7 +22,7 @@ T=4c3cf836
7=..\..\..\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h 7=..\..\..\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h
8=fsl_user.h 8=fsl_user.h
[i2c_ctr.c] [i2c_ctr.c]
T=4c072cf1 T=4c3e9a73
1=config.h 1=config.h
2=incs.h 2=incs.h
[main.c] [main.c]
@ -36,7 +36,7 @@ T=4c3c0229
7=adc.h 7=adc.h
8=pool.h 8=pool.h
[magic.c] [magic.c]
T=4c3d4d32 T=4c3ecca8
1=config.h 1=config.h
[WDT.c] [WDT.c]
T=4bf0d1e1 T=4bf0d1e1
@ -52,14 +52,14 @@ T=4c29c700
3=i2c_twl_defs.h 3=i2c_twl_defs.h
4=i2c_twl.h 4=i2c_twl.h
[led.c] [led.c]
T=4c3d4d20 T=4c3ec648
1=incs.h 1=incs.h
2=led.h 2=led.h
[rtc.c] [rtc.c]
T=4c3c5fb0 T=4c3db81b
1=incs.h 1=incs.h
[vreg_ctr.c] [vreg_ctr.c]
T=4c3d0fee T=4c3e964e
1=incs.h 1=incs.h
2=vreg_ctr.h 2=vreg_ctr.h
3=rtc.h 3=rtc.h
@ -77,7 +77,7 @@ T=4c3af447
4=vreg_twl.h 4=vreg_twl.h
5=vreg_ctr.h 5=vreg_ctr.h
[adc.c] [adc.c]
T=4c3d4cd9 T=4c3dadd9
1=incs.h 1=incs.h
2=adc.h 2=adc.h
3=pm.h 3=pm.h
@ -93,7 +93,7 @@ T=4c318e0f
6=user_define.h 6=user_define.h
7=bsr_system.h 7=bsr_system.h
[accero.c] [accero.c]
T=4c3d5398 T=4c3d767c
1=config.h 1=config.h
2=incs.h 2=incs.h
3=..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h 3=..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h
@ -107,7 +107,7 @@ T=4c3d4266
6=magic.h 6=magic.h
7=pm.h 7=pm.h
[sw.c] [sw.c]
T=4c3ad20e T=4c3ec9e4
1=incs.h 1=incs.h
2=i2c_twl.h 2=i2c_twl.h
3=i2c_ctr.h 3=i2c_ctr.h
@ -130,7 +130,7 @@ T=4c3c5c5b
6=i2c_mcu.h 6=i2c_mcu.h
7=led.h 7=led.h
[task_sys.c] [task_sys.c]
T=4c3d1dac T=4c3ea0de
1=incs.h 1=incs.h
2=i2c_twl.h 2=i2c_twl.h
3=i2c_ctr.h 3=i2c_ctr.h
@ -142,7 +142,7 @@ T=4c3d1dac
9=adc.h 9=adc.h
10=self_flash.h 10=self_flash.h
[pedo_alg_thre_det2.c] [pedo_alg_thre_det2.c]
T=4c36811e T=4c3da657
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
3=accero.h 3=accero.h
@ -175,11 +175,11 @@ T=4c119cde
T=4c075832 T=4c075832
1=config.h 1=config.h
[config.h] [config.h]
T=4c3d4d1d T=4c3eccb0
[user_define.h] [user_define.h]
T=4c3d1d39 T=4c3d838c
[bsr_system.h] [bsr_system.h]
T=4c3ac965 T=4c3ec384
[renge\renge.h] [renge\renge.h]
T=4c318e0f T=4c318e0f
1=renge\renge_defs.h 1=renge\renge_defs.h
@ -190,7 +190,7 @@ T=4c073c5a
T=4c284e89 T=4c284e89
1=renge\renge_defs.h 1=renge\renge_defs.h
[vreg_ctr.h] [vreg_ctr.h]
T=4c3af447 T=4c3e964e
1=config.h 1=config.h
[vreg_twl.h] [vreg_twl.h]
T=4c072cf1 T=4c072cf1
@ -205,7 +205,7 @@ T=4bf0d1e0
[i2c_ctr.h] [i2c_ctr.h]
T=4bf0d1e1 T=4bf0d1e1
[pm.h] [pm.h]
T=4c3c0229 T=4c3d838c
[rtc.h] [rtc.h]
T=4bf0d1e1 T=4bf0d1e1
[reboot.h] [reboot.h]
@ -248,7 +248,7 @@ T=4c3d4113
[i2c_twl.h] [i2c_twl.h]
T=4bf4e29e T=4bf4e29e
[sw.h] [sw.h]
T=4c3ad191 T=4c3eb00f
1=config.h 1=config.h
[self_flash.h] [self_flash.h]
T=4bf0d1e0 T=4bf0d1e0