From 4ef33818d99fd2568177b4ad62e2bfbdbd1fa930 Mon Sep 17 00:00:00 2001 From: fujita_ryohei Date: Wed, 9 Sep 2009 12:55:38 +0000 Subject: [PATCH] =?UTF-8?q?PMIC=20CTR=E3=81=AB=E5=AF=BE=E5=BF=9C=E3=80=80?= =?UTF-8?q?=E4=BB=96=20=E3=80=80=E4=B8=AD=E9=80=94=E5=8D=8A=E7=AB=AF?= =?UTF-8?q?=E3=81=A7=E3=81=AF=E3=81=82=E3=82=8B=E3=81=8C=E3=81=84=E3=81=A3?= =?UTF-8?q?=E3=81=9F=E3=82=93=E3=83=90=E3=83=83=E3=82=AF=E3=82=A2=E3=83=83?= =?UTF-8?q?=E3=83=97=E3=82=92=E3=81=8B=E3=81=AD=E3=81=A6=E3=82=B3=E3=83=9F?= =?UTF-8?q?=E3=83=83=E3=83=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@8 013db118-44a6-b54f-8bf7-843cb86687b1 --- trunk/accero.c | 20 +- trunk/accero.h | 2 +- trunk/adc.c | 59 +- trunk/adc.h | 4 +- trunk/bsr_mcu.dr | 2 +- trunk/bsr_system.h | 3 +- trunk/config.h | 11 +- trunk/i2c_ctr.c | 9 +- trunk/i2c_mcu.c | 2 +- trunk/i2c_twl.c | 6 +- trunk/ini_VECT.c | 4 +- trunk/led.c | 4 +- trunk/led.h | 2 +- trunk/loader.c | 10 +- trunk/pm.c | 132 +++-- trunk/pm.h | 12 +- trunk/renge/renge.c | 32 +- trunk/renge/renge_defs.h | 4 +- trunk/renge/renge_task_intval.h | 22 +- trunk/rtc.c | 4 +- trunk/self_flash.c | 4 - trunk/tasks.c | 102 +++- trunk/tasks_sys.c | 80 ++- trunk/user_define.h | 41 +- trunk/vreg_ctr.c | 31 +- trunk/vreg_ctr.h | 73 ++- trunk/vreg_twl.c | 6 +- trunk/vreg_twl.h | 5 - trunk/yav_mcu_bsr.plg | 8 - trunk/yav_mcu_bsr.prj | 995 ++++++++++++++++---------------- trunk/yav_mcu_bsr.prk | 30 +- trunk/yav_mcu_bsr.sdb | 70 +-- 32 files changed, 993 insertions(+), 796 deletions(-) diff --git a/trunk/accero.c b/trunk/accero.c index 9cd4dce..2f0296b 100644 --- a/trunk/accero.c +++ b/trunk/accero.c @@ -61,8 +61,6 @@ u8 hosu_mode = 0; ・自動歩数計とかでも結局 ======================================================== */ task_status_immed tsk_cbk_accero(){ // (疑似)isrから登録されます - static u8 sequence; - u8* dest_adrs; if( system_status.pwr_state == ON ){ @@ -70,7 +68,9 @@ task_status_immed tsk_cbk_accero(){ // iic_mcu_read( IIC_SLA_ACCEL, ( ACC_REG_X | 0x80 ), 6, &vreg_ctr[VREG_C_ACC_XL] ); if(( vreg_ctr[ VREG_C_ACC_CONFIG ] & VREG_BITMASK_ACC_CONF1_ACQ ) == 1 ){ vreg_ctr[ VREG_C_IRQ1 ] |= REG_BIT_ACC_DAT_RDY; - IRQ0_ast; + if( ( vreg_ctr[ VREG_C_IRQ_MASK1 ] & REG_BIT_ACC_DAT_RDY ) != 0 ){ + IRQ0_ast; + } } } @@ -96,7 +96,9 @@ task_status_immed acc_read(){ vreg_ctr[ VREG_C_ACC_W_BUF ] = iic_mcu_read_a_byte( IIC_SLA_ACCEL, vreg_ctr[VREG_C_ACC_R_ADRS] ); // vreg_ctr[ VREG_C_ACC_R_BUF ] = iic_mcu_read_a_byte( IIC_SLA_ACCEL, vreg_ctr[VREG_C_ACC_R_ADRS] ); vreg_ctr[ VREG_C_IRQ1 ] |= REG_BIT_ACC_ACK; - IRQ0_ast; + if( ( vreg_ctr[ VREG_C_IRQ_MASK1 ] & REG_BIT_ACC_ACK ) != 0 ){ + IRQ0_ast; + } return( ERR_SUCCESS ); } @@ -108,7 +110,9 @@ task_status_immed acc_read(){ task_status_immed acc_write(){ iic_mcu_write_a_byte( IIC_SLA_ACCEL, vreg_ctr[VREG_C_ACC_W_ADRS], vreg_ctr[VREG_C_ACC_W_BUF] ); vreg_ctr[ VREG_C_IRQ1 ] |= REG_BIT_ACC_ACK; - IRQ0_ast; + if( ( vreg_ctr[ VREG_C_IRQ_MASK1 ] & REG_BIT_ACC_ACK ) != 0 ){ + IRQ0_ast; + } return( ERR_SUCCESS ); } @@ -119,9 +123,7 @@ task_status_immed acc_write(){ todo 他のモードだったら止めたり、復帰させたり 割り込みルーチンなどでカウント判定が必要 ========================================================*/ -task_status_immed acc_set(){ - u8 temp; - u8 err; +task_status_immed acc_hosu_set(){ u8 str_send_buf[4]; iic_mcu_read_a_byte( IIC_SLA_ACCEL, ACC_REG_WHOAMI ); @@ -147,7 +149,7 @@ task_status_immed acc_set(){ str_send_buf[0] = ( ACC_BITS_PM_LP10 << ACC_bP_PM0 | ACC_BITS_ALL_AXIS_ON ); } } - err = iic_mcu_write( IIC_SLA_ACCEL, ( ACC_REG_CTRL1 | 0x80 ), 4, str_send_buf ); + iic_mcu_write( IIC_SLA_ACCEL, ( ACC_REG_CTRL1 | 0x80 ), 4, str_send_buf ); return( ERR_SUCCESS ); } diff --git a/trunk/accero.h b/trunk/accero.h index fcfcfbe..ea552e2 100644 --- a/trunk/accero.h +++ b/trunk/accero.h @@ -6,6 +6,6 @@ task_status_immed tsk_cbk_accero(); -task_status_immed acc_set(); +task_status_immed acc_hosu_set(); #endif diff --git a/trunk/adc.c b/trunk/adc.c index f74eb2a..6c0600c 100644 --- a/trunk/adc.c +++ b/trunk/adc.c @@ -9,8 +9,6 @@ #include "led.h" -#include - bit adc_updated; @@ -29,7 +27,7 @@ bit adc_updated;  タスク起動時、レジスタには前回の取り込み値が入っています。 ======================================================== */ task_interval tsk_adc(){ - static u8 old_3ddepth; + static u8 old_tune; static u8 old_sndvol; static u8 sndvol_codec; // static u8 bt_temp_old; @@ -39,54 +37,51 @@ task_interval tsk_adc(){ if( adc_updated ){ #if 0 - 3D depth と Vol の変化では割り込みを入れない - // 3D - if( abs( old_3ddepth - vreg_ctr[ VREG_C_3D_DEPTH ] ) >= 4 ){ - old_3ddepth = vreg_ctr[ VREG_C_3D_DEPTH ]; - vreg_ctr[ VREG_C_IRQ0 ] |= REG_BIT_VR_3D_CHANGE; - IRQ0_ast; + tune と Vol の変化では割り込みを入れない + // tune + if( abs( old_tune - vreg_ctr[ VREG_TUNE ] ) >= 4 ){ + old_tune = vreg_ctr[ VREG_TUNE ]; + vreg_ctr[ VREG_C_IRQ0 ] |= REG_BIT_VR_TUNE_CHANGE; + if( ( vreg_ctr[ VREG_C_IRQ_MASK0 ] & REG_BIT_VR_TUNE_CHANGE ) != 0 ){ + IRQ0_ast; + } } // Volume if( abs( old_sndvol - vreg_ctr[ VREG_C_SND_VOL ] ) >= 4 ){ old_sndvol = vreg_ctr[ VREG_C_SND_VOL ]; vreg_ctr[ VREG_C_IRQ0 ] |= REG_BIT_VR_SNDVOL_CHANGE; - IRQ0_ast; + if( ( vreg_ctr[ VREG_C_IRQ_MASK0 ] & REG_BIT_VR_SNDVOL_CHANGE ) != 0 ){ + IRQ0_ast; + } } #endif // codecに伝える if( vreg_ctr[ VREG_C_SND_VOL ] != sndvol_codec ){ sndvol_codec = vreg_ctr[ VREG_C_SND_VOL ]; -#ifdef _PMIC_TWL_ - { - u8 temp; - - do{ - temp = iic_mcu_write_a_byte( IIC_SLA_DCP, 0x08, 0x80 ); // ACR←0x80 揮発モードへ - temp = iic_mcu_write_a_byte( IIC_SLA_DCP, 0, sndvol_codec ); - NOP(); - }while( temp != ERR_SUCCESS ); - } +#ifndef _CODEC_CTR_ + iic_mcu_write_a_byte( IIC_SLA_DCP, 0, sndvol_codec ); #else - ほげほげ; + なんとかする + iic_mcu_write_a_byte( IIC_SLA_CODEC, REG_ADRS_CODEC_VOL, sndvol_codec ); #endif } - adc_updated = 0; + adc_updated = 0; } ADCEN = 1; ADM = 0b00011011; // セレクトモード、章圧、fCLK/6 ///ここから ADPC = 0x06; // ADCポートのセレクト - ADS = ADC_SEL_3D; + ADS = ADC_SEL_TUNE; // NOP(); ADCS = 1; // AD開始。 /// ここまでに、1us以上開ける ADIF = 0; ADMK = 0; - LED_duty_3D = 0x03FC - ((u16)( vreg_ctr[ VREG_C_3D_DEPTH ] ) << 2); + LED_duty_TUNE = 0x03FC - ((u16)( vreg_ctr[ VREG_C_TUNE ] ) << 2); return( 8 ); } } @@ -123,17 +118,17 @@ static u8 getmean3( u8* hist ){   一通り終わったら止める ======================================================== */ __interrupt void int_adc(){ - static u8 hist_3d_dep[3]; + static u8 hist_tune[3]; static u8 hist_snd_vol[3]; static u8 hist_bt_temp[3]; static u8 index; u8 temp; - EI(); + EI(); switch( ADS ){ - case( ADC_SEL_3D ): - hist_3d_dep[ index ] = ADCRH; - vreg_ctr[ VREG_C_3D_DEPTH ] = getmean3( hist_3d_dep ); + case( ADC_SEL_TUNE ): + hist_tune[ index ] = ADCRH; + vreg_ctr[ VREG_C_TUNE ] = getmean3( hist_tune ); break; case( ADC_SEL_VOL ): @@ -147,7 +142,7 @@ __interrupt void int_adc(){ case( ADC_SEL_BATT_TEMP ): hist_bt_temp[ index ] = ADCRH; - raw_adc_temperature = getmean3( hist_3d_dep ); + raw_adc_temperature = getmean3( hist_tune ); renge_task_immed_add( PM_bt_temp_update ); break; @@ -173,8 +168,8 @@ __interrupt void int_adc(){ /* ======================================================== tsk_adcと競合することを考慮していません。 ======================================================== */ -u16 get_adc( u8 ch ){ - u16 temp; +u8 get_adc( u8 ch ){ + u8 temp; ADMK = 1; ADIF = 0; diff --git a/trunk/adc.h b/trunk/adc.h index 5b609cc..abb6451 100644 --- a/trunk/adc.h +++ b/trunk/adc.h @@ -3,13 +3,13 @@ #include "jhl_defs.h" -#define ADC_SEL_3D 0x06 +#define ADC_SEL_TUNE 0x06 #define ADC_SEL_VOL 0x07 #define ADC_SEL_BATT_TEMP 0x08 #define ADC_SEL_BATT_DET 0x09 -u16 get_adc( u8 ch ); +u8 get_adc( u8 ch ); #endif diff --git a/trunk/bsr_mcu.dr b/trunk/bsr_mcu.dr index a7f8543..d787298 100644 --- a/trunk/bsr_mcu.dr +++ b/trunk/bsr_mcu.dr @@ -4,7 +4,7 @@ MEMORY BCL0:(00000H, 01000H ) ;MEMORY BCL1:(01000H, 01000H ) ; バックアップ領域 MEMORY ROM :(02000H, 02800H ) ;MEMORY ROM_:(04800H, 02800H ) ; バックアップ領域 -MEMORY FSL :(07000H, 00C00H ) +;MEMORY FSL :(07000H, 00C00H ) ; 過去の名残。いらない ;MEMORY OCD :(0FC00H, 00400H ) ; OCDが使っているらしい diff --git a/trunk/bsr_system.h b/trunk/bsr_system.h index de45195..29864db 100644 --- a/trunk/bsr_system.h +++ b/trunk/bsr_system.h @@ -10,7 +10,8 @@ enum pwr_state_{ ON_TRIG, ON, SLEEP_TRIG, - SLEEP + SLEEP, +// WAKE, }; diff --git a/trunk/config.h b/trunk/config.h index f5ef71c..0a20d89 100644 --- a/trunk/config.h +++ b/trunk/config.h @@ -4,11 +4,12 @@ #define _debug_ #define MCU_VER_MAJOR 0; -#define MCU_VER_MINOR 2; +#define MCU_VER_MINOR 3; #define _MODEL_TEG2_ //#define _MODEL_WM0_ +//#define _MODEL_TS0_ //#define _MODEL_CTR_ @@ -25,10 +26,18 @@ #define _MCU_BSR_ #endif + +#ifdef _MODEL_TS0_ +#define _PMIC_CTR_ +#define _MCU_BSR_ +#endif + + #ifdef _MODEL_CTR_ #define _PMIC_CTR_ #define _MCU_BSR_ #define _CODEC_CTR_ #endif + #endif diff --git a/trunk/i2c_ctr.c b/trunk/i2c_ctr.c index c68ded1..34aafa8 100644 --- a/trunk/i2c_ctr.c +++ b/trunk/i2c_ctr.c @@ -9,8 +9,7 @@ #ifdef _MCU_BSR_ - -#ifdef _MODEL_WM0_ +//#ifdef _MODEL_WM0_ // ワーキングモデルはI2Cが逆 #define ACKD ACKD1 @@ -40,7 +39,7 @@ #define WTIM WTIM1 -#else +//#else #define ACKD ACKD0 #define ACKE ACKE0 @@ -68,7 +67,7 @@ #define WREL WREL0 #define WTIM WTIM0 -#endif +//#endif #endif @@ -170,7 +169,7 @@ __interrupt void int_iic_ctr(){ __interrupt void int_iic_ctr(){ static u8 state = 0; static u8 reg_adrs; - static u8 reg_adrs_internal; +// static u8 reg_adrs_internal; static u8 trx_buf; // EI(); diff --git a/trunk/i2c_mcu.c b/trunk/i2c_mcu.c index 770690f..5ec67cc 100644 --- a/trunk/i2c_mcu.c +++ b/trunk/i2c_mcu.c @@ -9,7 +9,7 @@ #pragma nop #pragma inline // memcpy()をインライン展開する -#include "incs_loader.h" +#include "incs.h" #include "i2c_mcu.h" diff --git a/trunk/i2c_twl.c b/trunk/i2c_twl.c index 6e67bbe..06b60fd 100644 --- a/trunk/i2c_twl.c +++ b/trunk/i2c_twl.c @@ -10,7 +10,7 @@ extern u8 vreg_twl[]; #ifdef _MCU_BSR_ -#ifdef _MODEL_WM0_ +//#ifdef _MODEL_WM0_ // ワーキングモデルはI2Cが逆 #define ACKD ACKD0 @@ -39,7 +39,7 @@ extern u8 vreg_twl[]; #define WREL WREL0 #define WTIM WTIM0 -#else +//#else #define ACKD ACKD1 #define ACKE ACKE1 @@ -67,7 +67,7 @@ extern u8 vreg_twl[]; #define WREL WREL1 #define WTIM WTIM1 -#endif +//#endif #endif #ifndef _MCU_BSR_ diff --git a/trunk/ini_VECT.c b/trunk/ini_VECT.c index a8041b0..b834f6c 100644 --- a/trunk/ini_VECT.c +++ b/trunk/ini_VECT.c @@ -40,13 +40,15 @@ #pragma interrupt INTIICA int_iic_ctr // CTR側 #else -#ifdef _MODEL_WM0_ +//#ifdef _MODEL_WM0_ #pragma interrupt INTIICA0 int_iic_twl // テレコのWM0仕様 #pragma interrupt INTIICA1 int_iic_ctr +/* #else #pragma interrupt INTIICA0 int_iic_ctr // CTR側 #pragma interrupt INTIICA1 int_iic_twl // TWL側 #endif +*/ #endif diff --git a/trunk/led.c b/trunk/led.c index 68a9f12..0ddcd88 100644 --- a/trunk/led.c +++ b/trunk/led.c @@ -203,7 +203,7 @@ static task_interval led_pow_normal(){ ======================================================== */ static task_interval led_pow_hotaru(){ static u8 state; - static u8 delay; +// static u8 delay; static u16 blue_to; static u16 red_to; u8 dirty; @@ -282,7 +282,7 @@ void set_LED_cam(){ // LED_Cam TO02 未 // LED_Charge 5     →PM LED_Wifi,2 3, P24 - LED_3D 4 + LED_TUNE 4 ======================================================== */ task_interval tsk_led_wifi(){ // WiFi LED // diff --git a/trunk/led.h b/trunk/led.h index a05681c..774fb8d 100644 --- a/trunk/led.h +++ b/trunk/led.h @@ -8,7 +8,7 @@ #define LED_duty_WiFi TDR03 #define LED_duty_CHARGE TDR05 #define LED_duty_CAM TDR02 -#define LED_duty_3D TDR01 +#define LED_duty_TUNE TDR01 void LED_init(); void LED_stop(); diff --git a/trunk/loader.c b/trunk/loader.c index 6a72216..46f4c19 100644 --- a/trunk/loader.c +++ b/trunk/loader.c @@ -191,15 +191,23 @@ void hdwinit(void){ // PU7 = 0b00011001; PU12 = 0b00000000; PU14 = 0b00000000; -#ifndef_MCU_KE3_ +#ifndef _MCU_KE3_ PU20 = 0b00000000; #endif +#ifdef _MCU_KE3_ PM0 = 0b00000000; // 0で出力 +#else + PM0 = 0b00000001; // BSRマイコンでは、reset1は監視のみになる。 +#endif PM1 = 0b00000000; PM2 = 0b11101001; PM3 = 0b00000001; // P31,32は簡易I2C +#ifdef _PMIC_CTR_ + PM4 = 0b00000111; +#else PM4 = 0b00001011; +#endif PM5 = 0b00000011; PM6 = 0b00000000; // I2CのラインがL出力になってしまうが、システムがOFFなのでかまわない PM7 = 0b00011111; diff --git a/trunk/pm.c b/trunk/pm.c index 73e3bff..413b309 100644 --- a/trunk/pm.c +++ b/trunk/pm.c @@ -37,7 +37,7 @@ u16 BT_PANA_TEMPCODN = 3.90*8; // ======================================================== -u16 raw_adc_temperature; +u8 raw_adc_temperature; u8 starting_rcomp; u16 temp_co_up; u16 temp_co_dn; @@ -207,7 +207,6 @@ err PM_reset(){ ======================================================== */ void PM_init(){ u8 temp; - u8 result; u8 BT_GAUGE_UNLOCK_KEY[2] = { 0x4A, 0x57 }; u8 BT_GAUGE_QUICK_START[2] = { 0x40, 0x00 }; @@ -229,8 +228,6 @@ void PM_init(){ BT_DET_P = 0; - - switch( temp ){ // case( BT_VENDER_PANA ): default: @@ -274,12 +271,11 @@ task_status_immed PM_bt_temp_update(){ 村田 T[℃] = 81.48 - 111.97 x ratio TDK T = 81.406 - 111.81 x ratio */ - vreg_ctr[ VREG_C_BT_TEMP ] = (u8)( (s16)(( 163 - ( 224 * ( raw_adc_temperature )) ) / 2 ) >> 8 ); + vreg_ctr[ VREG_C_BT_TEMP ] = (u8)( (s16)(( 163 - ( 224 * raw_adc_temperature ) ) / 2 ) >> 8 ); // 時々/大きく変化があったら書きにゆく if(( abs(vreg_ctr[ VREG_C_BT_TEMP ] - temp_old ) > 3 ) || ( count == 0 )){ - count += 1; if( (s8)vreg_ctr[ VREG_C_BT_TEMP ] > 20 ){ newrcomp = -(( (s16)vreg_ctr[ VREG_C_BT_TEMP ] - 20 ) * temp_co_up ); }else{ @@ -295,7 +291,10 @@ Else NewRCOMP = StartingRCOMP End If */ - return( iic_mcu_write( IIC_SLA_BT_GAUGE, BT_BT_PARAM_PANA_RCOMP_ADRS, 2, newrcomp ) ); + if( iic_mcu_write( IIC_SLA_BT_GAUGE, BT_BT_PARAM_PANA_RCOMP_ADRS, 2, newrcomp ) == ERR_SUCCESS ){ + temp_old = vreg_ctr[ VREG_C_BT_TEMP ]; + } + count += 1; } return( ERR_SUCCESS ); @@ -395,6 +394,33 @@ err PM_LCD_off(){ } #endif +/* ======================================================== + ↑の、I2Cコマンドでの実行の場合の為の、ラッパー的な物 + 実仕様上は大丈夫だろうけど、同じ関数がキューに2つ以上 + 乗らないようにしてあるし、ばらばらにしておく。 + ======================================================== */ +task_status_immed tski_PM_LCD_on(){ + PM_LCD_on(); + return( ERR_FINISED ); +} + +task_status_immed tski_PM_BL_on(){ + PM_BL_on(); + return( ERR_FINISED ); +} + +task_status_immed tski_PM_BL_off(){ + PM_BL_off(); + return( ERR_FINISED ); +} + +task_status_immed tski_PM_LCD_off(){ + PM_LCD_off(); + return( ERR_FINISED ); +} + + + @@ -415,29 +441,42 @@ err PM_sys_pow_on(){ BT_TEMP_P = 1; vreg_ctr[ VREG_C_BT_TEMP ] = get_adc( ADC_SEL_BATT_TEMP ); BT_TEMP_P = 0; - temp = vreg_ctr[ VREG_C_BT_TEMP ]; - PM_set_batt_temp( temp ); // 温度のtemp。 残量ICに行きます + PM_bt_temp_update(); // 温度のtemp。 残量ICに行きます // 残量チェック - if( PM_get_batt_left() < 0 ){ + vreg_ctr[ VREG_C_BT_REMAIN ] = PM_get_batt_left(); + vreg_ctr[ VREG_C_BT_REMAIN ] = 200; + if( vreg_ctr[ VREG_C_BT_REMAIN ] < 0 ){ return( 1 ); } // 電源順次立ち上げ + RESET2_ast; + FCRAM_RST_ast; + PM_LDSW_on(); + + iic_mcu_write_a_byte( IIC_SLA_PMIC, 0x22, 0xCA ); // バグ持ちPMIC対策 OVP解除 + iic_mcu_write_a_byte( IIC_SLA_PMIC, 0x05, 0x07 ); // バグ持ちPMIC対策 強制PWM + wait_ms( DELAY_PM_TW_PWUP ); PM_VDD_on(); wait_ms( DELAY_PM_TW_PWUP ); PM_VDD50A_on(); + wait_ms( DELAY_PM_TW_PWUP ); + iic_mcu_write_a_byte( IIC_SLA_PMIC, 0x22, 0x4A ); // バグ持ちPMIC対策 + + if( PM_chk_LDSW() == 0 ){ return( ERR_ERR ); } PM_reset_neg(); - RESET2_ngt; + RESET2_neg; + FCRAM_RST_neg; return( ERR_SUCCESS ); #else @@ -461,9 +500,9 @@ err PM_sys_pow_on(){ } vreg_ctr[ VREG_C_BT_REMAIN ] = temp; - RESET1_ngt; - RESET2_ngt; - FCRAM_RST_ngt; + RESET1_neg; + RESET2_neg; + FCRAM_RST_neg; wait_ms( 100 ); if( !RESET1_n ){ // 起動失敗 @@ -482,19 +521,19 @@ err PM_sys_pow_on(){ 電源OFFシーケンス ======================================================== */ err PM_sys_pow_off(){ -#ifdef _PMIC_CTR_ - RSTB ネゲート - TCOM,VCS OFF - (1ms) - (50ms) - ->PM LCD系電源OFF - PM_LCD_off(); - RST1,2,fcramアサート - ->システム電源OFF +#ifndef _PMIC_TWL_ + PM_BL_off(); + PM_LCD_off();// TCOM,VCS OFF も消してきます。 + + PM_reset_ast(); + RESET2_ast; + FCRAM_RST_ast; + PM_off(); - ロードスイッチOFF - PM_LDSW_off(); + + PM_LDSW_off(); #else + wait_ms( 50 ); if( RESET1_n ){ // 異常終了から来た場合 @@ -540,13 +579,12 @@ err to_sleep(){ PM_EXTDCは割り込みメインにするかも ======================================================== */ task_interval tsk_batt(){ - static u8 bt_stat = 0; static u8 charge_hys = 0; // ヒステリシスで上限下限を拡張するとき1 // 電源周りのステータスが変化? - set_bit( PM_EXTDC, vreg_ctr[ VREG_C_STATUS ], REG_BIT_POW_SUPPLY ); - set_bit( !BT_CHG_ERR_n, vreg_ctr[ VREG_C_STATUS ], REG_BIT_BATT_CHARGE_ERR ); - set_bit( !BT_CHG_n, vreg_ctr[ VREG_C_STATUS ], REG_BIT_BATT_CHARGE ); + set_bit( PM_EXTDC, vreg_ctr[ VREG_C_STATUS0 ], REG_BIT_POW_SUPPLY ); + set_bit( !BT_CHG_ERR_n, vreg_ctr[ VREG_C_STATUS0 ], REG_BIT_BATT_CHARGE_ERR ); + set_bit( !BT_CHG_n, vreg_ctr[ VREG_C_STATUS0 ], REG_BIT_BATT_CHARGE ); // →割り込み。miscの中でよろしくやってくれている。 // 充電 @@ -620,27 +658,39 @@ task_status_immed ntr_pmic_comm(){ reg_old = reg_shadow; // BL関係 reg_shadow = iic_mcu_read_a_byte( IIC_SLA_CODEC, CODEC_REG_PMCOMP ); DI(); + + // offリクエスト if(( reg_shadow & ( 1 << 6 )) != 0 ){ - // offリクエスト - vreg_ctr[ VREG_C_IRQ1 ] |= REG_BIT_TWL_OFF_REQ; - IRQ0_ast; + vreg_ctr[ VREG_C_IRQ2 ] |= REG_BIT_TWL_OFF_REQ; + if( ( vreg_ctr[ VREG_C_IRQ_MASK2 ] & REG_BIT_TWL_OFF_REQ ) != 0 ){ + IRQ0_ast; + } } + + // リセットリクエスト if(( reg_shadow & ( 1 << 0 )) != 0 ){ - // リセットリクエスト - vreg_ctr[ VREG_C_IRQ1 ] |= REG_BIT_TWL_RESET_REQ; - IRQ0_ast; + vreg_ctr[ VREG_C_IRQ2 ] |= REG_BIT_TWL_RESET_REQ; + if( ( vreg_ctr[ VREG_C_IRQ_MASK2 ] & REG_BIT_TWL_RESET_REQ ) != 0 ){ + IRQ0_ast; + } } + + // バックライトが... if( (( reg_old ^ reg_shadow ) & ~( 0x03 << 2 )) != 0 ){ if(( reg_shadow & ( 0x03 << 2 )) == 0x00 ){ - // バックライトが両方消された + // 両方消された vreg_ctr[ VREG_C_IRQ1 ] |= REG_BIT_STAT_CHANGE; - vreg_ctr[ VREG_C_STATUS ] &= ~0x01; - IRQ0_ast; + vreg_ctr[ VREG_C_STATUS0 ] &= ~0x01; + if( ( vreg_ctr[ VREG_C_IRQ_MASK1 ] & REG_BIT_STAT_CHANGE ) != 0 ){ + IRQ0_ast; + } }else if(( reg_shadow & ( 0x03 << 2 )) == ( 0x03 << 2 )){ - // バックライトが両方ついた + // 両方ついた vreg_ctr[ VREG_C_IRQ1 ] |= REG_BIT_STAT_CHANGE; - vreg_ctr[ VREG_C_STATUS ] |= 0x01; - IRQ0_ast; + vreg_ctr[ VREG_C_STATUS0 ] |= 0x01; + if( ( vreg_ctr[ VREG_C_IRQ_MASK1 ] & REG_BIT_STAT_CHANGE ) != 0 ){ + IRQ0_ast; + } } } EI(); diff --git a/trunk/pm.h b/trunk/pm.h index d11791e..c6ef5ee 100644 --- a/trunk/pm.h +++ b/trunk/pm.h @@ -50,7 +50,7 @@ enum PMIC_REG_ADRS{ //========================================================= -extern u16 raw_adc_temperature; +extern u8 raw_adc_temperature; @@ -65,6 +65,16 @@ err PM_reset(); err PM_LCD_vcom_set(); task_status_immed tski_vcom_set(); +err PM_BL_on(); +err PM_BL_off(); + +task_status_immed tski_PM_BL_on(); +task_status_immed tski_PM_BL_off(); +task_status_immed tski_PM_LCD_on(); +task_status_immed tski_PM_LCD_off(); + + + //  これを呼ぶ前に、現在温度を教えておく必要があります。 #define PM_get_batt_left() ( iic_mcu_read_a_byte( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_SOC ) ) diff --git a/trunk/renge/renge.c b/trunk/renge/renge.c index 15cc904..6d249cf 100644 --- a/trunk/renge/renge.c +++ b/trunk/renge/renge.c @@ -1,5 +1,5 @@ - #pragma section @@CODE ROM_CODE +#pragma nop /****************************************************************************** タスクシステム? @@ -7,6 +7,7 @@ →作りました ctr_mcu_config.rb 参照。 task_config.hが作成されます。 *****************************************************************************/ +#include "renge_defs.h" #include "renge_task_intval.h" #include "renge_task_immediate.h" @@ -59,8 +60,6 @@ void renge_interval(){ /****************************************************************************** コンパイル時に決まっている、インターバル起動のタスク そのうち、逐次起動と混ぜるかもしれない。 - - 強制起動のフラグの件。後で整理 *****************************************************************************/ err renge_task_interval_run(){ task_info *current_task; @@ -68,25 +67,30 @@ err renge_task_interval_run(){ // インターバル起動 if( renge_flg_interval == 1 ){ renge_flg_interval = 0; - for( current_task = tasks; current_task != &tasks[TSK_LAST]; current_task += 1 ){ - - if( current_task -> dispatch_type == INTERVAL ){ + for( current_task = tasks; + current_task != &tasks[TSK_LAST]; + current_task += 1 ) + { +// if( current_task -> dispatch_type == INTERVAL ){ if( current_task -> interval == 0 ){ current_task -> interval = current_task -> task(); }else{ current_task -> interval -= 1; } - } - +// } } } // ***_TRIG等で強制起動 if( renge_task_interval_run_force ){ renge_task_interval_run_force = 0; // とりあえず、何が何でもフラグ消しちゃうけど... - for( current_task = tasks; current_task != &tasks[TSK_LAST]; current_task += 1 ){ + for( current_task = tasks; + current_task != &tasks[TSK_LAST]; + current_task += 1 ) + { current_task -> interval = current_task -> task(); } + } return( ERR_SUCCESS ); @@ -105,7 +109,7 @@ err renge_task_interval_run(){     それ以外 次のタイミングでまた実行 *****************************************************************************/ -#define IMMED_RSV_TASKS_NUM 10 +#define IMMED_RSV_TASKS_NUM 15 task_immed tasks_immed[ IMMED_RSV_TASKS_NUM ]; // タスクへのポインタの配列 u8 task_immed_index = 0; @@ -125,9 +129,13 @@ void renge_task_immed_init(){ err renge_task_immed_add( task_immed new_task ){ u8 temp; + // 最終的にはチェック不要になる + /// 手動でタスクの数を数えなさい、という意味ですが。 if( task_immed_index >= IMMED_RSV_TASKS_NUM ){ // タスクの登録領域が足りなかった - while(1); + while(1){ + NOP(); // アサートで止めたいのですが。 + } }else{ #if 1 // 同じタスクの多重登録を避ける @@ -167,7 +175,7 @@ err renge_task_immed_run(){ u8 task_id = 0; while( tasks_immed[ task_id ] != 0 ){ - if( tasks_immed[ task_id ]( (u8*)0 ) == ERR_FINISED ){ + if( tasks_immed[ task_id ]() == ERR_FINISED ){ renge_task_immed_del( task_id ); // ←が tasks_immed[ id ] を前詰めしてしまうので、 }else{ // 同じid (=元は、次のid) を起動しなくてはならない task_id += 1; diff --git a/trunk/renge/renge_defs.h b/trunk/renge/renge_defs.h index 6e6f7b2..5a616ab 100644 --- a/trunk/renge/renge_defs.h +++ b/trunk/renge/renge_defs.h @@ -42,7 +42,7 @@ typedef task_interval ( *p_task )(); // p_task typedef struct{ p_task task; - dispatch_type dispatch_type; +// dispatch_type dispatch_type; task_interval interval; }task_info; @@ -51,7 +51,7 @@ typedef task_interval ( *p_task )(); // p_task 廃止になるかもしれないが *************************************/ typedef u8 task_status_immed; -typedef task_status_immed ( * task_immed ) ( void * ); +typedef task_status_immed (*task_immed)(); typedef enum{ diff --git a/trunk/renge/renge_task_intval.h b/trunk/renge/renge_task_intval.h index 8c96524..fbd6574 100644 --- a/trunk/renge/renge_task_intval.h +++ b/trunk/renge/renge_task_intval.h @@ -22,17 +22,17 @@ extern task_interval tsk_soft_int(); extern task_interval tsk_sys(); task_info tasks[ TSK_LAST ] = { - { tsk_sw, INTERVAL, 0 }, - { tsk_wifi, INTERVAL, 0 }, - { tsk_adc, INTERVAL, 0 }, - { tsk_batt, INTERVAL, 0 }, - { tsk_led_pow, INTERVAL, 0 }, - { tsk_led_wifi, INTERVAL, 0 }, - { tsk_misc_stat, INTERVAL, 0 }, - { tsk_debug, INTERVAL, 0 }, - { tsk_debug2, INTERVAL, 0 }, - { tsk_soft_int, INTERVAL, 0 }, - { tsk_sys, INTERVAL, 0 }, + { tsk_sw, 0 }, + { tsk_wifi, 0 }, + { tsk_adc, 0 }, + { tsk_batt, 0 }, + { tsk_led_pow, 0 }, + { tsk_led_wifi, 0 }, + { tsk_misc_stat, 0 }, + { tsk_debug, 0 }, + { tsk_debug2, 0 }, + { tsk_soft_int, 0 }, + { tsk_sys, 0 } }; diff --git a/trunk/rtc.c b/trunk/rtc.c index 5331b8b..b312a9e 100644 --- a/trunk/rtc.c +++ b/trunk/rtc.c @@ -12,7 +12,7 @@ // ======================================================== u8 rtc_work[7]; bit rtc_lock; -bit rtc_dirty; +bit rtc_dirty; /* ======================================================== @@ -40,7 +40,7 @@ void RTC_init(void){ RTCE = 1; /* 動作開始 */ - vreg_ctr[ VREG_C_MCU_STATUS ] = REG_BITS_RTC_BLACKOUT; + vreg_ctr[ VREG_C_MCU_STATUS ] = REG_BIT_RTC_BLACKOUT; } diff --git a/trunk/self_flash.c b/trunk/self_flash.c index 613dfc9..cd9aa54 100644 --- a/trunk/self_flash.c +++ b/trunk/self_flash.c @@ -87,7 +87,6 @@ u8 boot_ura; // /* ======================================================== ======================================================== */ err firm_update(){ - u8 flg_rcv_end; u8 buffer_fill; u8 target_block; u8 data_buffer[ SELF_UPDATE_BUFF_SIZE ]; @@ -95,8 +94,6 @@ err firm_update(){ fsl_u08 err; __far u8* p_rom; - flg_rcv_end = 0; - TOE0 = 0x0000; TOE0 = 0x0020; @@ -243,7 +240,6 @@ firm_update_end: ブートスワップは不要です。 ======================================================== */ err firm_restore(){ - u8 flg_rcv_end = 0; u8 buffer_fill; u8 target_block; u8 data_buffer[ SELF_UPDATE_BUFF_SIZE ]; diff --git a/trunk/tasks.c b/trunk/tasks.c index 1880c5f..fa07af1 100644 --- a/trunk/tasks.c +++ b/trunk/tasks.c @@ -4,9 +4,14 @@ #pragma STOP #include "incs.h" +#include "renge.h" +#include "pm.h" + extern u8 boot_ura; + + /* ======================================================== WiFi 関係 ・WL_TX,RX @@ -20,34 +25,35 @@ task_interval tsk_wifi(){ /* ======================================================== - ステータスレジスタ関係 他のところでケアされていない部分 ======================================================== */ task_interval tsk_misc_stat(){ static u8 state_old; // ステータス変化検出→割り込み の為 SHELL_CLOSE_P = 1; - set_bit( EXT_OPT_DET, vreg_ctr[ VREG_C_STATUS ], REG_BIT_EXT_OPT_LOCK ); - set_bit( SHELL_CLOSE, vreg_ctr[ VREG_C_STATUS ], REG_BIT_SHELL_CLOSE ); + set_bit( EXT_OPT_DET, vreg_ctr[ VREG_C_STATUS0 ], REG_BIT_EXT_OPT_LOCK ); + set_bit( SHELL_CLOSE, vreg_ctr[ VREG_C_STATUS0 ], REG_BIT_SHELL_CLOSE ); SHELL_CLOSE_P = 0; - - if(( vreg_ctr[ VREG_C_STATUS ] ^ state_old ) != 0 ){ + // ステータスレジスタ関係 → 割り込み // + if(( vreg_ctr[ VREG_C_STATUS0 ] ^ state_old ) != 0 ){ vreg_ctr[ VREG_C_IRQ1 ] |= REG_BIT_STAT_CHANGE; switch( system_status.pwr_state ){ case ON_TRIG: - case ON: - IRQ0_ast; break; - + case ON: + if( ( vreg_ctr[ VREG_C_IRQ_MASK1 ] & REG_BIT_STAT_CHANGE ) != 0 ){ + IRQ0_ast; + } + break; case SLEEP_TRIG: case SLEEP: if( (( state_old & REG_BIT_SHELL_CLOSE ) != 0 ) && ( !SHELL_CLOSE ) ){ - // 蓋が開いた - IRQ0_ast; - }else{ - return( 250 ); + // 蓋開けた のみ通知 + if( ( vreg_ctr[ VREG_C_IRQ_MASK1 ] & REG_BIT_STAT_CHANGE ) != 0 ){ + IRQ0_ast; + } } break; case OFF_TRIG: @@ -57,7 +63,7 @@ task_interval tsk_misc_stat(){ } } - state_old = vreg_ctr[ VREG_C_STATUS ]; + state_old = vreg_ctr[ VREG_C_STATUS0 ]; return( 100 ); } @@ -88,14 +94,18 @@ task_interval tsk_debug(){ task_interval tsk_debug2(){ if(( system_status.pwr_state != OFF ) && ( system_status.pwr_state != ON_TRIG )){ - iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 3, vreg_ctr[ VREG_C_IRQ0 ] ); - iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 2, vreg_ctr[ VREG_C_IRQ1 ] ); - iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 1, boot_ura ); +// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 3, vreg_ctr[ VREG_C_IRQ0 ] ); +// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 2, vreg_ctr[ VREG_C_IRQ1 ] ); +// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 1, boot_ura ); // iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 1, vreg_ctr[ VREG_C_SND_VOL ] ); -// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 1, vreg_ctr[ VREG_C_3D_DEPTH ] ); +// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 1, vreg_ctr[ VREG_TUNE ] ); +// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 0, vreg_ctr[ VREG_C_ACC_ZH ] ); + iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 3, vreg_ctr[ VREG_C_TUNE ] ); + iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 2, vreg_ctr[ VREG_C_SND_VOL ] ); + iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 1, vreg_ctr[ VREG_C_STATUS0 ] ); iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 0, vreg_ctr[ VREG_C_ACC_ZH ] ); } - return( 50/2 ); + return( 20/2 ); } @@ -177,7 +187,12 @@ task_status_immed do_command0(){ }else{ if( vreg_ctr[ VREG_C_COMMAND0 ] & REG_BIT_RESET1_REQ ){ +#ifdef _PMIC_TWL_ RESETs_ast; +#else + PM_reset_ast(); + RESET2_ast; +#endif FCRAM_RST_ast; } if( vreg_ctr[ VREG_C_COMMAND0 ] & REG_BIT_RESET2_REQ ){ @@ -187,9 +202,26 @@ task_status_immed do_command0(){ FCRAM_RST_ast; } wait_ms( 5 ); - RESETs_ngt; - FCRAM_RST_ngt; +#ifdef _PMIC_TWL_ + RESETs_neg; +#else + PM_reset_neg(); + RESET2_neg; +#endif + FCRAM_RST_neg; } + + if( vreg_ctr[ VREG_C_COMMAND0 ] & REG_BIT_BL_ON ){ + renge_task_immed_add( tski_PM_BL_on ); + }else if( vreg_ctr[ VREG_C_COMMAND0 ] & REG_BIT_BL_OFF ){ + renge_task_immed_add( tski_PM_BL_off ); + } + if( vreg_ctr[ VREG_C_COMMAND0 ] & REG_BIT_LCD_ON ){ + renge_task_immed_add( tski_PM_LCD_on ); + }else if( vreg_ctr[ VREG_C_COMMAND0 ] & REG_BIT_LCD_OFF ){ + renge_task_immed_add( tski_PM_LCD_off ); + } + vreg_ctr[ VREG_C_COMMAND0 ] = 0; return( ERR_FINISED ); } @@ -201,15 +233,19 @@ task_status_immed do_command0(){   0なら呼ばれません。ケア不要 ======================================================== */ task_status_immed do_command1(){ +// 呼ばれません + while(1){ + NOP(); // 誤り検出 + } + vreg_twl[ REG_TWL_ADRS_IRQ ] = (( vreg_ctr[ VREG_C_COMMAND1 ] & REG_BIT_TWL_CMD_PWSW_DET ) != 0 )? REG_BIT_TWL_IRQ_PWSW_DET: 0x00; //pwsw_det + vreg_twl[ REG_TWL_ADRS_IRQ ] |= (( vreg_ctr[ VREG_C_COMMAND1 ] & REG_BIT_TWL_CMD_RESET ) != 0 )? REG_BIT_TWL_IRQ_RESET: 0x00; //reset_req - vreg_twl[ REG_TWL_ADRS_IRQ ] = (( vreg_ctr[ VREG_C_COMMAND1 ] & 0x01 ) != 0 )? 0x80: 0x00; //pwsw_det - vreg_twl[ REG_TWL_ADRS_IRQ ] |= (( vreg_ctr[ VREG_C_COMMAND1 ] & 0x02 ) != 0 )? 0x01: 0x00; //reset_det - vreg_twl[ REG_TWL_ADRS_IRQ ] = (( vreg_ctr[ VREG_C_COMMAND1 ] & 0x01 ) != 0 )? 0x80: 0x00; //pwsw_det - vreg_twl[ REG_TWL_ADRS_IRQ ] |= (( vreg_ctr[ VREG_C_COMMAND1 ] & 0x02 ) != 0 )? 0x01: 0x00; //reset_det + vreg_twl[ REG_TWL_ADRS_IRQ ] |= (( vreg_ctr[ VREG_C_COMMAND1 ] & REG_BIT_TWL_CMD_OFF ) != 0 )? REG_BIT_TWL_IRQ_OFF: 0x00; //off_req - vreg_twl[ REG_TWL_ADRS_IRQ ] |= (( vreg_ctr[ VREG_C_COMMAND1 ] & 0x04 ) != 0 )? 0x02: 0x00; //off_det - vreg_twl[ REG_TWL_ADRS_IRQ ] |= (( vreg_ctr[ VREG_C_COMMAND1 ] & 0x08 ) != 0 )? 0x20: 0x00; //batt_low - vreg_twl[ REG_TWL_ADRS_IRQ ] |= (( vreg_ctr[ VREG_C_COMMAND1 ] & 0x10 ) != 0 )? 0x10: 0x00; //batt_empty + vreg_twl[ REG_TWL_ADRS_IRQ ] |= (( vreg_ctr[ VREG_C_COMMAND1 ] & REG_BIT_TWL_CMD_BT_LOW ) != 0 )? REG_BIT_TWL_IRQ_BT_LOW: 0x00; //batt_low + vreg_twl[ REG_TWL_ADRS_IRQ ] |= (( vreg_ctr[ VREG_C_COMMAND1 ] & REG_BIT_TWL_CMD_BT_EMPTY ) != 0 )? REG_BIT_TWL_IRQ_BT_EMPTY: 0x00; //batt_empty + + vreg_twl[ REG_TWL_ADRS_IRQ ] |= (( vreg_ctr[ VREG_C_COMMAND1 ] & REG_BIT_TWL_CMD_VOL_CHANGE ) != 0 )? REG_BIT_TWL_IRQ_VOL_CHANGE: 0x00; //vol_changed return( ERR_FINISED ); } @@ -219,7 +255,17 @@ task_status_immed do_command1(){ CPUからのスリープ要求 ======================================================== */ __interrupt void intp0_slp(){ // SLP - + if( SLP_REQ ){ + system_status.pwr_state = SLEEP_TRIG; + }else{ + system_status.pwr_state = ON_TRIG; + if( PM_BL_on() == 0 ){ + renge_task_interval_run_force = 1; + iic_mcu_stop(); + system_status.pwr_state = OFF_TRIG; + } + } + renge_task_interval_run_force = 1; } diff --git a/trunk/tasks_sys.c b/trunk/tasks_sys.c index 4410859..ad71455 100644 --- a/trunk/tasks_sys.c +++ b/trunk/tasks_sys.c @@ -12,8 +12,8 @@ #include "pm.h" #include "rtc.h" -u8 SW_pow_count, SW_home_count, SW_3d_count, SW_wifi_count; -bit SW_pow_mask, SW_home_mask, SW_3d_mask, SW_wifi_mask; +u8 SW_pow_count, SW_home_count, SW_tune_count, SW_wifi_count; +bit SW_pow_mask, SW_home_mask, SW_tune_mask, SW_wifi_mask; /* ======================================================== @@ -46,7 +46,7 @@ task_interval tsk_sys(){ if(( SW_pow_count > 3 ) || ( SW_wifi_count > 3 )){ // 何か他に電源ON要因はあるか? SW_pow_mask = 1; - SW_3d_mask = 1; + SW_tune_mask = 1; SW_wifi_mask = 1; // 何か他に電源ON要因はあるか? @@ -86,6 +86,13 @@ task_interval tsk_sys(){ return( 0 ); } + if( PM_BL_on() == 0 ){ + renge_task_interval_run_force = 1; + iic_mcu_stop(); + system_status.pwr_state = OFF; + return( 0 ); + } + // ここまで来ると、電源投入確定 system_status.pwr_state = ON_TRIG; renge_task_interval_run_force = 1; @@ -127,7 +134,7 @@ task_interval tsk_sys(){ system_status.pwr_state = ON; -#ifdef _PMIC_TWL_ +#ifndef _PMIC_TWL_ { u8 temp; // do{ @@ -137,31 +144,41 @@ task_interval tsk_sys(){ } #endif vreg_ctr[ VREG_C_ACC_CONFIG_HOSU ] = 0x01; - renge_task_immed_add( acc_set ); - - P1 &= ~0x20; + renge_task_immed_add( acc_hosu_set ); break; - case ON: //------------------------------------------------------- + case ON: //--------------------------------------------- + if( !RESET1_n ){ + // 電源異常チェック + /// コマンドで、正規にリセットをかけたときには、 + /// このチェックに引っかからないので大丈夫 + system_status.pwr_state = OFF_TRIG; + renge_task_interval_run_force = 1; + } break; - case SLEEP_TRIG: //------------------------------------------------------- + case SLEEP_TRIG: //------------------------------------- system_status.pwr_state = SLEEP; + PM_BL_off(); break; - case SLEEP: //------------------------------------------------------- - system_status.pwr_state = ON_TRIG; + case SLEEP: //------------------------------------------ +// system_status.pwr_state = ON_TRIG; + if( !RESET1_n ){ + system_status.pwr_state = OFF_TRIG; + renge_task_interval_run_force = 1; + } break; - - case OFF_TRIG: //------------------------------------------------------- + + case OFF_TRIG: //--------------------------------------- LED_stop(); IIC_ctr_Stop(); IIC_twl_Stop(); vreg_ctr[ VREG_C_IRQ0 ] = 0; vreg_ctr[ VREG_C_IRQ1 ] = 0; - vreg_ctr[ VREG_C_IRQ1 ] = 0; + vreg_ctr[ VREG_C_IRQ2 ] = 0; BT_TEMP_P = 0; // 電源オン条件の割り込みセット @@ -253,16 +270,16 @@ task_interval tsk_sw(){ if(( system_status.pwr_state == ON ) || ( system_status.pwr_state == OFF )){ count_sw_n( SW_POW_n, SW_pow_count, SW_pow_mask ); - count_sw_n( SW_WIFI_n, SW_wifi_count, SW_3d_mask ); - count_sw_n( SW_2D3D_n, SW_3d_count, SW_wifi_mask ); -// count_sw_n( SW_HOME_n, SW_home_count, SW_home_mask ); + count_sw_n( SW_WIFI_n, SW_wifi_count, SW_tune_mask ); + count_sw_n( SW_TUNE_n, SW_tune_count, SW_wifi_mask ); +// count_sw_n( SW_HOME_n, SW_home_count, SW_home_mask ); } switch( system_status.pwr_state ){ case( OFF_TRIG ): SW_pow_count = 0; SW_wifi_count = 0; - SW_3d_count = 0; + SW_tune_count = 0; cnt_force_off = 0; break; @@ -292,30 +309,45 @@ task_interval tsk_sw(){ // HOME スイッチ…だと? // if( SW_home_count == 6 ){ vreg_ctr[ VREG_C_IRQ0 ] |= REG_BIT_SW_HOME_CLICK; - IRQ0_ast; + if( ( vreg_ctr[ VREG_C_IRQ_MASK0 ] & REG_BIT_SW_HOME_CLICK ) != 0 ){ + IRQ0_ast; + } }else if( SW_pow_count == 66 ){ vreg_ctr[ VREG_C_IRQ0 ] |= REG_BIT_SW_HOME_HOLD; - IRQ0_ast; + if( ( vreg_ctr[ VREG_C_IRQ_MASK0 ] & REG_BIT_SW_HOME_HOLD ) != 0 ){ + IRQ0_ast; + } } */ // wifi sw if( SW_wifi_count == 10 ){ vreg_ctr[ VREG_C_IRQ0 ] |= REG_BIT_SW_WIFI_CLICK; + if( ( vreg_ctr[ VREG_C_IRQ_MASK0 ] & REG_BIT_SW_WIFI_CLICK ) != 0 ){ + IRQ0_ast; + } } - // 3d sw - if( SW_3d_count == 10 ){ - vreg_ctr[ VREG_C_IRQ0 ] |= REG_BIT_SW_3D_CLICK; + // tune sw + if( SW_tune_count == 10 ){ + vreg_ctr[ VREG_C_IRQ0 ] |= REG_BIT_SW_TUNE_CLICK; + if( ( vreg_ctr[ VREG_C_IRQ_MASK0 ] & REG_BIT_SW_TUNE_CLICK ) != 0 ){ + IRQ0_ast; + } } break; } + +/* +マスクのせいでできなくなった +// まとめて割り込みを立てる if(( vreg_ctr[ VREG_C_IRQ0 ] & ( REG_BIT_SW_POW_CLICK | REG_BIT_SW_POW_HOLD | REG_BIT_SW_HOME_CLICK | REG_BIT_SW_HOME_HOLD - | REG_BIT_SW_WIFI_CLICK | REG_BIT_SW_3D_CLICK ) ) != 0 ){ + | REG_BIT_SW_WIFI_CLICK | REG_BIT_SW_TUNE_CLICK ) ) != 0 ){ IRQ0_ast; } +*/ return( 8 ); } diff --git a/trunk/user_define.h b/trunk/user_define.h index ee2870c..733fd80 100644 --- a/trunk/user_define.h +++ b/trunk/user_define.h @@ -34,8 +34,6 @@ extern unsigned char temp_teg; #define PM_TEG_PWSW P7.5 // TEGのみ #define PM_TEG_LCD_OFF P7.6 // TEGのみ #else -#define PM_TEG_PWSW ; -#define PM_TEG_LCD_OFF ; #endif @@ -46,28 +44,42 @@ extern unsigned char temp_teg; // PMxは0で出力モード // SoC +#ifndef _PMIC_CTR_ #define IRQ0_ast { P3.0 = 0; PM3.0 = 0; } -//#define IRQ0_ngt { PM3.0 = 1; } +#else +#define IRQ0_ast { P7.6 = 0; PM7.6 = 0; } +#endif + +//#define IRQ0_neg { PM3.0 = 1; } // ↓誤代入防止 #define RESET1_n ( P0.0 & 0x01 ) #define RESET1_ast { P0.0 = 0; PM0.0 = 0; } -#define RESET1_ngt { PM0.0 = 1; } +#define RESET1_neg { PM0.0 = 1; } #define RESETs_ast { P0 &= ~0x03; PM0 &= ~0x03; } -#define RESETs_ngt { PM0.0 = 1; P0.1 = 1; } +#define RESETs_neg { PM0.0 = 1; P0.1 = 1; } #define RESET2_ast { P0.1 = 0; } -#define RESET2_ngt { P0.1 = 1; } +#define RESET2_neg { P0.1 = 1; } #define SLP_REQ P12.0 // FCRAM +#ifndef _PMIC_CTR_ #define FCRAM_RST P14.0 #define FCRAM_RST_ast { P14.0 = 0; } -#define FCRAM_RST_ngt { P14.0 = 1; } - +#define FCRAM_RST_neg { P14.0 = 1; } +#else +#define FCRAM_RST P3.0 +#define FCRAM_RST_ast { P3.0 = 0; } +#define FCRAM_RST_neg { P3.0 = 1; } +#endif // CODEC #define PM_IRQ P7.2 // INTP6 +#ifndef _PMIC_CTR_ #define SND_DEPOP P7.7 +#else +#define SLP_O P7.7 +#endif // PM #define PM_EXTDC P7.0 // INTP7 @@ -75,12 +87,21 @@ extern unsigned char temp_teg; //#define BT_DET P15.1 // ANI9 #define BT_DET_P P1.6 #define BT_TEMP_P P1.7 +#ifndef _PMIC_CTR_ #define BT_CHG_EN P4.2 +#else +#define BT_CHG_EN P4.3 +#endif + #define BT_CHG_ERR_n P5.0 #define BT_CHG_n P5.1 +#ifdef _PMIC_TWL_ #define PM_BT_AUTH P12.1 +#else +#define PM_BT_AUTH P4.2 +#endif -#define SW_2D3D_n P2.0 +#define SW_TUNE_n P2.0 #define SW_WIFI_n P7.4 // KR4 #define SW_POW_n P7.3 // KR3 #define SW_HOME_n P20.4 // INTP22 @@ -98,7 +119,7 @@ extern unsigned char temp_teg; //#define LED_CAM P1.0 // TO02 //#define LED_WIFI P1.1 // TO03 -//#define LED_3D P5.2 // TO04(SLTO) +//#define LED_TUNE P5.2 // TO04(SLTO) //#define LED_CHARGE P1.3 // TO05 //#define LED_POW2 P1.4 // TO06 ( 青 ) //#define LED_POW1 P1.5 // TO07 ( 赤 ) diff --git a/trunk/vreg_ctr.c b/trunk/vreg_ctr.c index 3cbfa98..e5eac10 100644 --- a/trunk/vreg_ctr.c +++ b/trunk/vreg_ctr.c @@ -17,9 +17,11 @@ u8 vreg_ctr[ VREG_C_ENDMARK_ ]; // ******************************************************** -#define IRQ0_ngt { PM3.0 = 1; } - - +#ifndef _PMIC_CTR_ +#define IRQ0_neg { PM3.0 = 1; } +#else +#define IRQ0_neg { PM7.6 = 1; } +#endif // ******************************************************** // 非ゼロの初期値の指定が必要なアドレス @@ -46,6 +48,7 @@ void vreg_ctr_write( u8 adrs, u8 data ){ switch( adrs ){ case( VREG_C_IRQ_MASK0 ): case( VREG_C_IRQ_MASK1 ): + case( VREG_C_IRQ_MASK2 ): vreg_ctr[ adrs ] = data; break; @@ -59,7 +62,17 @@ void vreg_ctr_write( u8 adrs, u8 data ){ case( VREG_C_COMMAND1 ): vreg_ctr[ adrs ] = data; if( data != 0 ){ - renge_task_immed_add( do_command1 ); +// renge_task_immed_add( do_command1 ); +// 持ってきました + vreg_twl[ REG_TWL_ADRS_IRQ ] = (( vreg_ctr[ VREG_C_COMMAND1 ] & REG_BIT_TWL_CMD_PWSW_DET ) != 0 )? REG_BIT_TWL_IRQ_PWSW_DET: 0x00; //pwsw_det + vreg_twl[ REG_TWL_ADRS_IRQ ] |= (( vreg_ctr[ VREG_C_COMMAND1 ] & REG_BIT_TWL_CMD_RESET ) != 0 )? REG_BIT_TWL_IRQ_RESET: 0x00; //reset_req + + vreg_twl[ REG_TWL_ADRS_IRQ ] |= (( vreg_ctr[ VREG_C_COMMAND1 ] & REG_BIT_TWL_CMD_OFF ) != 0 )? REG_BIT_TWL_IRQ_OFF: 0x00; //off_req + + vreg_twl[ REG_TWL_ADRS_IRQ ] |= (( vreg_ctr[ VREG_C_COMMAND1 ] & REG_BIT_TWL_CMD_BT_LOW ) != 0 )? REG_BIT_TWL_IRQ_BT_LOW: 0x00; //batt_low + vreg_twl[ REG_TWL_ADRS_IRQ ] |= (( vreg_ctr[ VREG_C_COMMAND1 ] & REG_BIT_TWL_CMD_BT_EMPTY ) != 0 )? REG_BIT_TWL_IRQ_BT_EMPTY: 0x00; //batt_empty + + vreg_twl[ REG_TWL_ADRS_IRQ ] |= (( vreg_ctr[ VREG_C_COMMAND1 ] & REG_BIT_TWL_CMD_VOL_CHANGE ) != 0 )? REG_BIT_TWL_IRQ_VOL_CHANGE: 0x00; //vol_changed } break; @@ -108,7 +121,7 @@ void vreg_ctr_write( u8 adrs, u8 data ){ case( VREG_C_ACC_CONFIG_HOSU ): case( VREG_C_ACC_CONFIG ): vreg_ctr[ adrs ] = data; - renge_task_immed_add( acc_set ); + renge_task_immed_add( acc_hosu_set ); break; case( VREG_C_ACC_R_ADRS ): @@ -195,12 +208,12 @@ void vreg_ctr_after_read( u8 adrs ){ // 読んだらクリア case( VREG_C_IRQ0 ): vreg_ctr[ VREG_C_IRQ0 ] = 0; break; case( VREG_C_IRQ1 ): vreg_ctr[ VREG_C_IRQ1 ] = 0; break; - case( VREG_C_MCU_STATUS ): vreg_ctr[ VREG_C_MCU_STATUS ] = 0; break; + case( VREG_C_IRQ2 ): vreg_ctr[ VREG_C_IRQ2 ] = 0x02; break; // 暫定 } - if(( adrs == VREG_C_IRQ0 ) || ( adrs == VREG_C_IRQ1 )){ - if(( vreg_ctr[ VREG_C_IRQ0 ] == 0 ) && ( vreg_ctr[ VREG_C_IRQ1 ] == 0 )){ - IRQ0_ngt; + if(( adrs == VREG_C_IRQ0 ) || ( adrs == VREG_C_IRQ1 ) || ( adrs == VREG_C_IRQ2 )){ + if(( vreg_ctr[ VREG_C_IRQ0 ] == 0 ) && ( vreg_ctr[ VREG_C_IRQ1 ] == 0 ) && ( vreg_ctr[ VREG_C_IRQ2 ] == 0x02 )){ // 暫定 + IRQ0_neg; } } return; diff --git a/trunk/vreg_ctr.h b/trunk/vreg_ctr.h index af83ac0..267b753 100644 --- a/trunk/vreg_ctr.h +++ b/trunk/vreg_ctr.h @@ -2,16 +2,15 @@ #define __vreg_ctr__ -#define REG_BITS_RTC_BLACKOUT 0b00000001 +#define REG_BIT_RTC_BLACKOUT 0b00000001 +#define REG_BIT__SYS_MODE0 0b01000000 #define REG_BIT_MCU_FIRMBROKEN 0b10000000 -#define REG_BIT_IRQ0_MCUSTATUS 0b01000000 - // VREG_C_IRQ0 #define REG_BIT_VR_SNDVOL_CHANGE ( 1 << 7 ) -#define REG_BIT_VR_3D_CHANGE ( 1 << 6 ) -#define REG_BIT_SW_3D_CLICK ( 1 << 5 ) +#define REG_BIT_VR_TUNE_CHANGE ( 1 << 6 ) +#define REG_BIT_SW_TUNE_CLICK ( 1 << 5 ) #define REG_BIT_SW_WIFI_CLICK ( 1 << 4 ) #define REG_BIT_SW_POW_HOLD ( 1 << 3 ) #define REG_BIT_SW_POW_CLICK ( 1 << 2 ) @@ -28,13 +27,14 @@ #define REG_BIT_BT_REMAIN ( 1 << 1 ) #define REG_BIT_STAT_CHANGE ( 1 << 0 ) -// VREG_C_STATUS, +// VREG_C_STATUS0, #define REG_BIT_BATT_CHARGE_ERR ( 1 << 5 ) #define REG_BIT_BATT_CHARGE ( 1 << 4 ) #define REG_BIT_POW_SUPPLY ( 1 << 3 ) #define REG_BIT_EXT_OPT_LOCK ( 1 << 2 ) #define REG_BIT_SHELL_CLOSE ( 1 << 1 ) -#define REG_BIT_BL ( 1 << 0 ) +#define REG_BIT_BL ( 1 << 6 ) +#define REG_BIT_LCD_POW ( 1 << 7 ) // VREG_C_COMMAND0 @@ -42,6 +42,10 @@ #define REG_BIT_RESET2_REQ ( 1 << 2 ) #define REG_BIT_RESET1_REQ ( 1 << 1 ) #define REG_BIT_OFF_REQ ( 1 << 0 ) +#define REG_BIT_BL_ON ( 1 << 5 ) +#define REG_BIT_BL_OFF ( 1 << 4 ) +#define REG_BIT_LCD_ON ( 1 << 7 ) +#define REG_BIT_LCD_OFF ( 1 << 6 ) // VREG_C_COMMAND1 #define REG_BIT_SEND_TWL_BATT_EMPTY ( 1 << 4 ) @@ -56,6 +60,24 @@ #define REG_BIT_WIFI_ON ( 1 << 0 ) +// command2 +#define REG_BIT_TWL_CMD_PWSW_DET 0x01 +#define REG_BIT_TWL_CMD_RESET 0x02 +#define REG_BIT_TWL_CMD_OFF 0x04 +#define REG_BIT_TWL_CMD_BT_LOW 0x08 +#define REG_BIT_TWL_CMD_BT_EMPTY 0x10 +#define REG_BIT_TWL_CMD_VOL_CHANGE 0x20 + + +// ↑TWL側 +#define REG_BIT_TWL_IRQ_PWSW_DET 0x80 +#define REG_BIT_TWL_IRQ_RESET 0x01 +#define REG_BIT_TWL_IRQ_OFF 0x02 +#define REG_BIT_TWL_IRQ_BT_LOW 0x20 +#define REG_BIT_TWL_IRQ_BT_EMPTY 0x10 +#define REG_BIT_TWL_IRQ_VOL_CHANGE 0x40 + + /* テンプレ #define REG_BIT_ ( 1 << 7 ) @@ -77,16 +99,18 @@ extern u8 vreg_ctr[]; enum VREG_C{ // 未定義アドレスへ書き込んだ際の動作は不定 VREG_C_IRQ0, VREG_C_IRQ1, + VREG_C_IRQ2, - VREG_C_STATUS, + VREG_C_STATUS0, + VREG_C_STATUS1, VREG_C_IRQ_MASK0, VREG_C_IRQ_MASK1, - VREG_C_RESERVED0, + VREG_C_IRQ_MASK2, - VREG_C_BT_REMAIN, + VREG_C_TUNE = 0x08, VREG_C_SND_VOL, - VREG_C_3D_DEPTH, + VREG_C_BT_REMAIN, VREG_C_COMMAND0, VREG_C_COMMAND1, @@ -98,31 +122,27 @@ enum VREG_C{ // VREG_C_CAM_LED, - VREG_C_MCU_VER_MAJOR, + VREG_C_MCU_VER_MAJOR = 0x11, VREG_C_MCU_VER_MINOR, VREG_C_MCU_STATUS, - //VREG_C_PM_INFO, - //VREG_C_BT_INFO, VREG_C_VCOM_T, VREG_C_VCOM_B, -// VREG_C_VCS_T, -// VREG_C_VCS_B, - VREG_C_RESERVED3, - VREG_C_RESERVED4, + VREG_C_PM_INFO, // 未使用 + VREG_C_BT_INFO, // 未使用 VREG_C_BT_TEMP, VREG_C_RESERVED1, - VREG_C_RTC_SEC, + VREG_C_RTC_SEC = 0x1A, VREG_C_RTC_MIN, VREG_C_RTC_HOUR, VREG_C_RTC_YOBI, VREG_C_RTC_DAY, VREG_C_RTC_MONTH, VREG_C_RTC_YEAR, - VREG_C_RESERVED2, + VREG_C_RESERVED2, // 未使用 VREG_C_RTC_ALARM_MIN, VREG_C_RTC_ALARM_HOUR, VREG_C_RTC_ALARM_DAY, @@ -130,17 +150,13 @@ enum VREG_C{ // VREG_C_RTC_ALARM_YEAR, VREG_C_RTC_COMP, - VREG_C_ACC_CONFIG_HOSU, + VREG_C_ACC_CONFIG_HOSU = 0x28, VREG_C_ACC_CONFIG, VREG_C_ACC_R_ADRS, VREG_C_RESERVED5, VREG_C_ACC_W_ADRS, VREG_C_ACC_W_BUF, - VREG_C_ACC_HOSU_L, - VREG_C_ACC_HOSU_M, - VREG_C_ACC_HOSU_H, - VREG_C_ACC_XL, VREG_C_ACC_XH, VREG_C_ACC_YL, @@ -148,9 +164,14 @@ enum VREG_C{ // VREG_C_ACC_ZL, VREG_C_ACC_ZH, + VREG_C_ACC_HOSU_L = 0x34, + VREG_C_ACC_HOSU_M, + VREG_C_ACC_HOSU_H, + VREG_C_ACC_HOSU_HIST, + VREG_C_DIAG, - VREG_C_FREE0, + VREG_C_FREE0 = 0x39, VREG_C_FREE1, VREG_C_FREE2, VREG_C_FREE3, diff --git a/trunk/vreg_twl.c b/trunk/vreg_twl.c index 6a8854d..db06968 100644 --- a/trunk/vreg_twl.c +++ b/trunk/vreg_twl.c @@ -165,7 +165,9 @@ u8 adrs_table_twl_ext2int( u8 img ){ ・電源断 ======================================================== */ task_status_immed command_from_twl(){ - vreg_ctr[ VREG_C_IRQ1 ] |= ( 1 << REG_BIT_TWL_RESET_REQ ); - IRQ0_ast; + vreg_ctr[ VREG_C_IRQ2 ] |= REG_BIT_TWL_RESET_REQ; + if( ( vreg_ctr[ VREG_C_IRQ_MASK2 ] & REG_BIT_TWL_RESET_REQ ) != 0 ){ + IRQ0_ast; + } return( ERR_FINISED ); } diff --git a/trunk/vreg_twl.h b/trunk/vreg_twl.h index a31cd7e..5bc44d1 100644 --- a/trunk/vreg_twl.h +++ b/trunk/vreg_twl.h @@ -83,11 +83,6 @@ enum REG_TWL_ADRS_INT{ }; -#define REG_BIT_TWL_RESET_REQ 6 - - - - /* ========================================================================= */ diff --git a/trunk/yav_mcu_bsr.plg b/trunk/yav_mcu_bsr.plg index 400d9d9..b4c1368 100644 --- a/trunk/yav_mcu_bsr.plg +++ b/trunk/yav_mcu_bsr.plg @@ -1,13 +1,5 @@ C:\WINDOWS\system32\cmd.exe /c echo touch magic.c touch magic.c -"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -cF100964 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qcjl1wtg -sainter_asm -zp -w0 -no loader.c -Compilation complete, 0 error(s) and 0 warning(s) found. -"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -cF100964 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\loader.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_k0r.lmf "..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\lib78k0r\s0rml.rel" -go85h,0FC00h,1024 -gi0FFFFFFFFFFFFFFFFFFFFh -pbsr_k0r.map -nkd -kp -gb6EFBFFh -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 tasks.rel adc.rel renge.rel tasks_sys.rel accero.rel self_flash.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_k0r.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:/Cygwin/home/fujita_ryohei/ctr/nec_s_2_bsrbin.rb:2: warning: variable $KCODE is no longer effective; ignored diff --git a/trunk/yav_mcu_bsr.prj b/trunk/yav_mcu_bsr.prj index 8abef0e..77177f7 100644 --- a/trunk/yav_mcu_bsr.prj +++ b/trunk/yav_mcu_bsr.prj @@ -39,472 +39,6 @@ TargetFile=0 [BuildBefore-AfterCmd] Before1=echo touch magic.c After1=ruby C:\Cygwin\home\fujita_ryohei\ctr\nec_s_2_bsrbin.rb bsr.hex -[Options.CC78K0R 0] -Version=210 -Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r -Include1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r -Memorymodel=1 -Flashobj=0 -FlashStartadr= -FlashBranchStartadr= -Mirror=0 -Saddrglobalchk=0 -Saddrglobal=1066 -Saddrstaticchk=0 -Saddrstatic=1072 -Bitfieldmsb=0 -Onebytechk=0 -Pacstructchk=0 -AssignROMchk=0 -AssignROM=0 -Maxoptimizechk=0 -Maxoptimize=1104 -Charunexpandchk=1 -Unsignedchar=0 -Usesaddrchk=0 -Autoallocationchk=1 -Jumpoptimize=1 -Librarycallchk=0 -Librarycall=1129 -Aggressivechk=1 -Relativebranchchk=1 -Debugoptchk=0 -Outdebugchk=1 -Outdebug=1153 -Outasmsrccmb0=inter_asm -Outasmsrccmb1=bsr.asm -Outasmsrcchk=1 -Outasmsrc=1158 -Outasmoptall=1 -Common=0 -Outerrlistchk=0 -Outerrlist=1174 -Xreference=0 -Preprocess=0 -Prenocomment=0 -Predefine=0 -Preifdef=1 -Preinclude=0 -Preline=1 -Prenumber=1 -Formfeed=0 -Columns=132 -Lines=0 -Tablength=8 -Ansi=0 -Cpraspras=1 -Commentnest=0 -Intunexpand=0 -Kanjicode=1210 -Verbose=0 -CommandFile=0 -Warninglevel=0 -Startupchk=1 -Fixation=1 -FarROMization=0 -Objectsel=1305 -Librarychk=1 -Floatingpoint=0 -Muldivunit=1 -Mulunit=1 -Startup=s0rml.rel -Library1=cl0rdm.lib -Library2=cl0rm.lib -Library3=cl0rmf.lib -VfiFileBoot0= -VfiFileBoot1=boot.vfi -VF78K0Rchk=0 -VF78K0Rvs= -[Options.CC78K0R 1] -Version=210 -Memorymodel=2 -Flashobj=0 -FlashStartadr= -FlashBranchStartadr= -Mirror=0 -Saddrglobalchk=0 -Saddrglobal=1066 -Saddrstaticchk=0 -Saddrstatic=1072 -Bitfieldmsb=0 -Onebytechk=0 -Pacstructchk=0 -AssignROMchk=0 -AssignROM=0 -Maxoptimizechk=0 -Maxoptimize=1104 -Charunexpandchk=1 -Unsignedchar=0 -Usesaddrchk=0 -Autoallocationchk=1 -Jumpoptimize=1 -Librarycallchk=1 -Librarycall=1128 -Aggressivechk=1 -Relativebranchchk=0 -Debugoptchk=0 -Outdebugchk=0 -Outdebug=1153 -Outasmsrcchk=0 -Outasmsrc=1157 -Outasmoptall=1 -Common=0 -Outerrlistchk=0 -Outerrlist=1173 -Xreference=0 -Preprocess=0 -Prenocomment=0 -Predefine=0 -Preifdef=1 -Preinclude=0 -Preline=1 -Prenumber=1 -Formfeed=0 -Columns=132 -Lines=0 -Tablength=8 -Ansi=0 -Cpraspras=0 -Commentnest=0 -Intunexpand=0 -Kanjicode=1210 -Verbose=0 -CommandFile=0 -Warninglevel=1 -Startupchk=1 -Fixation=1 -FarROMization=1 -Objectsel=1305 -Librarychk=1 -Floatingpoint=0 -Muldivunit=1 -Mulunit=1 -Startup=s0rll.rel -Library1=cl0rdm.lib -Library2=cl0rm.lib -Library3=cl0rmf.lib -VF78K0Rchk=0 -VF78K0Rvs= -[Options.CC78K0R 2] -Version=210 -Define0= -Define1=_debug_,_TEG_,proc_is_ke3 -Define2=_debug_,_TEG_,proc_is_ke3,%time% -Define3=_TEG_,proc_is_ke3 -Define4=proc_is_ke3 -Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r -Include1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r -Memorymodel=1 -Flashobj=0 -FlashStartadr= -FlashBranchStartadr= -Mirror=0 -Saddrglobalchk=0 -Saddrglobal=1066 -Saddrstaticchk=0 -Saddrstatic=1072 -Bitfieldmsb=0 -Onebytechk=0 -Pacstructchk=0 -AssignROMchk=0 -AssignROM=0 -Maxoptimizechk=0 -Maxoptimize=1104 -Charunexpandchk=1 -Unsignedchar=0 -Usesaddrchk=0 -Autoallocationchk=0 -Jumpoptimize=1 -Librarycallchk=1 -Librarycall=1128 -Aggressivechk=1 -Relativebranchchk=1 -Debugoptchk=1 -Outdebugchk=1 -Outdebug=1153 -Outasmsrccmb0=inter_asm -Outasmsrccmb1=bsr.asm -Outasmsrcchk=1 -Outasmsrc=1158 -Outasmoptall=1 -Common=0 -Outerrlistchk=0 -Outerrlist=1174 -Xreference=0 -Preprocess=0 -Prenocomment=0 -Predefine=0 -Preifdef=1 -Preinclude=0 -Preline=1 -Prenumber=1 -Formfeed=0 -Columns=132 -Lines=0 -Tablength=8 -Ansi=0 -Cpraspras=1 -Commentnest=0 -Intunexpand=0 -Kanjicode=1210 -Verbose=0 -CommandFile=0 -Warninglevel=0 -Startupchk=1 -Fixation=1 -FarROMization=0 -Objectsel=1305 -Librarychk=1 -Floatingpoint=0 -Muldivunit=1 -Mulunit=1 -Startup=s0rml.rel -Library1=cl0rdm.lib -Library2=cl0rm.lib -Library3=cl0rmf.lib -VfiFileBoot0= -VfiFileBoot1=boot.vfi -VF78K0Rchk=0 -VF78K0Rvs= -[Options.CC78K0R 3] -Version=210 -Define0=_debug_,proc_is_bsr,_TEG_ -Define1=_debug_,proc_is_bsr -Define2=proc_is_bsr -Define3=_TEG_,proc_is_ke3 -Define4=proc_is_ke3 -Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r -Include1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r -Memorymodel=1 -Flashobj=0 -FlashStartadr= -FlashBranchStartadr= -Mirror=0 -Saddrglobalchk=0 -Saddrglobal=1066 -Saddrstaticchk=0 -Saddrstatic=1072 -Bitfieldmsb=0 -Onebytechk=0 -Pacstructchk=0 -AssignROMchk=0 -AssignROM=0 -Maxoptimizechk=0 -Maxoptimize=1104 -Charunexpandchk=1 -Unsignedchar=0 -Usesaddrchk=0 -Autoallocationchk=1 -Jumpoptimize=1 -Librarycallchk=0 -Librarycall=1129 -Aggressivechk=1 -Relativebranchchk=1 -Debugoptchk=0 -Outdebugchk=1 -Outdebug=1153 -Outasmsrccmb0=inter_asm -Outasmsrccmb1=bsr.asm -Outasmsrcchk=1 -Outasmsrc=1158 -Outasmoptall=1 -Common=0 -Outerrlistchk=0 -Outerrlist=1174 -Xreference=0 -Preprocess=0 -Prenocomment=0 -Predefine=0 -Preifdef=1 -Preinclude=0 -Preline=1 -Prenumber=1 -Formfeed=0 -Columns=132 -Lines=0 -Tablength=8 -Ansi=0 -Cpraspras=1 -Commentnest=0 -Intunexpand=0 -Kanjicode=1210 -Verbose=0 -CommandFile=0 -Warninglevel=0 -Startupchk=1 -Fixation=1 -FarROMization=0 -Objectsel=1305 -Librarychk=1 -Floatingpoint=0 -Muldivunit=1 -Mulunit=1 -Startup=s0rml.rel -Library1=cl0rdm.lib -Library2=cl0rm.lib -Library3=cl0rmf.lib -VfiFileBoot0= -VfiFileBoot1=boot.vfi -VF78K0Rchk=0 -VF78K0Rvs= -[Options.CC78K0R 4] -Version=210 -Define0=proc_is_bsr -Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r -Include1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r -Memorymodel=1 -Flashobj=0 -FlashStartadr= -FlashBranchStartadr= -Mirror=0 -Saddrglobalchk=0 -Saddrglobal=1066 -Saddrstaticchk=0 -Saddrstatic=1072 -Bitfieldmsb=0 -Onebytechk=0 -Pacstructchk=0 -AssignROMchk=0 -AssignROM=0 -Maxoptimizechk=0 -Maxoptimize=1104 -Charunexpandchk=1 -Unsignedchar=0 -Usesaddrchk=0 -Autoallocationchk=1 -Jumpoptimize=1 -Librarycallchk=0 -Librarycall=1129 -Aggressivechk=1 -Relativebranchchk=1 -Debugoptchk=0 -Outdebugchk=1 -Outdebug=1153 -Outasmsrccmb0=inter_asm -Outasmsrccmb1=bsr.asm -Outasmsrcchk=1 -Outasmsrc=1158 -Outasmoptall=1 -Common=0 -Outerrlistchk=0 -Outerrlist=1174 -Xreference=0 -Preprocess=0 -Prenocomment=0 -Predefine=0 -Preifdef=1 -Preinclude=0 -Preline=1 -Prenumber=1 -Formfeed=0 -Columns=132 -Lines=0 -Tablength=8 -Ansi=0 -Cpraspras=1 -Commentnest=0 -Intunexpand=0 -Kanjicode=1210 -Verbose=0 -CommandFile=0 -Warninglevel=0 -Startupchk=1 -Fixation=1 -FarROMization=0 -Objectsel=1305 -Librarychk=1 -Floatingpoint=0 -Muldivunit=1 -Mulunit=1 -Startup=s0rml.rel -Library1=cl0rdm.lib -Library2=cl0rm.lib -Library3=cl0rmf.lib -VfiFileBoot0= -VfiFileBoot1=boot.vfi -VF78K0Rchk=0 -VF78K0Rvs= -[Options.CC78K0R 5] -Version=210 -Define0= -Define1=_debug_,proc_is_bsr,_TEG_,_WM0_ -Define2=_debug_,proc_is_bsr,_TEG_,_WM0 -Define3=_debug_,proc_is_bsr,_TEG_ -Define4=_debug_,proc_is_bsr -Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r -Include1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r -Memorymodel=1 -Flashobj=0 -FlashStartadr= -FlashBranchStartadr= -Mirror=0 -Saddrglobalchk=0 -Saddrglobal=1066 -Saddrstaticchk=0 -Saddrstatic=1072 -Bitfieldmsb=0 -Onebytechk=0 -Pacstructchk=0 -AssignROMchk=0 -AssignROM=0 -Maxoptimizechk=0 -Maxoptimize=1104 -Charunexpandchk=1 -Unsignedchar=0 -Usesaddrchk=0 -Autoallocationchk=1 -Jumpoptimize=1 -Librarycallchk=0 -Librarycall=1129 -Aggressivechk=1 -Relativebranchchk=1 -Debugoptchk=0 -Outdebugchk=1 -Outdebug=1153 -Outasmsrccmb0=inter_asm -Outasmsrccmb1=bsr.asm -Outasmsrcchk=1 -Outasmsrc=1158 -Outasmoptall=1 -Common=0 -Outerrlistchk=0 -Outerrlist=1174 -Xreference=0 -Preprocess=0 -Prenocomment=0 -Predefine=0 -Preifdef=1 -Preinclude=0 -Preline=1 -Prenumber=1 -Formfeed=0 -Columns=132 -Lines=0 -Tablength=8 -Ansi=0 -Cpraspras=1 -Commentnest=0 -Intunexpand=0 -Kanjicode=1210 -Verbose=0 -CommandFile=0 -Warninglevel=0 -Startupchk=1 -Fixation=1 -FarROMization=0 -Objectsel=1305 -Librarychk=1 -Floatingpoint=0 -Muldivunit=1 -Mulunit=1 -Startup=s0rml.rel -Library1=cl0rdm.lib -Library2=cl0rm.lib -Library3=cl0rmf.lib -VfiFileBoot0= -VfiFileBoot1=boot.vfi -VF78K0Rchk=0 -VF78K0Rvs= [SrcFile] Source1=loader.c Source2=pm.c @@ -525,38 +59,6 @@ Source16=renge\renge.c Source17=tasks_sys.c Source18=accero.c Source19=self_flash.c -[IncFile] -Include1=incs_loader.h -Include2=jhl_defs.h -Include3=user_define.h -Include4=config.h -Include5=bsr_system.h -Include6=renge\renge.h -Include7=renge\renge_defs.h -Include8=renge\renge_task_immediate.h -Include9=vreg_ctr.h -Include10=loader.h -Include11=i2c_mcu.h -Include12=WDT.h -Include13=fsl.h -Include14=fsl_user.h -Include15=i2c_ctr.h -Include16=pm.h -Include17=rtc.h -Include18=adc.h -Include19=led.h -Include20=incs.h -Include21=vreg_twl.h -Include22=accero.h -Include23=i2c_twl_defs.h -Include24=..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\assert.h -Include25=renge\renge_task_intval.h -Include26=i2c_twl.h -[ToolSet] -ToolSetName=(変更)78K0R Software Package V1.10 -Tool1=CC78K0R|W2.10 -Tool2=RA78K0R|W1.31 -Tool3=ID78K0R-QB|V3.60 [Options.LK78K0R 0] Version=100 O0=bsr_k0r.lmf @@ -1032,3 +534,500 @@ DefaultMode2=1 DefaultMode3=1 DefaultMode4=1 DefaultMode5=1 +[IncFile] +Include1=incs_loader.h +Include2=jhl_defs.h +Include3=user_define.h +Include4=config.h +Include5=bsr_system.h +Include6=renge\renge.h +Include7=renge\renge_defs.h +Include8=renge\renge_task_immediate.h +Include9=vreg_ctr.h +Include10=loader.h +Include11=i2c_mcu.h +Include12=WDT.h +Include13=fsl.h +Include14=fsl_user.h +Include15=i2c_ctr.h +Include16=pm.h +Include17=rtc.h +Include18=adc.h +Include19=led.h +Include20=incs.h +Include21=vreg_twl.h +Include22=accero.h +Include23=i2c_twl_defs.h +Include24=renge\renge_task_intval.h +Include25=i2c_twl.h +[ToolSet] +ToolSetName=(変更)78K0R Software Package V1.10 +Tool1=CC78K0R|W2.10 +Tool2=RA78K0R|W1.31 +Tool3=ID78K0R-QB|V3.60 +[Options.CC78K0R 0] +Version=210 +Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Include1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Memorymodel=1 +Flashobj=0 +FlashStartadr= +FlashBranchStartadr= +Mirror=0 +Saddrglobalchk=0 +Saddrglobal=1066 +Saddrstaticchk=0 +Saddrstatic=1072 +Bitfieldmsb=0 +Onebytechk=0 +Pacstructchk=0 +AssignROMchk=0 +AssignROM=0 +Maxoptimizechk=0 +Maxoptimize=1104 +Charunexpandchk=1 +Unsignedchar=0 +Usesaddrchk=0 +Autoallocationchk=1 +Jumpoptimize=1 +Librarycallchk=0 +Librarycall=1129 +Aggressivechk=1 +Relativebranchchk=1 +Debugoptchk=0 +Outdebugchk=1 +Outdebug=1153 +Outasmsrccmb0=inter_asm +Outasmsrccmb1=bsr.asm +Outasmsrcchk=1 +Outasmsrc=1158 +Outasmoptall=1 +Common=0 +Outerrlistchk=0 +Outerrlist=1174 +Xreference=0 +Preprocess=0 +Prenocomment=0 +Predefine=0 +Preifdef=1 +Preinclude=0 +Preline=1 +Prenumber=1 +Formfeed=0 +Columns=132 +Lines=0 +Tablength=8 +Ansi=0 +Cpraspras=1 +Commentnest=0 +Intunexpand=0 +Kanjicode=1210 +Verbose=0 +CommandFile=0 +Warninglevel=0 +Startupchk=1 +Fixation=1 +FarROMization=0 +Objectsel=1305 +Librarychk=1 +Floatingpoint=0 +Muldivunit=1 +Mulunit=1 +Startup=s0rml.rel +Library1=cl0rdm.lib +Library2=cl0rm.lib +Library3=cl0rmf.lib +VfiFileBoot0= +VfiFileBoot1=boot.vfi +VF78K0Rchk=0 +VF78K0Rvs= +[Options.CC78K0R 1] +Version=210 +Memorymodel=2 +Flashobj=0 +FlashStartadr= +FlashBranchStartadr= +Mirror=0 +Saddrglobalchk=0 +Saddrglobal=1066 +Saddrstaticchk=0 +Saddrstatic=1072 +Bitfieldmsb=0 +Onebytechk=0 +Pacstructchk=0 +AssignROMchk=0 +AssignROM=0 +Maxoptimizechk=0 +Maxoptimize=1104 +Charunexpandchk=1 +Unsignedchar=0 +Usesaddrchk=0 +Autoallocationchk=1 +Jumpoptimize=1 +Librarycallchk=1 +Librarycall=1128 +Aggressivechk=1 +Relativebranchchk=0 +Debugoptchk=0 +Outdebugchk=0 +Outdebug=1153 +Outasmsrcchk=0 +Outasmsrc=1157 +Outasmoptall=1 +Common=0 +Outerrlistchk=0 +Outerrlist=1173 +Xreference=0 +Preprocess=0 +Prenocomment=0 +Predefine=0 +Preifdef=1 +Preinclude=0 +Preline=1 +Prenumber=1 +Formfeed=0 +Columns=132 +Lines=0 +Tablength=8 +Ansi=0 +Cpraspras=0 +Commentnest=0 +Intunexpand=0 +Kanjicode=1210 +Verbose=0 +CommandFile=0 +Warninglevel=1 +Startupchk=1 +Fixation=1 +FarROMization=1 +Objectsel=1305 +Librarychk=1 +Floatingpoint=0 +Muldivunit=1 +Mulunit=1 +Startup=s0rll.rel +Library1=cl0rdm.lib +Library2=cl0rm.lib +Library3=cl0rmf.lib +VF78K0Rchk=0 +VF78K0Rvs= +[Options.CC78K0R 2] +Version=210 +Define0= +Define1=_debug_,_TEG_,proc_is_ke3 +Define2=_debug_,_TEG_,proc_is_ke3,%time% +Define3=_TEG_,proc_is_ke3 +Define4=proc_is_ke3 +Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Include1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Memorymodel=1 +Flashobj=0 +FlashStartadr= +FlashBranchStartadr= +Mirror=0 +Saddrglobalchk=0 +Saddrglobal=1066 +Saddrstaticchk=0 +Saddrstatic=1072 +Bitfieldmsb=0 +Onebytechk=0 +Pacstructchk=0 +AssignROMchk=0 +AssignROM=0 +Maxoptimizechk=0 +Maxoptimize=1104 +Charunexpandchk=1 +Unsignedchar=0 +Usesaddrchk=0 +Autoallocationchk=1 +Jumpoptimize=1 +Librarycallchk=1 +Librarycall=1128 +Aggressivechk=1 +Relativebranchchk=1 +Debugoptchk=0 +Outdebugchk=1 +Outdebug=1153 +Outasmsrccmb0=inter_asm +Outasmsrccmb1=bsr.asm +Outasmsrcchk=1 +Outasmsrc=1158 +Outasmoptall=1 +Common=0 +Outerrlistchk=0 +Outerrlist=1174 +Xreference=0 +Preprocess=0 +Prenocomment=0 +Predefine=0 +Preifdef=1 +Preinclude=0 +Preline=1 +Prenumber=1 +Formfeed=0 +Columns=132 +Lines=0 +Tablength=8 +Ansi=0 +Cpraspras=1 +Commentnest=0 +Intunexpand=0 +Kanjicode=1210 +Verbose=0 +CommandFile=0 +Warninglevel=2 +Startupchk=1 +Fixation=0 +FarROMization=0 +Objectsel=1305 +Librarychk=1 +Floatingpoint=0 +Muldivunit=1 +Mulunit=1 +Startup=s0rm.rel +Library1=cl0rdm.lib +Library2=cl0rm.lib +Library3=cl0rmf.lib +VfiFileBoot0= +VfiFileBoot1=boot.vfi +VF78K0Rchk=0 +VF78K0Rvs= +[Options.CC78K0R 3] +Version=210 +Define0=_debug_,proc_is_bsr,_TEG_ +Define1=_debug_,proc_is_bsr +Define2=proc_is_bsr +Define3=_TEG_,proc_is_ke3 +Define4=proc_is_ke3 +Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Include1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Memorymodel=1 +Flashobj=0 +FlashStartadr= +FlashBranchStartadr= +Mirror=0 +Saddrglobalchk=0 +Saddrglobal=1066 +Saddrstaticchk=0 +Saddrstatic=1072 +Bitfieldmsb=0 +Onebytechk=0 +Pacstructchk=0 +AssignROMchk=0 +AssignROM=0 +Maxoptimizechk=0 +Maxoptimize=1104 +Charunexpandchk=1 +Unsignedchar=0 +Usesaddrchk=0 +Autoallocationchk=1 +Jumpoptimize=1 +Librarycallchk=0 +Librarycall=1129 +Aggressivechk=1 +Relativebranchchk=1 +Debugoptchk=0 +Outdebugchk=1 +Outdebug=1153 +Outasmsrccmb0=inter_asm +Outasmsrccmb1=bsr.asm +Outasmsrcchk=1 +Outasmsrc=1158 +Outasmoptall=1 +Common=0 +Outerrlistchk=0 +Outerrlist=1174 +Xreference=0 +Preprocess=0 +Prenocomment=0 +Predefine=0 +Preifdef=1 +Preinclude=0 +Preline=1 +Prenumber=1 +Formfeed=0 +Columns=132 +Lines=0 +Tablength=8 +Ansi=0 +Cpraspras=1 +Commentnest=0 +Intunexpand=0 +Kanjicode=1210 +Verbose=0 +CommandFile=0 +Warninglevel=0 +Startupchk=1 +Fixation=1 +FarROMization=0 +Objectsel=1305 +Librarychk=1 +Floatingpoint=0 +Muldivunit=1 +Mulunit=1 +Startup=s0rml.rel +Library1=cl0rdm.lib +Library2=cl0rm.lib +Library3=cl0rmf.lib +VfiFileBoot0= +VfiFileBoot1=boot.vfi +VF78K0Rchk=0 +VF78K0Rvs= +[Options.CC78K0R 4] +Version=210 +Define0=proc_is_bsr +Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Include1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Memorymodel=1 +Flashobj=0 +FlashStartadr= +FlashBranchStartadr= +Mirror=0 +Saddrglobalchk=0 +Saddrglobal=1066 +Saddrstaticchk=0 +Saddrstatic=1072 +Bitfieldmsb=0 +Onebytechk=0 +Pacstructchk=0 +AssignROMchk=0 +AssignROM=0 +Maxoptimizechk=0 +Maxoptimize=1104 +Charunexpandchk=1 +Unsignedchar=0 +Usesaddrchk=0 +Autoallocationchk=1 +Jumpoptimize=1 +Librarycallchk=0 +Librarycall=1129 +Aggressivechk=1 +Relativebranchchk=1 +Debugoptchk=0 +Outdebugchk=1 +Outdebug=1153 +Outasmsrccmb0=inter_asm +Outasmsrccmb1=bsr.asm +Outasmsrcchk=1 +Outasmsrc=1158 +Outasmoptall=1 +Common=0 +Outerrlistchk=0 +Outerrlist=1174 +Xreference=0 +Preprocess=0 +Prenocomment=0 +Predefine=0 +Preifdef=1 +Preinclude=0 +Preline=1 +Prenumber=1 +Formfeed=0 +Columns=132 +Lines=0 +Tablength=8 +Ansi=0 +Cpraspras=1 +Commentnest=0 +Intunexpand=0 +Kanjicode=1210 +Verbose=0 +CommandFile=0 +Warninglevel=0 +Startupchk=1 +Fixation=1 +FarROMization=0 +Objectsel=1305 +Librarychk=1 +Floatingpoint=0 +Muldivunit=1 +Mulunit=1 +Startup=s0rml.rel +Library1=cl0rdm.lib +Library2=cl0rm.lib +Library3=cl0rmf.lib +VfiFileBoot0= +VfiFileBoot1=boot.vfi +VF78K0Rchk=0 +VF78K0Rvs= +[Options.CC78K0R 5] +Version=210 +Define0= +Define1=_debug_,proc_is_bsr,_TEG_,_WM0_ +Define2=_debug_,proc_is_bsr,_TEG_,_WM0 +Define3=_debug_,proc_is_bsr,_TEG_ +Define4=_debug_,proc_is_bsr +Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Include1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Memorymodel=1 +Flashobj=0 +FlashStartadr= +FlashBranchStartadr= +Mirror=0 +Saddrglobalchk=0 +Saddrglobal=1066 +Saddrstaticchk=0 +Saddrstatic=1072 +Bitfieldmsb=0 +Onebytechk=0 +Pacstructchk=0 +AssignROMchk=0 +AssignROM=0 +Maxoptimizechk=0 +Maxoptimize=1104 +Charunexpandchk=1 +Unsignedchar=0 +Usesaddrchk=0 +Autoallocationchk=1 +Jumpoptimize=1 +Librarycallchk=0 +Librarycall=1129 +Aggressivechk=1 +Relativebranchchk=1 +Debugoptchk=0 +Outdebugchk=1 +Outdebug=1153 +Outasmsrccmb0=inter_asm +Outasmsrccmb1=bsr.asm +Outasmsrcchk=1 +Outasmsrc=1158 +Outasmoptall=1 +Common=0 +Outerrlistchk=0 +Outerrlist=1174 +Xreference=0 +Preprocess=0 +Prenocomment=0 +Predefine=0 +Preifdef=1 +Preinclude=0 +Preline=1 +Prenumber=1 +Formfeed=0 +Columns=132 +Lines=0 +Tablength=8 +Ansi=0 +Cpraspras=1 +Commentnest=0 +Intunexpand=0 +Kanjicode=1210 +Verbose=0 +CommandFile=0 +Warninglevel=0 +Startupchk=1 +Fixation=1 +FarROMization=0 +Objectsel=1305 +Librarychk=1 +Floatingpoint=0 +Muldivunit=1 +Mulunit=1 +Startup=s0rml.rel +Library1=cl0rdm.lib +Library2=cl0rm.lib +Library3=cl0rmf.lib +VfiFileBoot0= +VfiFileBoot1=boot.vfi +VF78K0Rchk=0 +VF78K0Rvs= diff --git a/trunk/yav_mcu_bsr.prk b/trunk/yav_mcu_bsr.prk index 6eba872..53c615a 100644 --- a/trunk/yav_mcu_bsr.prk +++ b/trunk/yav_mcu_bsr.prk @@ -1,24 +1,20 @@ [ProjectManager] FrameMax=1 -FrameX=184 -FrameY=9 +FrameX=35 +FrameY=0 FrameCX=1375 FrameCY=1183 -OpenFile1=vreg_ctr.h,0,88,88,1332,845,19,158,0,0 -OpenFile2=incs_loader.h,0,198,198,1442,955,4,25,1,0 -OpenFile3=WDT.h,0,242,242,1486,999,40,4,40,0 -OpenFile4=renge\\..\incs.h,0,68,451,1312,1208,0,9,0,0 -OpenFile5=magic.c,0,307,203,1275,828,0,15,0,0 -OpenFile6=fsl_user.h,0,330,330,1574,1087,53,63,53,0 -OpenFile7=renge\renge_task_immediate.h,0,243,127,1487,884,0,1,0,0 -OpenFile8=renge\renge.c,0,270,117,1514,874,45,105,45,0 -OpenFile9=i2c_twl.c,0,110,110,1354,867,0,7,27,0 -OpenFile10=loader.c,0,352,69,1596,826,26,77,26,0 -OpenFile11=OutputWindow -OutputPos=0,541,1089,701,1562 -OpenFile12=ProjectWindow -PrjPos=0,0,752,0,250 -OpenFile13=self_flash.c,0,220,220,1464,977,0,254,0,0 +OpenFile1=adc.c,0,240,258,1484,1015,21,127,19,0 +OpenFile2=ini_VECT.c,0,286,286,1530,1043,0,23,0,0 +OpenFile3=loader.c,0,308,308,1552,1065,2,179,4,0 +OpenFile4=config.h,0,508,49,1752,806,19,18,19,0 +OpenFile5=renge\renge_task_immediate.h,0,268,108,1512,865,0,1,0,0 +OpenFile6=renge\renge_defs.h,0,378,363,1622,1120,0,1,0,0 +OpenFile7=ProjectWindow +PrjPos=0,6,758,2,252 +OpenFile8=renge\renge.h,0,280,181,1524,938,0,1,0,0 +OpenFile9=OutputWindow +OutputPos=0,704,1089,701,1562 ActivePRJ=yav_mcu_bsr.prj [ProjectWindow] ProjectWindowDispType=0 diff --git a/trunk/yav_mcu_bsr.sdb b/trunk/yav_mcu_bsr.sdb index 8ffa984..04ec7a3 100644 --- a/trunk/yav_mcu_bsr.sdb +++ b/trunk/yav_mcu_bsr.sdb @@ -1,7 +1,7 @@ [SdbInfo] Ver=5 [loader.c] -T=4aa4e4e3 +T=4aa7256f 1=incs_loader.h 2=fsl.h 3=fsl_user.h @@ -10,13 +10,13 @@ T=4aa4e4e3 6=pm.h 7=rtc.h [pm.c] -T=4a9e6e71 +T=4aa7a33d 1=incs_loader.h 2=adc.h 3=led.h 4=pm.h [i2c_ctr.c] -T=4a9e6e71 +T=4aa79d0f 1=incs.h [main.c] T=4a9e6e71 @@ -31,25 +31,25 @@ T=4aa4d76e T=4a9e6e71 1=incs_loader.h [i2c_mcu.c] -T=4a9e6e71 -1=incs_loader.h +T=4aa62b41 +1=incs.h 2=i2c_mcu.h [i2c_twl.c] -T=4a9e6e71 +T=4aa76932 1=incs.h 2=i2c_twl_defs.h [ini_VECT.c] -T=4a8a91dd +T=4aa7640c 1=config.h [led.c] -T=4a9e6e71 +T=4aa79cca 1=incs.h 2=led.h [rtc.c] -T=4a9e6e71 +T=4aa5d679 1=incs.h [vreg_ctr.c] -T=4a9f065a +T=4aa79e8f 1=incs.h 2=vreg_ctr.h 3=rtc.h @@ -57,27 +57,29 @@ T=4a9f065a 5=accero.h 6=pm.h [vreg_twl.c] -T=4a9e6e71 +T=4aa79102 1=incs.h 2=jhl_defs.h 3=vreg_twl.h [tasks.c] -T=4aa0b01d +T=4aa7a3d8 1=incs.h +2=renge\renge.h +3=pm.h [adc.c] -T=4a9e6e71 -1=incs_loader.h +T=4aa79102 +1=incs.h 2=adc.h 3=pm.h 4=led.h -5=..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\assert.h [renge\renge.c] -T=4a7d2b02 -1=renge\renge_task_intval.h -2=renge\renge_task_immediate.h -3=WDT.h +T=4aa7959d +1=renge\renge_defs.h +2=renge\renge_task_intval.h +3=renge\renge_task_immediate.h +4=WDT.h [tasks_sys.c] -T=4aa4c968 +T=4aa79884 1=incs.h 2=i2c_twl.h 3=i2c_ctr.h @@ -86,10 +88,10 @@ T=4aa4c968 6=pm.h 7=rtc.h [accero.c] -T=4a9e6e71 +T=4aa79c1f 1=incs.h [self_flash.c] -T=4aa4698a +T=4aa79d0f 1=incs_loader.h 2=fsl.h 3=fsl_user.h @@ -107,24 +109,24 @@ T=4a9e6e71 [jhl_defs.h] T=4a9e6e71 [user_define.h] -T=4a9e6e71 +T=4aa74fb6 1=config.h [config.h] -T=4aa0a25c +T=4aa768d4 [bsr_system.h] -T=4a023057 +T=4aa78748 1=jhl_defs.h [renge\renge.h] T=4a548ddd 1=renge\renge_defs.h 2=renge\renge_task_immediate.h [renge\renge_defs.h] -T=4a5547e1 +T=4aa79102 [renge\renge_task_immediate.h] T=4a8a7575 1=renge\renge_defs.h [vreg_ctr.h] -T=4a9f09c2 +T=4aa7a193 [loader.h] T=4a7a31d0 1=jhl_defs.h @@ -139,14 +141,14 @@ T=4a7bf458 [i2c_ctr.h] T=4a7c0777 [pm.h] -T=4a9e6e71 +T=4aa7a30d [rtc.h] T=4a9e6e71 [adc.h] -T=4a2e6395 +T=4aa74fb6 1=jhl_defs.h [led.h] -T=4a8aa5ff +T=4aa74fb6 [incs.h] T=4a9e6e71 1=jhl_defs.h @@ -157,16 +159,14 @@ T=4a9e6e71 6=vreg_twl.h 7=i2c_mcu.h [vreg_twl.h] -T=4a9e6e71 +T=4aa79c31 [accero.h] -T=4a9e6e71 +T=4aa7853b 1=jhl_defs.h [i2c_twl_defs.h] T=4a7c074e -[..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\assert.h] -T=440fd290 [renge\renge_task_intval.h] -T=4a78118b +T=4aa787f2 1=renge\renge_defs.h [i2c_twl.h] T=4a7c0786