mirror of
https://github.com/rvtr/ctr_mcu.git
synced 2025-06-18 16:45:33 -04:00
0.23
VolをTWLからも書けるように スライダとの後着優先になる Codecの「書いたVolと違う値にセットされる(MAX?)」バグワークアラウンドのため、ポーリングするように再度変更 TWLからも書けるのと併せ、そのつもりで作っていたかったので修正箇所が多い スライダのレジスタの値を読み出されるのでスライダのアソビを考えてスケーリングするよう変更 テーブル引きのテーブルをいじるのでは対応出来ない ADCのフィルタの誤り。閾値付近でふらふらしてしまっていた。フィルタの意味なし 電池残量0時のデフォルトパターンを設定。 ほぼすっからかんな電池をセットされたときなどでSoCから何も書かれてない状態の時、消灯で不便なため 電源LED autoでホタルにしない用にした。 ホタル消そうか… ファームが壊れ、バックアップからも復帰できないときに赤LEDを ぴぴっ、ぴぴっ と点滅させるように変更 ファームバックアップ後、新ファーム書き込み中のある期間で電源を落とすとバックアップが消える? todo:デバッグコードが残っている MGICにバッテリーパラメータを書くタイミングを変更(パラメータ転送~に時間が掛かるため) 1)電池交換を検出したとき 2)電源を入れようとしたときに万が一電池がすり替わってたとき 電圧で電池残量をキャップする 分解能20mVではあまりよろしい結果が得られなかったのでMGICより下位バイトも取得するように変更 比較部をリファクタリング wait_msを違うモジュールに ROM上のbootブロックに置きたかったため Vol更新コマンド ビットの自動クリアを忘れていた バッテリ残量パラメータ更新 ビットシフトが必要になったので対応 残念なコードに 電源LED赤とカメラLEDがひっくり返っていた VOLテーブルを-10dbに更新 git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@200 013db118-44a6-b54f-8bf7-843cb86687b1
This commit is contained in:
parent
7dde520ba2
commit
3da96fcad8
@ -14,7 +14,7 @@
|
||||
#define WDT_Restart() WDTE = WDT_RESTART_MAGIC
|
||||
|
||||
// 規定値以外を書くと例外でリセットがかかる
|
||||
#define mcu_reset WDTE = 0xFF
|
||||
#define mcu_wdt_reset WDTE = 0x0
|
||||
|
||||
|
||||
#endif
|
||||
|
141
trunk/adc.c
141
trunk/adc.c
@ -22,6 +22,9 @@ bit adc_updated;
|
||||
|
||||
u8 adc_raw_vol;
|
||||
u8 adc_raw_dep;
|
||||
u8 vol_written_ctr;
|
||||
|
||||
bit vol_by_twl;
|
||||
|
||||
|
||||
typedef struct filter_work
|
||||
@ -38,17 +41,16 @@ filter_work work_vr_3d = {
|
||||
|
||||
|
||||
u8 vol_data_ctr;
|
||||
u8 vol_data_ctr_tmp;
|
||||
filter_work work_vr_vol = {
|
||||
&vol_data_ctr
|
||||
&vol_data_ctr_tmp
|
||||
};
|
||||
|
||||
u8 vol_data;
|
||||
|
||||
|
||||
|
||||
// ===================================================== //
|
||||
extern void nop8();
|
||||
static void adc_filter( u8 new_val, filter_work* work );
|
||||
static u8 adc_scaling( u8 );
|
||||
|
||||
|
||||
|
||||
@ -82,12 +84,41 @@ void tsk_adc( )
|
||||
static u8 sndvol_codec;
|
||||
static u8 bt_temp_old;
|
||||
|
||||
#ifdef _DEBUG_PM_BOMB_VOL_
|
||||
if( system_status.pwr_state == ON )
|
||||
#if 0
|
||||
// debug
|
||||
{
|
||||
static u16 loop;
|
||||
static u8 dat_old;
|
||||
static bit interval;
|
||||
/*
|
||||
// VOL書き頻度を半分にする
|
||||
interval++;
|
||||
if( !interval )
|
||||
{
|
||||
return;
|
||||
}
|
||||
*/
|
||||
if( system_status.pwr_state == ON )
|
||||
{
|
||||
loop++;
|
||||
if( loop == 499 ){
|
||||
// vol_written_ctr = 0;
|
||||
}
|
||||
else if( loop == 500 ){
|
||||
vol_written_ctr = 0;
|
||||
loop = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
vol_written_ctr = slider_to_codec[ vol_data_ctr ];
|
||||
}
|
||||
}
|
||||
renge_task_immed_add( tski_vol_update );
|
||||
}
|
||||
//*/
|
||||
#endif
|
||||
|
||||
renge_task_immed_add( tski_vol_update ); // T = 2ms polling
|
||||
|
||||
if( task_interval-- != 0 )
|
||||
{
|
||||
@ -105,24 +136,29 @@ void tsk_adc( )
|
||||
if( system_status.pwr_state == ON )
|
||||
{
|
||||
// 3D /////////////////////////////////////////
|
||||
adc_filter( adc_raw_dep, &work_vr_3d );
|
||||
adc_filter( adc_scaling( adc_raw_dep ), &work_vr_3d );
|
||||
|
||||
// Volume /////////////////////////////////////
|
||||
if(( vreg_ctr[ VREG_C_VOL_DIGITAL ] & 0x80 ) != 0 )
|
||||
{
|
||||
// レジスタから強制セット
|
||||
adc_raw_vol = ( vreg_ctr[ VREG_C_VOL_DIGITAL ] * 4 );
|
||||
}
|
||||
|
||||
{
|
||||
static u8 vol_old;
|
||||
|
||||
adc_filter( adc_raw_vol, &work_vr_vol );
|
||||
adc_filter( adc_scaling( adc_raw_vol ), &work_vr_vol ); // 結果は*work_vr_volから指されるvol_data_ctr 読みにくい...
|
||||
vol_data_ctr = vol_data_ctr_tmp / 4;
|
||||
|
||||
if(( vreg_ctr[ VREG_C_VOL_DIGITAL ] & REG_BIT_VOL_FORCE_REG ) != 0 )
|
||||
{
|
||||
// レジスタから強制セット
|
||||
vol_data_ctr = ( vreg_ctr[ VREG_C_VOL_DIGITAL ] & ~( REG_BIT_VOL_RESET | REG_BIT_VOL_FORCE_REG ) );
|
||||
}
|
||||
|
||||
if( vol_old != vol_data_ctr )
|
||||
{
|
||||
vol_old = vol_data_ctr;
|
||||
vol_data = vol_data_ctr;
|
||||
renge_task_immed_add( tski_vol_update );
|
||||
vol_by_twl = 0;
|
||||
vreg_ctr[ VREG_C_SND_VOL ] = vol_data_ctr; // 64段
|
||||
vol_written_ctr = slider_to_codec[ vol_data_ctr ];
|
||||
vreg_twl[ REG_TWL_INT_ADRS_VOL ] = vol_data_ctr / 2;
|
||||
// renge_task_immed_add( tski_vol_update ); 2ms後でいいでしょう...
|
||||
}
|
||||
}
|
||||
|
||||
@ -157,22 +193,28 @@ task_status_immed tski_vol_update()
|
||||
{
|
||||
u8 vol_scaled;
|
||||
u8 temp;
|
||||
u8 i;
|
||||
|
||||
vol_scaled = ( vol_data / 4 ) & 0x3F;
|
||||
// レジスタ更新
|
||||
vreg_twl[ REG_TWL_INT_ADRS_VOL ] = vol_data / ( 256 / 32 ); // ←adc値でよい
|
||||
vreg_ctr[ VREG_C_SND_VOL ] = vol_scaled; // 64段
|
||||
// SPIでかくテスト todo
|
||||
// return( ERR_FINISED );
|
||||
|
||||
// codecに伝える
|
||||
temp = slider_to_codec[ vol_scaled ];
|
||||
iic_mcu_write_a_byte( IIC_SLA_CODEC, CODEC_REG_VOL, temp );
|
||||
// ベリファイ
|
||||
if( iic_mcu_read_a_byte( IIC_SLA_CODEC, CODEC_REG_VOL ) != temp )
|
||||
if( vol_by_twl )
|
||||
{
|
||||
iic_mcu_write_a_byte( IIC_SLA_CODEC, CODEC_REG_VOL, temp );
|
||||
NOP();
|
||||
temp = slider_to_codec[ vreg_twl[ REG_TWL_INT_ADRS_VOL ] * 2 ];
|
||||
}
|
||||
else
|
||||
{
|
||||
temp = vol_written_ctr;
|
||||
}
|
||||
|
||||
// debug todo
|
||||
iic_mcu_read_a_byte( IIC_SLA_CODEC, CODEC_REG_VOL );
|
||||
|
||||
// codecに伝える
|
||||
iic_mcu_write_a_byte( IIC_SLA_CODEC, CODEC_REG_VOL, temp );
|
||||
|
||||
// debug todo
|
||||
iic_mcu_read_a_byte( IIC_SLA_CODEC, CODEC_REG_VOL );
|
||||
|
||||
#ifndef _MODEL_CTR_
|
||||
iic_mcu_write_a_byte( IIC_SLA_DCP, 0, slider_to_codec[ ( 255 - vol_data ) / 4 ] );
|
||||
@ -338,6 +380,36 @@ u8 get_adc( u8 ch )
|
||||
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
VRの可動範囲を考えてスケーリング
|
||||
======================================================== */
|
||||
#define ASOBI 10
|
||||
static u8 adc_scaling( u8 orig_val )
|
||||
{
|
||||
u16 temp;
|
||||
|
||||
if( orig_val > ( 255 - ASOBI ))
|
||||
{
|
||||
return( 255 );
|
||||
}
|
||||
|
||||
if( orig_val <= ASOBI )
|
||||
{
|
||||
return( 0 );
|
||||
}
|
||||
|
||||
orig_val -= ASOBI;
|
||||
temp = (u16)( orig_val * 256 ) / ( 256 - ( 2 * ASOBI ));
|
||||
|
||||
return( (u8)( temp & 0xFF ) );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
似非ヒステリシス V2
|
||||
四捨五入的な動きします
|
||||
@ -346,10 +418,7 @@ u8 get_adc( u8 ch )
|
||||
static void adc_filter( u8 new_val, filter_work *work )
|
||||
{
|
||||
u8 temp;
|
||||
volatile u8 hoge;
|
||||
|
||||
|
||||
// if( abs( new_val - *( work -> value_used )) >= 2 )
|
||||
if( abs( new_val - *( work -> value_used )) > 2 )
|
||||
{
|
||||
// 大きく離れた
|
||||
@ -371,16 +440,18 @@ static void adc_filter( u8 new_val, filter_work *work )
|
||||
|
||||
if( --( work -> kikan ) == 0 )
|
||||
{
|
||||
if( work -> diffs > (s8)( KIKAN * 0.8 ) )
|
||||
if( ( work -> diffs ) == KIKAN )
|
||||
// if( ( work -> diffs ) > (s8)( KIKAN * 0.8 ) )
|
||||
{
|
||||
*( work -> value_used ) += 1;
|
||||
*( work -> value_used ) = *( work -> value_used ) + 1;
|
||||
}
|
||||
else if( work -> diffs < (s8)( -1 * KIKAN * 0.8 ) )
|
||||
else if( ( work -> diffs ) == ( -1 * KIKAN ) )
|
||||
// else if( ( work -> diffs ) < (s8)( -1 * KIKAN * 0.8 ) )
|
||||
{
|
||||
*( work -> value_used ) -= 1;
|
||||
*( work -> value_used ) = *( work -> value_used ) - 1;
|
||||
}
|
||||
work -> kikan = KIKAN;
|
||||
work -> diffs = 0;
|
||||
work -> kikan = KIKAN;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -7,43 +7,43 @@
|
||||
const u8 BT_PARAM[][64] = {
|
||||
// ID = 0 GND マクセル
|
||||
{
|
||||
0xAD, 0x30, 0xAE, 0x70, 0xB0, 0x00, 0xB3, 0x00,
|
||||
0xB4, 0x70, 0xB5, 0xA0, 0xB7, 0x80, 0xBA, 0x00,
|
||||
0x9E, 0x00, 0xAB, 0xD0, 0xB8, 0x20, 0xB8, 0xC0,
|
||||
0xB9, 0x50, 0xB9, 0xE0, 0xBB, 0x60, 0xBE, 0x30,
|
||||
|
||||
0xBB, 0x90, 0xBD, 0x00, 0xBE, 0x00, 0xBF, 0xF0,
|
||||
0xC3, 0x00, 0xC5, 0xC0, 0xC8, 0x00, 0xCA, 0xC0,
|
||||
0xBF, 0x20, 0xBF, 0xE0, 0xC0, 0x30, 0xC2, 0x20,
|
||||
0xC4, 0x50, 0xC9, 0x50, 0xCB, 0x00, 0xD0, 0xC0,
|
||||
|
||||
0x04, 0x00, 0x12, 0x00, 0x0C, 0x10, 0x24, 0x00,
|
||||
0x10, 0xD0, 0x1B, 0xF0, 0x0A, 0xF0, 0x08, 0xE0,
|
||||
0x01, 0x40, 0x00, 0xA0, 0x5B, 0xC0, 0x6A, 0x80,
|
||||
0x34, 0x20, 0x10, 0x00, 0x32, 0x20, 0x54, 0x60,
|
||||
|
||||
0x0C, 0xF0, 0x08, 0xC0, 0x08, 0xB0, 0x07, 0xF0,
|
||||
0x0B, 0x00, 0x05, 0xD0, 0x02, 0x00, 0x09, 0x00
|
||||
0x03, 0x60, 0x5F, 0xC0, 0x1B, 0xC0, 0x15, 0x80,
|
||||
0x17, 0xA0, 0x02, 0x60, 0x15, 0xE0, 0x15, 0xE0,
|
||||
},
|
||||
{ // ID = 1 120 ohm (ダミーでマクセル)
|
||||
0xAD, 0x30, 0xAE, 0x70, 0xB0, 0x00, 0xB3, 0x00,
|
||||
0xB4, 0x70, 0xB5, 0xA0, 0xB7, 0x80, 0xBA, 0x00,
|
||||
0x9E, 0x00, 0xAB, 0xD0, 0xB8, 0x20, 0xB8, 0xC0,
|
||||
0xB9, 0x50, 0xB9, 0xE0, 0xBB, 0x60, 0xBE, 0x30,
|
||||
|
||||
0xBB, 0x90, 0xBD, 0x00, 0xBE, 0x00, 0xBF, 0xF0,
|
||||
0xC3, 0x00, 0xC5, 0xC0, 0xC8, 0x00, 0xCA, 0xC0,
|
||||
0xBF, 0x20, 0xBF, 0xE0, 0xC0, 0x30, 0xC2, 0x20,
|
||||
0xC4, 0x50, 0xC9, 0x50, 0xCB, 0x00, 0xD0, 0xC0,
|
||||
|
||||
0x04, 0x00, 0x12, 0x00, 0x0C, 0x10, 0x24, 0x00,
|
||||
0x10, 0xD0, 0x1B, 0xF0, 0x0A, 0xF0, 0x08, 0xE0,
|
||||
0x01, 0x40, 0x00, 0xA0, 0x5B, 0xC0, 0x6A, 0x80,
|
||||
0x34, 0x20, 0x10, 0x00, 0x32, 0x20, 0x54, 0x60,
|
||||
|
||||
0x0C, 0xF0, 0x08, 0xC0, 0x08, 0xB0, 0x07, 0xF0,
|
||||
0x0B, 0x00, 0x05, 0xD0, 0x02, 0x00, 0x09, 0x00
|
||||
0x03, 0x60, 0x5F, 0xC0, 0x1B, 0xC0, 0x15, 0x80,
|
||||
0x17, 0xA0, 0x02, 0x60, 0x15, 0xE0, 0x15, 0xE0,
|
||||
},
|
||||
{ // ID = 2 360 hom (ダミーでマクセル)
|
||||
0xAD, 0x30, 0xAE, 0x70, 0xB0, 0x00, 0xB3, 0x00,
|
||||
0xB4, 0x70, 0xB5, 0xA0, 0xB7, 0x80, 0xBA, 0x00,
|
||||
0x9E, 0x00, 0xAB, 0xD0, 0xB8, 0x20, 0xB8, 0xC0,
|
||||
0xB9, 0x50, 0xB9, 0xE0, 0xBB, 0x60, 0xBE, 0x30,
|
||||
|
||||
0xBB, 0x90, 0xBD, 0x00, 0xBE, 0x00, 0xBF, 0xF0,
|
||||
0xC3, 0x00, 0xC5, 0xC0, 0xC8, 0x00, 0xCA, 0xC0,
|
||||
0xBF, 0x20, 0xBF, 0xE0, 0xC0, 0x30, 0xC2, 0x20,
|
||||
0xC4, 0x50, 0xC9, 0x50, 0xCB, 0x00, 0xD0, 0xC0,
|
||||
|
||||
0x04, 0x00, 0x12, 0x00, 0x0C, 0x10, 0x24, 0x00,
|
||||
0x10, 0xD0, 0x1B, 0xF0, 0x0A, 0xF0, 0x08, 0xE0,
|
||||
0x01, 0x40, 0x00, 0xA0, 0x5B, 0xC0, 0x6A, 0x80,
|
||||
0x34, 0x20, 0x10, 0x00, 0x32, 0x20, 0x54, 0x60,
|
||||
|
||||
0x0C, 0xF0, 0x08, 0xC0, 0x08, 0xB0, 0x07, 0xF0,
|
||||
0x0B, 0x00, 0x05, 0xD0, 0x02, 0x00, 0x09, 0x00
|
||||
0x03, 0x60, 0x5F, 0xC0, 0x1B, 0xC0, 0x15, 0x80,
|
||||
0x17, 0xA0, 0x02, 0x60, 0x15, 0xE0, 0x15, 0xE0,
|
||||
},
|
||||
{ // ID = 3 750 ohm (ダミーでパナ)
|
||||
0x8C, 0x30, 0x9C, 0x10, 0xA5, 0xE0, 0xB0, 0x40,
|
||||
@ -115,9 +115,9 @@ typedef struct _st_bt_comp
|
||||
// 電池残量補正パラメータ
|
||||
const st_bt_comp BT_COMP[] = {
|
||||
// rcomp R_co_up R_co_down
|
||||
{ 135, -256* 0.15, -256* 2.15 }, // maxell
|
||||
{ 135, -256* 0.15, -256* 2.15 }, // dummy(M )
|
||||
{ 135, -256* 0.15, -256* 2.15 }, // dummy(M )
|
||||
{ 85, -256* 1.15, -256* 4.35 }, // maxell
|
||||
{ 85, -256* 1.15, -256* 4.35 }, // dummy(M )
|
||||
{ 85, -256* 1.15, -256* 4.35 }, // dummy(M )
|
||||
{ 171, -256* 1.00, -256* 2.60 }, // dummy( P)
|
||||
{ 171, -256* 1.00, -256* 2.60 }, // dummy( P)
|
||||
{ 171, -256* 1.00, -256* 2.60 }, // panasonic
|
||||
@ -134,4 +134,12 @@ const u8 BT_VERIFY_L[] = {
|
||||
0xFC, 0xFC, 0xFC, // maxell, dummy, dummy,
|
||||
0x67, 0x67, 0x67, 0x67 // dummy, dummy, panaso, dummy
|
||||
};
|
||||
|
||||
const u8 BT_RCOMP_SCALE[] = {
|
||||
2, 2, 2, // maxell, dummy, dummy,
|
||||
1, 1, 1, 1 // dummy, dummy, panaso, dummy
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
1821
trunk/bsr.hex
1821
trunk/bsr.hex
File diff suppressed because it is too large
Load Diff
BIN
trunk/bsr.lmf
BIN
trunk/bsr.lmf
Binary file not shown.
@ -1,7 +1,7 @@
|
||||
|
||||
|
||||
|
||||
78K0R Linker W1.31 Date:30 Jun 2010 Page: 1
|
||||
78K0R Linker W1.31 Date: 6 Jul 2010 Page: 1
|
||||
|
||||
Command: -yC:\Program Files\NEC Electronics Tools\DEV -_msgoff -obsr.l
|
||||
mf ..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10
|
||||
@ -23,9 +23,9 @@ Direc-file:bsr_mcu.dr
|
||||
|
||||
*** Link information ***
|
||||
|
||||
67 output segment(s)
|
||||
3B86H byte(s) real data
|
||||
5270 symbol(s) defined
|
||||
66 output segment(s)
|
||||
3BC8H byte(s) real data
|
||||
5417 symbol(s) defined
|
||||
|
||||
|
||||
*** Memory map ***
|
||||
@ -90,54 +90,51 @@ Direc-file:bsr_mcu.dr
|
||||
000C4H 00000H
|
||||
?CSEGSI 000C4H 0000AH CSEG
|
||||
?OCDSTAD 000CEH 0000AH CSEG
|
||||
LDR_CODE 000D8H 006F0H CSEG
|
||||
LDR_CODE loader 000D8H 0018BH
|
||||
LDR_CODE main 00263H 0006AH
|
||||
LDR_CODE WDT 002CDH 00000H
|
||||
LDR_CODE i2c_mcu 002CDH 002BCH
|
||||
LDR_CODE 000D8H 008B6H CSEG
|
||||
LDR_CODE loader 000D8H 001E0H
|
||||
LDR_CODE main 002B8H 0006EH
|
||||
LDR_CODE WDT 00326H 00000H
|
||||
LDR_CODE i2c_mcu 00326H 002AAH
|
||||
LDR_CODE self_flash
|
||||
00589H 0023FH
|
||||
@@LCODE 007C8H 00386H CSEG
|
||||
@@LCODE @cstart 007C8H 0006DH
|
||||
@@LCODE @imul 00835H 00011H
|
||||
@@LCODE @lumul 00846H 0002BH
|
||||
@@LCODE @isdiv 00871H 00022H
|
||||
@@LCODE @iudiv 00893H 0002DH
|
||||
@@LCODE @isrem 008C0H 00021H
|
||||
@@LCODE @iurem 008E1H 0002FH
|
||||
@@LCODE @lsdiv 00910H 00039H
|
||||
@@LCODE @ludiv 00949H 0003FH
|
||||
@@LCODE @ladd 00988H 0000FH
|
||||
@@LCODE @llsh 00997H 0001BH
|
||||
@@LCODE @lursh 009B2H 0001FH
|
||||
@@LCODE @iscmp 009D1H 0000CH
|
||||
@@LCODE @lband 009DDH 00014H
|
||||
@@LCODE @bcdtob 009F1H 0001AH
|
||||
@@LCODE @bbcd 00A0BH 00024H
|
||||
@@LCODE m_fcmp 00A2FH 00073H
|
||||
@@LCODE m_fcom5 00AA2H 0002AH
|
||||
@@LCODE m_fcom6 00ACCH 0001FH
|
||||
@@LCODE m_lstof 00AEBH 00016H
|
||||
@@LCODE m_lutof 00B01H 0004DH
|
||||
FSL_CODE 00B4EH 00322H CSEG
|
||||
005D0H 003BEH
|
||||
FSL_CODE 0098EH 00322H CSEG
|
||||
FSL_CODE fsl_block_cmd
|
||||
00B4EH 0002BH
|
||||
0098EH 0002BH
|
||||
FSL_CODE fsl_block_check
|
||||
00B79H 00013H
|
||||
009B9H 00013H
|
||||
FSL_CODE fsl_common
|
||||
00B8CH 0014FH
|
||||
009CCH 0014FH
|
||||
FSL_CODE fsl_reset
|
||||
00CDBH 00001H
|
||||
00B1BH 00001H
|
||||
FSL_CODE fsl_si_ibf
|
||||
00CDCH 00064H
|
||||
00B1CH 00064H
|
||||
FSL_CODE fsl_phySwap
|
||||
00D40H 0004DH
|
||||
00B80H 0004DH
|
||||
FSL_CODE fsl_si_common
|
||||
00D8DH 00061H
|
||||
FSL_CODE fsl_swap 00DEEH 00030H
|
||||
00BCDH 00061H
|
||||
FSL_CODE fsl_swap 00C2EH 00030H
|
||||
FSL_CODE fsl_write
|
||||
00E1EH 00052H
|
||||
* gap * 00E70H 00186H
|
||||
00C5EH 00052H
|
||||
@@LCODE 00CB0H 002AFH CSEG
|
||||
@@LCODE @cstart 00CB0H 0006DH
|
||||
@@LCODE @imul 00D1DH 00011H
|
||||
@@LCODE @lumul 00D2EH 0002BH
|
||||
@@LCODE @isdiv 00D59H 00022H
|
||||
@@LCODE @iudiv 00D7BH 0002DH
|
||||
@@LCODE @isrem 00DA8H 00021H
|
||||
@@LCODE @iurem 00DC9H 0002FH
|
||||
@@LCODE @lsdiv 00DF8H 00039H
|
||||
@@LCODE @ludiv 00E31H 0003FH
|
||||
@@LCODE @divuw 00E70H 00034H
|
||||
@@LCODE @ladd 00EA4H 0000FH
|
||||
@@LCODE @llsh 00EB3H 0001BH
|
||||
@@LCODE @lursh 00ECEH 0001FH
|
||||
@@LCODE @iscmp 00EEDH 0000CH
|
||||
@@LCODE @lscmp 00EF9H 00014H
|
||||
@@LCODE @lband 00F0DH 00014H
|
||||
@@LCODE @bcdtob 00F21H 0001AH
|
||||
@@LCODE @bbcd 00F3BH 00024H
|
||||
* gap * 00F5FH 00097H
|
||||
MGC_LOAD 00FF6H 0000AH CSEG AT
|
||||
MGC_LOAD magic 00FF6H 0000AH
|
||||
|
||||
@ -189,125 +186,154 @@ Direc-file:bsr_mcu.dr
|
||||
@@CNSTL @bcdtob 02000H 0000AH
|
||||
@@CNSTL 0200AH 00010H CSEG PAGE64KP
|
||||
@@CNSTL @bbcd 0200AH 00010H
|
||||
@@CNSTL 0201AH 000CEH CSEG PAGE64KP
|
||||
@@CNSTL m_fcom5 0201AH 000CEH
|
||||
@@R_INIS 020E8H 00000H CSEG UNIT64KP
|
||||
@@R_INIS @cstart 020E8H 00000H
|
||||
@@R_INIS loader 020E8H 00000H
|
||||
@@R_INIS pm 020E8H 00000H
|
||||
@@R_INIS i2c_ctr 020E8H 00000H
|
||||
@@R_INIS main 020E8H 00000H
|
||||
@@R_INIS magic 020E8H 00000H
|
||||
@@R_INIS WDT 020E8H 00000H
|
||||
@@R_INIS i2c_mcu 020E8H 00000H
|
||||
@@R_INIS i2c_twl 020E8H 00000H
|
||||
@@R_INIS led 020E8H 00000H
|
||||
@@R_INIS rtc 020E8H 00000H
|
||||
@@R_INIS vreg_ctr 020E8H 00000H
|
||||
@@R_INIS vreg_twl 020E8H 00000H
|
||||
@@R_INIS adc 020E8H 00000H
|
||||
@@R_INIS renge 020E8H 00000H
|
||||
@@R_INIS accero 020E8H 00000H
|
||||
@@R_INIT 0201AH 0003CH CSEG UNIT64KP
|
||||
@@R_INIT @cstart 0201AH 00000H
|
||||
@@R_INIT loader 0201AH 00000H
|
||||
@@R_INIT pm 0201AH 00002H
|
||||
@@R_INIT i2c_ctr 0201CH 00002H
|
||||
@@R_INIT main 0201EH 00000H
|
||||
@@R_INIT magic 0201EH 00000H
|
||||
@@R_INIT WDT 0201EH 00000H
|
||||
@@R_INIT i2c_mcu 0201EH 00000H
|
||||
@@R_INIT i2c_twl 0201EH 00000H
|
||||
@@R_INIT led 0201EH 00006H
|
||||
@@R_INIT rtc 02024H 00000H
|
||||
@@R_INIT vreg_ctr 02024H 00000H
|
||||
@@R_INIT vreg_twl 02024H 00000H
|
||||
@@R_INIT adc 02024H 0000AH
|
||||
@@R_INIT renge 0202EH 00018H
|
||||
@@R_INIT accero 02046H 00000H
|
||||
@@R_INIT self_flash
|
||||
02046H 00000H
|
||||
@@R_INIT sw 02046H 00002H
|
||||
@@R_INIT task_debug
|
||||
02048H 00002H
|
||||
@@R_INIT task_misc
|
||||
0204AH 00000H
|
||||
@@R_INIT task_sys 0204AH 00002H
|
||||
@@R_INIT pedo_alg_thre_det2
|
||||
0204CH 00008H
|
||||
@@R_INIT ini_VECT 02054H 00000H
|
||||
@@R_INIT task_status
|
||||
02054H 00002H
|
||||
@@R_INIT @rom 02056H 00000H
|
||||
@@R_INIS 02056H 00000H CSEG UNIT64KP
|
||||
@@R_INIS @cstart 02056H 00000H
|
||||
@@R_INIS loader 02056H 00000H
|
||||
@@R_INIS pm 02056H 00000H
|
||||
@@R_INIS i2c_ctr 02056H 00000H
|
||||
@@R_INIS main 02056H 00000H
|
||||
@@R_INIS magic 02056H 00000H
|
||||
@@R_INIS WDT 02056H 00000H
|
||||
@@R_INIS i2c_mcu 02056H 00000H
|
||||
@@R_INIS i2c_twl 02056H 00000H
|
||||
@@R_INIS led 02056H 00000H
|
||||
@@R_INIS rtc 02056H 00000H
|
||||
@@R_INIS vreg_ctr 02056H 00000H
|
||||
@@R_INIS vreg_twl 02056H 00000H
|
||||
@@R_INIS adc 02056H 00000H
|
||||
@@R_INIS renge 02056H 00000H
|
||||
@@R_INIS accero 02056H 00000H
|
||||
@@R_INIS self_flash
|
||||
020E8H 00000H
|
||||
@@R_INIS sw 020E8H 00000H
|
||||
02056H 00000H
|
||||
@@R_INIS sw 02056H 00000H
|
||||
@@R_INIS task_debug
|
||||
020E8H 00000H
|
||||
02056H 00000H
|
||||
@@R_INIS task_misc
|
||||
020E8H 00000H
|
||||
@@R_INIS task_sys 020E8H 00000H
|
||||
02056H 00000H
|
||||
@@R_INIS task_sys 02056H 00000H
|
||||
@@R_INIS pedo_alg_thre_det2
|
||||
020E8H 00000H
|
||||
@@R_INIS ini_VECT 020E8H 00000H
|
||||
02056H 00000H
|
||||
@@R_INIS ini_VECT 02056H 00000H
|
||||
@@R_INIS task_status
|
||||
020E8H 00000H
|
||||
@@R_INIS @rom 020E8H 00000H
|
||||
@@CALT 020E8H 00000H CSEG
|
||||
@@CALT @cstart 020E8H 00000H
|
||||
@@CALT loader 020E8H 00000H
|
||||
@@CALT pm 020E8H 00000H
|
||||
@@CALT i2c_ctr 020E8H 00000H
|
||||
@@CALT main 020E8H 00000H
|
||||
@@CALT magic 020E8H 00000H
|
||||
@@CALT WDT 020E8H 00000H
|
||||
@@CALT i2c_mcu 020E8H 00000H
|
||||
@@CALT i2c_twl 020E8H 00000H
|
||||
@@CALT led 020E8H 00000H
|
||||
@@CALT rtc 020E8H 00000H
|
||||
@@CALT vreg_ctr 020E8H 00000H
|
||||
@@CALT vreg_twl 020E8H 00000H
|
||||
@@CALT adc 020E8H 00000H
|
||||
@@CALT renge 020E8H 00000H
|
||||
@@CALT accero 020E8H 00000H
|
||||
02056H 00000H
|
||||
@@R_INIS @rom 02056H 00000H
|
||||
@@CALT 02056H 00000H CSEG
|
||||
@@CALT @cstart 02056H 00000H
|
||||
@@CALT loader 02056H 00000H
|
||||
@@CALT pm 02056H 00000H
|
||||
@@CALT i2c_ctr 02056H 00000H
|
||||
@@CALT main 02056H 00000H
|
||||
@@CALT magic 02056H 00000H
|
||||
@@CALT WDT 02056H 00000H
|
||||
@@CALT i2c_mcu 02056H 00000H
|
||||
@@CALT i2c_twl 02056H 00000H
|
||||
@@CALT led 02056H 00000H
|
||||
@@CALT rtc 02056H 00000H
|
||||
@@CALT vreg_ctr 02056H 00000H
|
||||
@@CALT vreg_twl 02056H 00000H
|
||||
@@CALT adc 02056H 00000H
|
||||
@@CALT renge 02056H 00000H
|
||||
@@CALT accero 02056H 00000H
|
||||
@@CALT self_flash
|
||||
020E8H 00000H
|
||||
@@CALT sw 020E8H 00000H
|
||||
02056H 00000H
|
||||
@@CALT sw 02056H 00000H
|
||||
@@CALT task_debug
|
||||
020E8H 00000H
|
||||
02056H 00000H
|
||||
@@CALT task_misc
|
||||
020E8H 00000H
|
||||
@@CALT task_sys 020E8H 00000H
|
||||
02056H 00000H
|
||||
@@CALT task_sys 02056H 00000H
|
||||
@@CALT pedo_alg_thre_det2
|
||||
020E8H 00000H
|
||||
@@CALT ini_VECT 020E8H 00000H
|
||||
02056H 00000H
|
||||
@@CALT ini_VECT 02056H 00000H
|
||||
@@CALT task_status
|
||||
020E8H 00000H
|
||||
@@RLINIT 020E8H 00000H CSEG UNIT64KP
|
||||
@@RLINIT loader 020E8H 00000H
|
||||
@@RLINIT pm 020E8H 00000H
|
||||
@@RLINIT i2c_ctr 020E8H 00000H
|
||||
@@RLINIT main 020E8H 00000H
|
||||
@@RLINIT magic 020E8H 00000H
|
||||
@@RLINIT WDT 020E8H 00000H
|
||||
@@RLINIT i2c_mcu 020E8H 00000H
|
||||
@@RLINIT i2c_twl 020E8H 00000H
|
||||
@@RLINIT led 020E8H 00000H
|
||||
@@RLINIT rtc 020E8H 00000H
|
||||
@@RLINIT vreg_ctr 020E8H 00000H
|
||||
@@RLINIT vreg_twl 020E8H 00000H
|
||||
@@RLINIT adc 020E8H 00000H
|
||||
@@RLINIT renge 020E8H 00000H
|
||||
@@RLINIT accero 020E8H 00000H
|
||||
02056H 00000H
|
||||
@@RLINIT 02056H 00000H CSEG UNIT64KP
|
||||
@@RLINIT loader 02056H 00000H
|
||||
@@RLINIT pm 02056H 00000H
|
||||
@@RLINIT i2c_ctr 02056H 00000H
|
||||
@@RLINIT main 02056H 00000H
|
||||
@@RLINIT magic 02056H 00000H
|
||||
@@RLINIT WDT 02056H 00000H
|
||||
@@RLINIT i2c_mcu 02056H 00000H
|
||||
@@RLINIT i2c_twl 02056H 00000H
|
||||
@@RLINIT led 02056H 00000H
|
||||
@@RLINIT rtc 02056H 00000H
|
||||
@@RLINIT vreg_ctr 02056H 00000H
|
||||
@@RLINIT vreg_twl 02056H 00000H
|
||||
@@RLINIT adc 02056H 00000H
|
||||
@@RLINIT renge 02056H 00000H
|
||||
@@RLINIT accero 02056H 00000H
|
||||
@@RLINIT self_flash
|
||||
020E8H 00000H
|
||||
@@RLINIT sw 020E8H 00000H
|
||||
02056H 00000H
|
||||
@@RLINIT sw 02056H 00000H
|
||||
@@RLINIT task_debug
|
||||
020E8H 00000H
|
||||
02056H 00000H
|
||||
@@RLINIT task_misc
|
||||
020E8H 00000H
|
||||
@@RLINIT task_sys 020E8H 00000H
|
||||
02056H 00000H
|
||||
@@RLINIT task_sys 02056H 00000H
|
||||
@@RLINIT pedo_alg_thre_det2
|
||||
020E8H 00000H
|
||||
@@RLINIT ini_VECT 020E8H 00000H
|
||||
02056H 00000H
|
||||
@@RLINIT ini_VECT 02056H 00000H
|
||||
@@RLINIT task_status
|
||||
020E8H 00000H
|
||||
@@RLINIT @rom 020E8H 00000H
|
||||
@@CODEL 020E8H 00000H CSEG
|
||||
@@CODEL pm 020E8H 00000H
|
||||
@@CODEL i2c_ctr 020E8H 00000H
|
||||
@@CODEL magic 020E8H 00000H
|
||||
@@CODEL i2c_twl 020E8H 00000H
|
||||
@@CODEL led 020E8H 00000H
|
||||
@@CODEL rtc 020E8H 00000H
|
||||
@@CODEL vreg_ctr 020E8H 00000H
|
||||
@@CODEL vreg_twl 020E8H 00000H
|
||||
@@CODEL adc 020E8H 00000H
|
||||
@@CODEL renge 020E8H 00000H
|
||||
@@CODEL accero 020E8H 00000H
|
||||
@@CODEL sw 020E8H 00000H
|
||||
02056H 00000H
|
||||
@@RLINIT @rom 02056H 00000H
|
||||
@@CODEL 02056H 00000H CSEG
|
||||
@@CODEL pm 02056H 00000H
|
||||
@@CODEL i2c_ctr 02056H 00000H
|
||||
@@CODEL magic 02056H 00000H
|
||||
@@CODEL i2c_twl 02056H 00000H
|
||||
@@CODEL led 02056H 00000H
|
||||
@@CODEL rtc 02056H 00000H
|
||||
@@CODEL vreg_ctr 02056H 00000H
|
||||
@@CODEL vreg_twl 02056H 00000H
|
||||
@@CODEL adc 02056H 00000H
|
||||
@@CODEL renge 02056H 00000H
|
||||
@@CODEL accero 02056H 00000H
|
||||
@@CODEL sw 02056H 00000H
|
||||
@@CODEL task_debug
|
||||
020E8H 00000H
|
||||
02056H 00000H
|
||||
@@CODEL task_misc
|
||||
020E8H 00000H
|
||||
@@CODEL task_sys 020E8H 00000H
|
||||
02056H 00000H
|
||||
@@CODEL task_sys 02056H 00000H
|
||||
@@CODEL pedo_alg_thre_det2
|
||||
020E8H 00000H
|
||||
@@CODEL ini_VECT 020E8H 00000H
|
||||
02056H 00000H
|
||||
@@CODEL ini_VECT 02056H 00000H
|
||||
@@CODEL task_status
|
||||
020E8H 00000H
|
||||
@@LCODEL 020E8H 00008H CSEG
|
||||
@@LCODEL abs 020E8H 00008H
|
||||
* gap * 020F0H 00010H
|
||||
02056H 00000H
|
||||
@@LCODEL 02056H 00008H CSEG
|
||||
@@LCODEL abs 02056H 00008H
|
||||
* gap * 0205EH 000A2H
|
||||
MGC_MIMI 02100H 0000AH CSEG AT
|
||||
MGC_MIMI magic 02100H 0000AH
|
||||
@@CNST 0210AH 00290H CSEG
|
||||
@ -340,88 +366,57 @@ Direc-file:bsr_mcu.dr
|
||||
@@CNST ini_VECT 0239AH 00000H
|
||||
@@CNST task_status
|
||||
0239AH 00000H
|
||||
ROM_CODE 0239AH 024F0H CSEG
|
||||
ROM_CODE pm 0239AH 00889H
|
||||
ROM_CODE i2c_ctr 02C23H 00060H
|
||||
ROM_CODE i2c_twl 02C83H 0005EH
|
||||
ROM_CODE led 02CE1H 004FBH
|
||||
ROM_CODE rtc 031DCH 000E0H
|
||||
ROM_CODE vreg_ctr 032BCH 00444H
|
||||
ROM_CODE vreg_twl 03700H 00155H
|
||||
ROM_CODE adc 03855H 001EAH
|
||||
ROM_CODE renge 03A3FH 001EDH
|
||||
ROM_CODE accero 03C2CH 0013DH
|
||||
ROM_CODE sw 03D69H 000DDH
|
||||
ROM_CODE 0239AH 0251AH CSEG
|
||||
ROM_CODE pm 0239AH 0089FH
|
||||
ROM_CODE i2c_ctr 02C39H 00060H
|
||||
ROM_CODE i2c_twl 02C99H 0005EH
|
||||
ROM_CODE led 02CF7H 004E8H
|
||||
ROM_CODE rtc 031DFH 000E0H
|
||||
ROM_CODE vreg_ctr 032BFH 00447H
|
||||
ROM_CODE vreg_twl 03706H 00156H
|
||||
ROM_CODE adc 0385CH 00249H
|
||||
ROM_CODE renge 03AA5H 001C3H
|
||||
ROM_CODE accero 03C68H 0013DH
|
||||
ROM_CODE sw 03DA5H 000DDH
|
||||
ROM_CODE task_debug
|
||||
03E46H 0001BH
|
||||
03E82H 0001BH
|
||||
ROM_CODE task_misc
|
||||
03E61H 001B1H
|
||||
ROM_CODE task_sys 04012H 00332H
|
||||
03E9DH 001B1H
|
||||
ROM_CODE task_sys 0404EH 00320H
|
||||
ROM_CODE pedo_alg_thre_det2
|
||||
04344H 004C1H
|
||||
0436EH 004C1H
|
||||
ROM_CODE task_status
|
||||
04805H 00085H
|
||||
@@BASE 0488AH 004F0H CSEG BASE
|
||||
@@BASE loader 0488AH 00000H
|
||||
@@BASE pm 0488AH 00043H
|
||||
@@BASE i2c_ctr 048CDH 00183H
|
||||
@@BASE main 04A50H 00000H
|
||||
@@BASE magic 04A50H 00000H
|
||||
@@BASE WDT 04A50H 00000H
|
||||
@@BASE i2c_mcu 04A50H 000D9H
|
||||
@@BASE i2c_twl 04B29H 000CDH
|
||||
@@BASE led 04BF6H 00000H
|
||||
@@BASE rtc 04BF6H 00043H
|
||||
@@BASE vreg_ctr 04C39H 00000H
|
||||
@@BASE vreg_twl 04C39H 00000H
|
||||
@@BASE adc 04C39H 000BFH
|
||||
@@BASE renge 04CF8H 00000H
|
||||
@@BASE accero 04CF8H 0004AH
|
||||
0482FH 00085H
|
||||
@@BASE 048B4H 004E7H CSEG BASE
|
||||
@@BASE loader 048B4H 00000H
|
||||
@@BASE pm 048B4H 00043H
|
||||
@@BASE i2c_ctr 048F7H 00183H
|
||||
@@BASE main 04A7AH 00000H
|
||||
@@BASE magic 04A7AH 00000H
|
||||
@@BASE WDT 04A7AH 00000H
|
||||
@@BASE i2c_mcu 04A7AH 000D9H
|
||||
@@BASE i2c_twl 04B53H 000CDH
|
||||
@@BASE led 04C20H 00000H
|
||||
@@BASE rtc 04C20H 00043H
|
||||
@@BASE vreg_ctr 04C63H 00000H
|
||||
@@BASE vreg_twl 04C63H 00000H
|
||||
@@BASE adc 04C63H 000B3H
|
||||
@@BASE renge 04D16H 00000H
|
||||
@@BASE accero 04D16H 0004AH
|
||||
@@BASE self_flash
|
||||
04D42H 00000H
|
||||
@@BASE sw 04D42H 00000H
|
||||
04D60H 00000H
|
||||
@@BASE sw 04D60H 00000H
|
||||
@@BASE task_debug
|
||||
04D42H 00000H
|
||||
04D60H 00000H
|
||||
@@BASE task_misc
|
||||
04D42H 00000H
|
||||
@@BASE task_sys 04D42H 00000H
|
||||
04D60H 00000H
|
||||
@@BASE task_sys 04D60H 00000H
|
||||
@@BASE pedo_alg_thre_det2
|
||||
04D42H 00000H
|
||||
@@BASE ini_VECT 04D42H 00038H
|
||||
04D60H 00000H
|
||||
@@BASE ini_VECT 04D60H 0003BH
|
||||
@@BASE task_status
|
||||
04D7AH 00000H
|
||||
@@R_INIT 04D7AH 0003CH CSEG UNIT64KP
|
||||
@@R_INIT @cstart 04D7AH 00000H
|
||||
@@R_INIT loader 04D7AH 00000H
|
||||
@@R_INIT pm 04D7AH 00002H
|
||||
@@R_INIT i2c_ctr 04D7CH 00002H
|
||||
@@R_INIT main 04D7EH 00000H
|
||||
@@R_INIT magic 04D7EH 00000H
|
||||
@@R_INIT WDT 04D7EH 00000H
|
||||
@@R_INIT i2c_mcu 04D7EH 00000H
|
||||
@@R_INIT i2c_twl 04D7EH 00000H
|
||||
@@R_INIT led 04D7EH 00006H
|
||||
@@R_INIT rtc 04D84H 00000H
|
||||
@@R_INIT vreg_ctr 04D84H 00000H
|
||||
@@R_INIT vreg_twl 04D84H 00000H
|
||||
@@R_INIT adc 04D84H 0000AH
|
||||
@@R_INIT renge 04D8EH 00018H
|
||||
@@R_INIT accero 04DA6H 00000H
|
||||
@@R_INIT self_flash
|
||||
04DA6H 00000H
|
||||
@@R_INIT sw 04DA6H 00002H
|
||||
@@R_INIT task_debug
|
||||
04DA8H 00002H
|
||||
@@R_INIT task_misc
|
||||
04DAAH 00000H
|
||||
@@R_INIT task_sys 04DAAH 00002H
|
||||
@@R_INIT pedo_alg_thre_det2
|
||||
04DACH 00008H
|
||||
@@R_INIT ini_VECT 04DB4H 00000H
|
||||
@@R_INIT task_status
|
||||
04DB4H 00002H
|
||||
@@R_INIT @rom 04DB6H 00000H
|
||||
* gap * 04DB6H 00240H
|
||||
04D9BH 00000H
|
||||
* gap * 04D9BH 0025BH
|
||||
MGC_TAIL 04FF6H 0000AH CSEG AT
|
||||
MGC_TAIL magic 04FF6H 0000AH
|
||||
|
||||
@ -429,7 +424,7 @@ Direc-file:bsr_mcu.dr
|
||||
BASE ADDRESS=FF900H SIZE=00500H
|
||||
OUTPUT INPUT INPUT BASE SIZE
|
||||
SEGMENT SEGMENT MODULE ADDRESS
|
||||
@@DATA FF900H 003FAH DSEG BASEP
|
||||
@@DATA FF900H 003FEH DSEG BASEP
|
||||
@@DATA @cstart FF900H 00002H
|
||||
@@DATA loader FF902H 00000H
|
||||
@@DATA pm FF902H 00012H
|
||||
@ -443,180 +438,180 @@ Direc-file:bsr_mcu.dr
|
||||
@@DATA rtc FFBC4H 00008H
|
||||
@@DATA vreg_ctr FFBCCH 00056H
|
||||
@@DATA vreg_twl FFC22H 00010H
|
||||
@@DATA adc FFC32H 00012H
|
||||
@@DATA renge FFC44H 00016H
|
||||
@@DATA accero FFC5AH 00002H
|
||||
@@DATA adc FFC32H 00014H
|
||||
@@DATA renge FFC46H 00016H
|
||||
@@DATA accero FFC5CH 00002H
|
||||
@@DATA self_flash
|
||||
FFC5CH 00000H
|
||||
@@DATA sw FFC5CH 00004H
|
||||
FFC5EH 00002H
|
||||
@@DATA sw FFC60H 00004H
|
||||
@@DATA task_debug
|
||||
FFC60H 00002H
|
||||
FFC64H 00002H
|
||||
@@DATA task_misc
|
||||
FFC62H 00002H
|
||||
@@DATA task_sys FFC64H 00002H
|
||||
FFC66H 00002H
|
||||
@@DATA task_sys FFC68H 00002H
|
||||
@@DATA pedo_alg_thre_det2
|
||||
FFC66H 00092H
|
||||
@@DATA ini_VECT FFCF8H 00000H
|
||||
FFC6AH 00092H
|
||||
@@DATA ini_VECT FFCFCH 00000H
|
||||
@@DATA task_status
|
||||
FFCF8H 00002H
|
||||
@@DATA @rom FFCFAH 00000H
|
||||
@@INIT FFCFAH 0003CH DSEG BASEP
|
||||
@@INIT @cstart FFCFAH 00000H
|
||||
@@INIT loader FFCFAH 00000H
|
||||
@@INIT pm FFCFAH 00002H
|
||||
@@INIT i2c_ctr FFCFCH 00002H
|
||||
@@INIT main FFCFEH 00000H
|
||||
@@INIT magic FFCFEH 00000H
|
||||
@@INIT WDT FFCFEH 00000H
|
||||
@@INIT i2c_mcu FFCFEH 00000H
|
||||
@@INIT i2c_twl FFCFEH 00000H
|
||||
@@INIT led FFCFEH 00006H
|
||||
@@INIT rtc FFD04H 00000H
|
||||
@@INIT vreg_ctr FFD04H 00000H
|
||||
@@INIT vreg_twl FFD04H 00000H
|
||||
@@INIT adc FFD04H 0000AH
|
||||
@@INIT renge FFD0EH 00018H
|
||||
@@INIT accero FFD26H 00000H
|
||||
FFCFCH 00002H
|
||||
@@DATA @rom FFCFEH 00000H
|
||||
@@INIT FFCFEH 0003CH DSEG BASEP
|
||||
@@INIT @cstart FFCFEH 00000H
|
||||
@@INIT loader FFCFEH 00000H
|
||||
@@INIT pm FFCFEH 00002H
|
||||
@@INIT i2c_ctr FFD00H 00002H
|
||||
@@INIT main FFD02H 00000H
|
||||
@@INIT magic FFD02H 00000H
|
||||
@@INIT WDT FFD02H 00000H
|
||||
@@INIT i2c_mcu FFD02H 00000H
|
||||
@@INIT i2c_twl FFD02H 00000H
|
||||
@@INIT led FFD02H 00006H
|
||||
@@INIT rtc FFD08H 00000H
|
||||
@@INIT vreg_ctr FFD08H 00000H
|
||||
@@INIT vreg_twl FFD08H 00000H
|
||||
@@INIT adc FFD08H 0000AH
|
||||
@@INIT renge FFD12H 00018H
|
||||
@@INIT accero FFD2AH 00000H
|
||||
@@INIT self_flash
|
||||
FFD26H 00000H
|
||||
@@INIT sw FFD26H 00002H
|
||||
@@INIT task_debug
|
||||
FFD28H 00002H
|
||||
@@INIT task_misc
|
||||
FFD2AH 00000H
|
||||
@@INIT task_sys FFD2AH 00002H
|
||||
@@INIT sw FFD2AH 00002H
|
||||
@@INIT task_debug
|
||||
FFD2CH 00002H
|
||||
@@INIT task_misc
|
||||
FFD2EH 00000H
|
||||
@@INIT task_sys FFD2EH 00002H
|
||||
@@INIT pedo_alg_thre_det2
|
||||
FFD2CH 00008H
|
||||
@@INIT ini_VECT FFD34H 00000H
|
||||
FFD30H 00008H
|
||||
@@INIT ini_VECT FFD38H 00000H
|
||||
@@INIT task_status
|
||||
FFD34H 00002H
|
||||
@@INIT @rom FFD36H 00000H
|
||||
@@INIS FFD36H 00000H DSEG UNITP
|
||||
@@INIS @cstart FFD36H 00000H
|
||||
@@INIS loader FFD36H 00000H
|
||||
@@INIS pm FFD36H 00000H
|
||||
@@INIS i2c_ctr FFD36H 00000H
|
||||
@@INIS main FFD36H 00000H
|
||||
@@INIS magic FFD36H 00000H
|
||||
@@INIS WDT FFD36H 00000H
|
||||
@@INIS i2c_mcu FFD36H 00000H
|
||||
@@INIS i2c_twl FFD36H 00000H
|
||||
@@INIS led FFD36H 00000H
|
||||
@@INIS rtc FFD36H 00000H
|
||||
@@INIS vreg_ctr FFD36H 00000H
|
||||
@@INIS vreg_twl FFD36H 00000H
|
||||
@@INIS adc FFD36H 00000H
|
||||
@@INIS renge FFD36H 00000H
|
||||
@@INIS accero FFD36H 00000H
|
||||
FFD38H 00002H
|
||||
@@INIT @rom FFD3AH 00000H
|
||||
@@INIS FFD3AH 00000H DSEG UNITP
|
||||
@@INIS @cstart FFD3AH 00000H
|
||||
@@INIS loader FFD3AH 00000H
|
||||
@@INIS pm FFD3AH 00000H
|
||||
@@INIS i2c_ctr FFD3AH 00000H
|
||||
@@INIS main FFD3AH 00000H
|
||||
@@INIS magic FFD3AH 00000H
|
||||
@@INIS WDT FFD3AH 00000H
|
||||
@@INIS i2c_mcu FFD3AH 00000H
|
||||
@@INIS i2c_twl FFD3AH 00000H
|
||||
@@INIS led FFD3AH 00000H
|
||||
@@INIS rtc FFD3AH 00000H
|
||||
@@INIS vreg_ctr FFD3AH 00000H
|
||||
@@INIS vreg_twl FFD3AH 00000H
|
||||
@@INIS adc FFD3AH 00000H
|
||||
@@INIS renge FFD3AH 00000H
|
||||
@@INIS accero FFD3AH 00000H
|
||||
@@INIS self_flash
|
||||
FFD36H 00000H
|
||||
@@INIS sw FFD36H 00000H
|
||||
FFD3AH 00000H
|
||||
@@INIS sw FFD3AH 00000H
|
||||
@@INIS task_debug
|
||||
FFD36H 00000H
|
||||
FFD3AH 00000H
|
||||
@@INIS task_misc
|
||||
FFD36H 00000H
|
||||
@@INIS task_sys FFD36H 00000H
|
||||
FFD3AH 00000H
|
||||
@@INIS task_sys FFD3AH 00000H
|
||||
@@INIS pedo_alg_thre_det2
|
||||
FFD36H 00000H
|
||||
@@INIS ini_VECT FFD36H 00000H
|
||||
FFD3AH 00000H
|
||||
@@INIS ini_VECT FFD3AH 00000H
|
||||
@@INIS task_status
|
||||
FFD36H 00000H
|
||||
@@INIS @rom FFD36H 00000H
|
||||
@@DATS FFD36H 00000H DSEG UNITP
|
||||
@@DATS @cstart FFD36H 00000H
|
||||
@@DATS loader FFD36H 00000H
|
||||
@@DATS pm FFD36H 00000H
|
||||
@@DATS i2c_ctr FFD36H 00000H
|
||||
@@DATS main FFD36H 00000H
|
||||
@@DATS magic FFD36H 00000H
|
||||
@@DATS WDT FFD36H 00000H
|
||||
@@DATS i2c_mcu FFD36H 00000H
|
||||
@@DATS i2c_twl FFD36H 00000H
|
||||
@@DATS led FFD36H 00000H
|
||||
@@DATS rtc FFD36H 00000H
|
||||
@@DATS vreg_ctr FFD36H 00000H
|
||||
@@DATS vreg_twl FFD36H 00000H
|
||||
@@DATS adc FFD36H 00000H
|
||||
@@DATS renge FFD36H 00000H
|
||||
@@DATS accero FFD36H 00000H
|
||||
FFD3AH 00000H
|
||||
@@INIS @rom FFD3AH 00000H
|
||||
@@DATS FFD3AH 00000H DSEG UNITP
|
||||
@@DATS @cstart FFD3AH 00000H
|
||||
@@DATS loader FFD3AH 00000H
|
||||
@@DATS pm FFD3AH 00000H
|
||||
@@DATS i2c_ctr FFD3AH 00000H
|
||||
@@DATS main FFD3AH 00000H
|
||||
@@DATS magic FFD3AH 00000H
|
||||
@@DATS WDT FFD3AH 00000H
|
||||
@@DATS i2c_mcu FFD3AH 00000H
|
||||
@@DATS i2c_twl FFD3AH 00000H
|
||||
@@DATS led FFD3AH 00000H
|
||||
@@DATS rtc FFD3AH 00000H
|
||||
@@DATS vreg_ctr FFD3AH 00000H
|
||||
@@DATS vreg_twl FFD3AH 00000H
|
||||
@@DATS adc FFD3AH 00000H
|
||||
@@DATS renge FFD3AH 00000H
|
||||
@@DATS accero FFD3AH 00000H
|
||||
@@DATS self_flash
|
||||
FFD36H 00000H
|
||||
@@DATS sw FFD36H 00000H
|
||||
FFD3AH 00000H
|
||||
@@DATS sw FFD3AH 00000H
|
||||
@@DATS task_debug
|
||||
FFD36H 00000H
|
||||
FFD3AH 00000H
|
||||
@@DATS task_misc
|
||||
FFD36H 00000H
|
||||
@@DATS task_sys FFD36H 00000H
|
||||
FFD3AH 00000H
|
||||
@@DATS task_sys FFD3AH 00000H
|
||||
@@DATS pedo_alg_thre_det2
|
||||
FFD36H 00000H
|
||||
@@DATS ini_VECT FFD36H 00000H
|
||||
FFD3AH 00000H
|
||||
@@DATS ini_VECT FFD3AH 00000H
|
||||
@@DATS task_status
|
||||
FFD36H 00000H
|
||||
@@DATS @rom FFD36H 00000H
|
||||
FSL_DATA FFD36H 00010H DSEG UNITP
|
||||
FFD3AH 00000H
|
||||
@@DATS @rom FFD3AH 00000H
|
||||
FSL_DATA FFD3AH 00010H DSEG UNITP
|
||||
FSL_DATA fsl_common
|
||||
FFD36H 00010H
|
||||
@@INITL FFD46H 00000H DSEG UNIT64KP
|
||||
@@INITL loader FFD46H 00000H
|
||||
@@INITL pm FFD46H 00000H
|
||||
@@INITL i2c_ctr FFD46H 00000H
|
||||
@@INITL main FFD46H 00000H
|
||||
@@INITL magic FFD46H 00000H
|
||||
@@INITL WDT FFD46H 00000H
|
||||
@@INITL i2c_mcu FFD46H 00000H
|
||||
@@INITL i2c_twl FFD46H 00000H
|
||||
@@INITL led FFD46H 00000H
|
||||
@@INITL rtc FFD46H 00000H
|
||||
@@INITL vreg_ctr FFD46H 00000H
|
||||
@@INITL vreg_twl FFD46H 00000H
|
||||
@@INITL adc FFD46H 00000H
|
||||
@@INITL renge FFD46H 00000H
|
||||
@@INITL accero FFD46H 00000H
|
||||
FFD3AH 00010H
|
||||
@@INITL FFD4AH 00000H DSEG UNIT64KP
|
||||
@@INITL loader FFD4AH 00000H
|
||||
@@INITL pm FFD4AH 00000H
|
||||
@@INITL i2c_ctr FFD4AH 00000H
|
||||
@@INITL main FFD4AH 00000H
|
||||
@@INITL magic FFD4AH 00000H
|
||||
@@INITL WDT FFD4AH 00000H
|
||||
@@INITL i2c_mcu FFD4AH 00000H
|
||||
@@INITL i2c_twl FFD4AH 00000H
|
||||
@@INITL led FFD4AH 00000H
|
||||
@@INITL rtc FFD4AH 00000H
|
||||
@@INITL vreg_ctr FFD4AH 00000H
|
||||
@@INITL vreg_twl FFD4AH 00000H
|
||||
@@INITL adc FFD4AH 00000H
|
||||
@@INITL renge FFD4AH 00000H
|
||||
@@INITL accero FFD4AH 00000H
|
||||
@@INITL self_flash
|
||||
FFD46H 00000H
|
||||
@@INITL sw FFD46H 00000H
|
||||
FFD4AH 00000H
|
||||
@@INITL sw FFD4AH 00000H
|
||||
@@INITL task_debug
|
||||
FFD46H 00000H
|
||||
FFD4AH 00000H
|
||||
@@INITL task_misc
|
||||
FFD46H 00000H
|
||||
@@INITL task_sys FFD46H 00000H
|
||||
FFD4AH 00000H
|
||||
@@INITL task_sys FFD4AH 00000H
|
||||
@@INITL pedo_alg_thre_det2
|
||||
FFD46H 00000H
|
||||
@@INITL ini_VECT FFD46H 00000H
|
||||
FFD4AH 00000H
|
||||
@@INITL ini_VECT FFD4AH 00000H
|
||||
@@INITL task_status
|
||||
FFD46H 00000H
|
||||
@@INITL @rom FFD46H 00000H
|
||||
@@DATAL FFD46H 00000H DSEG UNIT64KP
|
||||
@@DATAL loader FFD46H 00000H
|
||||
@@DATAL pm FFD46H 00000H
|
||||
@@DATAL i2c_ctr FFD46H 00000H
|
||||
@@DATAL main FFD46H 00000H
|
||||
@@DATAL magic FFD46H 00000H
|
||||
@@DATAL WDT FFD46H 00000H
|
||||
@@DATAL i2c_mcu FFD46H 00000H
|
||||
@@DATAL i2c_twl FFD46H 00000H
|
||||
@@DATAL led FFD46H 00000H
|
||||
@@DATAL rtc FFD46H 00000H
|
||||
@@DATAL vreg_ctr FFD46H 00000H
|
||||
@@DATAL vreg_twl FFD46H 00000H
|
||||
@@DATAL adc FFD46H 00000H
|
||||
@@DATAL renge FFD46H 00000H
|
||||
@@DATAL accero FFD46H 00000H
|
||||
FFD4AH 00000H
|
||||
@@INITL @rom FFD4AH 00000H
|
||||
@@DATAL FFD4AH 00000H DSEG UNIT64KP
|
||||
@@DATAL loader FFD4AH 00000H
|
||||
@@DATAL pm FFD4AH 00000H
|
||||
@@DATAL i2c_ctr FFD4AH 00000H
|
||||
@@DATAL main FFD4AH 00000H
|
||||
@@DATAL magic FFD4AH 00000H
|
||||
@@DATAL WDT FFD4AH 00000H
|
||||
@@DATAL i2c_mcu FFD4AH 00000H
|
||||
@@DATAL i2c_twl FFD4AH 00000H
|
||||
@@DATAL led FFD4AH 00000H
|
||||
@@DATAL rtc FFD4AH 00000H
|
||||
@@DATAL vreg_ctr FFD4AH 00000H
|
||||
@@DATAL vreg_twl FFD4AH 00000H
|
||||
@@DATAL adc FFD4AH 00000H
|
||||
@@DATAL renge FFD4AH 00000H
|
||||
@@DATAL accero FFD4AH 00000H
|
||||
@@DATAL self_flash
|
||||
FFD46H 00000H
|
||||
@@DATAL sw FFD46H 00000H
|
||||
FFD4AH 00000H
|
||||
@@DATAL sw FFD4AH 00000H
|
||||
@@DATAL task_debug
|
||||
FFD46H 00000H
|
||||
FFD4AH 00000H
|
||||
@@DATAL task_misc
|
||||
FFD46H 00000H
|
||||
@@DATAL task_sys FFD46H 00000H
|
||||
FFD4AH 00000H
|
||||
@@DATAL task_sys FFD4AH 00000H
|
||||
@@DATAL pedo_alg_thre_det2
|
||||
FFD46H 00000H
|
||||
@@DATAL ini_VECT FFD46H 00000H
|
||||
FFD4AH 00000H
|
||||
@@DATAL ini_VECT FFD4AH 00000H
|
||||
@@DATAL task_status
|
||||
FFD46H 00000H
|
||||
@@DATAL @rom FFD46H 00000H
|
||||
* gap * FFD46H 000BAH
|
||||
FFD4AH 00000H
|
||||
@@DATAL @rom FFD4AH 00000H
|
||||
* gap * FFD4AH 000B6H
|
||||
|
||||
MEMORY=RAM2
|
||||
BASE ADDRESS=FFE20H SIZE=000C0H
|
||||
@ -636,22 +631,22 @@ Direc-file:bsr_mcu.dr
|
||||
@@BITS rtc FFE21H.2 00000H.3
|
||||
@@BITS vreg_ctr FFE21H.5 00000H.1
|
||||
@@BITS vreg_twl FFE21H.6 00000H.0
|
||||
@@BITS adc FFE21H.6 00000H.1
|
||||
@@BITS renge FFE21H.7 00000H.2
|
||||
@@BITS accero FFE22H.1 00000H.0
|
||||
@@BITS adc FFE21H.6 00000H.2
|
||||
@@BITS renge FFE22H.0 00000H.2
|
||||
@@BITS accero FFE22H.2 00000H.0
|
||||
@@BITS self_flash
|
||||
FFE22H.1 00000H.0
|
||||
@@BITS sw FFE22H.1 00000H.2
|
||||
FFE22H.2 00000H.0
|
||||
@@BITS sw FFE22H.2 00000H.2
|
||||
@@BITS task_debug
|
||||
FFE22H.3 00000H.0
|
||||
FFE22H.4 00000H.0
|
||||
@@BITS task_misc
|
||||
FFE22H.3 00000H.3
|
||||
@@BITS task_sys FFE22H.6 00000H.0
|
||||
FFE22H.4 00000H.3
|
||||
@@BITS task_sys FFE22H.7 00000H.0
|
||||
@@BITS pedo_alg_thre_det2
|
||||
FFE22H.6 00000H.1
|
||||
@@BITS ini_VECT FFE22H.7 00000H.0
|
||||
FFE22H.7 00000H.1
|
||||
@@BITS ini_VECT FFE23H.0 00000H.0
|
||||
@@BITS task_status
|
||||
FFE22H.7 00000H.0
|
||||
FFE23H.0 00000H.0
|
||||
* gap * FFE23H 000B1H
|
||||
@@SEGREG FFED4H 00004H DSEG AT
|
||||
@@SEGREG @SEGREG FFED4H 00004H
|
||||
|
@ -11,8 +11,8 @@ MEMORY ROM : (02000H, 03000H )
|
||||
; ブートブロック0に割り当てる
|
||||
MERGE LDR_CODE : =BCL0
|
||||
MERGE LDR_CODL : =BCL0
|
||||
MERGE @@LCODE : =BCL0 ; スタートアップルーチン
|
||||
MERGE FSL_CODE : =BCL0 ; =FSL ; 謹製フラッシュライブラリ
|
||||
MERGE @@LCODE : =BCL0 ; スタートアップルーチン
|
||||
;MERGE @@LCODEL : =BCL0
|
||||
|
||||
;MERGE LDR_RINT:=BCL0
|
||||
|
@ -6,13 +6,12 @@
|
||||
//#define _ALLOW_NOBATT_
|
||||
//#define _FORCE_INFO_LED_FULLCOLOR_
|
||||
//#define _DEBUG_BT_IRQ_
|
||||
#define _DEBUG_BT_TEMP_
|
||||
//#define _DEBUG_BT_TEMP_
|
||||
//#define _DBG_PEDO_AUTO_ENABLE_
|
||||
#define _DEBUG_PM_BOMB_VOL_
|
||||
|
||||
|
||||
#define MCU_VER_MAJOR 0x00
|
||||
#define MCU_VER_MINOR 0x21
|
||||
#define MCU_VER_MINOR 0x23
|
||||
|
||||
//#define PM_CCIC_TIM
|
||||
|
||||
|
BIN
trunk/hoge.bin
BIN
trunk/hoge.bin
Binary file not shown.
@ -20,6 +20,7 @@
|
||||
|
||||
#include "bsr_system.h"
|
||||
#include "renge\renge.h"
|
||||
#include "loader.h"
|
||||
|
||||
#include "vreg_ctr.h"
|
||||
#include "vreg_twl.h"
|
||||
|
@ -92,14 +92,13 @@ __interrupt void fn_intwdti( )
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
__interrupt void fn_intlvi( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
__interrupt void fn_intp0(){
|
||||
|
17
trunk/led.c
17
trunk/led.c
@ -37,7 +37,7 @@ uni_info_LED info_LED;
|
||||
|
||||
|
||||
// 赤LEDの電池残量LEDの点滅パターン
|
||||
st_led_red_batt_empty led_red_batt_empty = { 0xAA, 0xAA, 0xAA, 0xAA };
|
||||
st_led_red_batt_empty led_red_batt_empty = { 0x55, 0x55, 0x55, 0x55 };
|
||||
|
||||
|
||||
// フルカラーとの自動判別のため、一時領域としてもっておく
|
||||
@ -147,7 +147,6 @@ void LED_init( )
|
||||
if( system_status.model == MODEL_TS_BOARD )
|
||||
{
|
||||
#ifdef _FORCE_INFO_LED_FULLCOLOR_
|
||||
// todo debug //
|
||||
system_status.info_fullcolor = 1;
|
||||
#endif
|
||||
}
|
||||
@ -209,19 +208,7 @@ void tsk_led_pow( )
|
||||
switch ( vreg_ctr[VREG_C_LED_POW] )
|
||||
{
|
||||
case ( LED_POW_ILM_AUTO ):
|
||||
switch ( system_status.pwr_state )
|
||||
{
|
||||
case SLEEP:
|
||||
led_pow_hotaru( );
|
||||
break;
|
||||
|
||||
case ON:
|
||||
led_pow_normal( );
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
led_pow_normal( );
|
||||
break;
|
||||
|
||||
case ( LED_POW_ILM_HOTARU ):
|
||||
|
@ -17,8 +17,8 @@
|
||||
#define LED_duty_notify_blu TDR02
|
||||
|
||||
// これらはduty変えられません
|
||||
#define LED_pow_red P7.5
|
||||
#define LED_CAM P4.2
|
||||
#define LED_pow_red P4.2
|
||||
#define LED_CAM P7.5
|
||||
|
||||
|
||||
// 旧仕様 /////////////////////////////
|
||||
|
121
trunk/loader.c
121
trunk/loader.c
@ -28,6 +28,7 @@
|
||||
|
||||
#include "reboot.h"
|
||||
|
||||
#include "magic.h"
|
||||
|
||||
// ========================================================
|
||||
#if (FSL_DATA_BUFFER_SIZE>0)
|
||||
@ -47,12 +48,6 @@ static fsl_u08 fsl_MK2H_bak_u08; /* }
|
||||
|
||||
|
||||
|
||||
// magic.c の記述と違わないように注意!
|
||||
#define MGC_LOAD 0x0FF6
|
||||
#define MGC_FOOT 0x4FF6
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
void FSL_Open( void );
|
||||
void FSL_Close( void );
|
||||
@ -68,6 +63,54 @@ void main( )
|
||||
{
|
||||
while( 1 )
|
||||
{
|
||||
WDT_Restart( );
|
||||
|
||||
if( !RTCEN ) // これは書き替えたときにしか使えない
|
||||
{
|
||||
// 通常の電源投入
|
||||
u8 pwup_delay0 = 0;
|
||||
u8 pwup_delay1 = 0;
|
||||
|
||||
do
|
||||
{ // 電池接続時、16ms待ってみる(チャタリング対策)
|
||||
pwup_delay0 += 1;
|
||||
do
|
||||
{
|
||||
pwup_delay1 += 1;
|
||||
}
|
||||
while( pwup_delay1 != 0 ); // u16にするとコンパイラが怒るんだが…。
|
||||
}
|
||||
while( pwup_delay0 != 0 );
|
||||
}
|
||||
|
||||
|
||||
// ファームの整合性チェック //
|
||||
{
|
||||
u8 i;
|
||||
u8 comp = 0;
|
||||
|
||||
// ローダーと本体は同じバージョンか?
|
||||
/// 次へのアップデートの途中で終わってないか?
|
||||
for( i = 0; i < sizeof( __TIME__ ); i++ ) // sizeof( __TIME__ ) = 8 らし
|
||||
{
|
||||
comp += ( *( __far u8 * )( MGC_LOAD + i ) == *( u8 * )( MGC_FOOT + i ) ) ? 0 : 1;
|
||||
comp += ( *( u8 * )( MGC_HEAD + i ) == *( u8 * )( MGC_FOOT + i ) ) ? 0 : 1;
|
||||
}
|
||||
|
||||
if( *( u8 * )( MGC_FOOT ) == 0xFF ) // 消去済のまま
|
||||
{
|
||||
comp += 1;
|
||||
}
|
||||
|
||||
if( comp != 0 )
|
||||
{
|
||||
hdwinit2( );
|
||||
// ファームリストアを試みる
|
||||
firm_restore( );
|
||||
// 帰ってこない。リセットをかける。
|
||||
}
|
||||
}
|
||||
|
||||
WDT_Restart( );
|
||||
if( RTCEN ) // これは書き替えたときにしか使えない
|
||||
{
|
||||
@ -93,51 +136,13 @@ void main( )
|
||||
}
|
||||
system_status.reboot = 1;
|
||||
}
|
||||
else
|
||||
else if(( my_resf & 0x01 ) != 0 )
|
||||
{
|
||||
// 通常の電源投入
|
||||
u8 pwup_delay0 = 0;
|
||||
u8 pwup_delay1 = 0;
|
||||
|
||||
do
|
||||
{ // 電池接続時、16ms待ってみる(チャタリング対策)
|
||||
pwup_delay0 += 1;
|
||||
do
|
||||
{
|
||||
pwup_delay1 += 1;
|
||||
}
|
||||
while( pwup_delay1 != 0 ); // u16にするとコンパイラが怒るんだが…。
|
||||
}
|
||||
while( pwup_delay0 != 0 );
|
||||
vreg_ctr[ VREG_C_MCU_STATUS ] |= ( 1 << 2 );
|
||||
}
|
||||
hdwinit2( );
|
||||
}
|
||||
|
||||
// ファームの整合性チェック //
|
||||
{
|
||||
u8 i;
|
||||
u8 comp = 0;
|
||||
|
||||
// ローダーと本体は同じバージョンか?
|
||||
/// 次へのアップデートの途中で終わってないか?
|
||||
for( i = 0; i < sizeof( __TIME__ ); i++ ) // sizeof( __TIME__ ) = 8 らし
|
||||
{
|
||||
comp += ( *( __far u8 * )( MGC_LOAD + i ) == *( u8 * )( MGC_FOOT + i ) ) ? 0 : 1;
|
||||
}
|
||||
|
||||
if( *( u8 * )( MGC_FOOT ) == 0xFF ) // 消去済のまま
|
||||
{
|
||||
comp += 1;
|
||||
}
|
||||
|
||||
if( comp != 0 )
|
||||
{
|
||||
// ファームリストアを試みる
|
||||
firm_restore( );
|
||||
// 帰ってこない。リセットをかける。
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 通常運転
|
||||
main_loop( );
|
||||
}
|
||||
@ -379,3 +384,25 @@ void hdwinit2( )
|
||||
DRC0 = 0b00000000; /* DMAチャネル0の動作禁止 */
|
||||
DRC1 = 0b00000000; /* DMAチャネル1の動作禁止 */
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
単位は ms
|
||||
NOPを回すだけ、指定時間CPUを *占有します* 。
|
||||
割り込みとか入るとその分遅れます。
|
||||
少し誤差あります。
|
||||
*****************************************************************************/
|
||||
void wait_ms( u8 ms ){
|
||||
u16 fine;
|
||||
|
||||
WDT_Restart();
|
||||
// まだ適当です!
|
||||
while( ms != 0 ){
|
||||
ms--;
|
||||
fine = 860;
|
||||
while( fine != 0 ){
|
||||
fine -= 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,7 @@
|
||||
#ifndef _loader_h_
|
||||
#define _loader_h_
|
||||
|
||||
void wait_ms( u8 );
|
||||
|
||||
#endif
|
||||
|
@ -9,9 +9,11 @@
|
||||
#pragma section @@CNSTL MGC_LOAD AT 0x0FF6
|
||||
__far const unsigned char MGC_LOAD[] = __TIME__;
|
||||
|
||||
|
||||
#pragma section @@CNST MGC_MIMI AT 0x2100
|
||||
const unsigned char MGC_HEAD[] = __TIME__;
|
||||
|
||||
|
||||
#pragma section @@CNST MGC_TAIL AT 0x4FF6
|
||||
const unsigned char MGC_TAIL[] = __TIME__;
|
||||
|
||||
|
@ -41,7 +41,7 @@ void main_loop( void )
|
||||
iic_mcu_start( );
|
||||
EI( );
|
||||
|
||||
BT_chk( ); // 実機やバッテリの判定、電池残量ICの設定
|
||||
BT_init( ); // 実機やバッテリの判定、電池残量ICの設定
|
||||
|
||||
system_status.pwr_state = OFF_TRIG;
|
||||
if( system_status.reboot )
|
||||
@ -55,6 +55,7 @@ void main_loop( void )
|
||||
{
|
||||
system_status.pwr_state = ON_TRIG;
|
||||
}
|
||||
vreg_ctr[VREG_C_BT_REMAIN] = 100;
|
||||
}
|
||||
|
||||
vreg_ctr_init( );
|
||||
|
231
trunk/pm.c
231
trunk/pm.c
@ -28,11 +28,18 @@ bit bt_chg_ready; //
|
||||
u8 chg_led_override; // アダプタ差したとき、充電するしないに関わらずしばらく点灯させる
|
||||
|
||||
|
||||
// ========================================================
|
||||
static void BT_maker_detect();
|
||||
static void BT_mgic_init();
|
||||
|
||||
|
||||
// ========================================================
|
||||
#ifdef _PMIC_TWL_
|
||||
u8 blset;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
液晶系の電源制御
|
||||
ステータスフラグはすぐに立ててしまう。
|
||||
@ -59,14 +66,14 @@ err PM_LCD_on( )
|
||||
|
||||
rv = PM_chk_LDSW( );
|
||||
|
||||
if( rv != 0 )
|
||||
if( rv != 0 )
|
||||
{
|
||||
// 電源起動エラーなら電源も切れてしまう。ここではケアしない
|
||||
vreg_ctr[VREG_C_STATUS] |= REG_BIT_LCD_POW;
|
||||
set_irq( VREG_C_IRQ3, REG_BIT_LCD_ON );
|
||||
|
||||
SND_DEPOP_SND_ENABLE;
|
||||
return ( ERR_ERR );
|
||||
return ( ERR_ERR );
|
||||
}
|
||||
|
||||
#ifdef _PMIC_TWL_
|
||||
@ -246,9 +253,7 @@ err PM_sys_pow_on( )
|
||||
|
||||
PM_LDSW_on( );
|
||||
|
||||
wait_ms( 1 );
|
||||
|
||||
wait_ms( DELAY_PM_TW_PWUP );
|
||||
wait_ms( 1 + DELAY_PM_TW_PWUP );
|
||||
|
||||
PM_VDD_normMode();
|
||||
PM_VDD_on( );
|
||||
@ -696,9 +701,9 @@ void tsk_batt( )
|
||||
***********************************************************/
|
||||
#define swap_endian_16( x ) (unsigned int)(( x << 8 ) | ( x >> 8 ))
|
||||
|
||||
void BT_chk( )
|
||||
void BT_init( )
|
||||
{
|
||||
u8 temp;
|
||||
BT_VENDER battery_manufacturer_old;
|
||||
union{
|
||||
u16 _u16; // endian 注意
|
||||
struct{
|
||||
@ -709,51 +714,21 @@ void BT_chk( )
|
||||
|
||||
BT_DET_P = 1;
|
||||
BT_TEMP_P = 1;
|
||||
wait_ms(1); // チャージに時間が掛かる
|
||||
wait_ms(1); // 電圧が上がるのに時間が掛かる
|
||||
|
||||
// 電池温度測定 //
|
||||
// TS,白箱判定も兼ねるのでこっちが先でないとダメ
|
||||
raw_adc_temperature = get_adc( ADC_SEL_BATT_TEMP );
|
||||
|
||||
battery_manufacturer_old = battery_manufacturer;
|
||||
BT_maker_detect();
|
||||
|
||||
if( battery_manufacturer != battery_manufacturer_old )
|
||||
{
|
||||
BT_VENDER battery_manufacturer_old = battery_manufacturer;
|
||||
|
||||
// 電池メーカーの識別
|
||||
temp = get_adc( ADC_SEL_BATT_DET );
|
||||
BT_DET_P = 0;
|
||||
if( temp > 233 )
|
||||
battery_manufacturer = BT_VENDER_OPEN;
|
||||
else if( temp > 197 )
|
||||
battery_manufacturer = BT_VENDER_6;
|
||||
else if( temp > 158 )
|
||||
battery_manufacturer = BT_VENDER_PANA;
|
||||
else if( temp > 123 )
|
||||
battery_manufacturer = BT_VENDER_4;
|
||||
else if( temp > 79 )
|
||||
battery_manufacturer = BT_VENDER_3;
|
||||
else if( temp > 33 )
|
||||
battery_manufacturer = BT_VENDER_2;
|
||||
else if( temp > 5 )
|
||||
battery_manufacturer = BT_VENDER_1;
|
||||
else
|
||||
battery_manufacturer = BT_VENDER_MAXELL;
|
||||
|
||||
if( battery_manufacturer != battery_manufacturer_old )
|
||||
{
|
||||
if( battery_manufacturer < BT_VENDER_OPEN )
|
||||
{
|
||||
// バッテリが変わった //
|
||||
bt_comp = BT_COMP[ battery_manufacturer ]; // バッテリパラメータ変更
|
||||
|
||||
wait_ms( 10 );
|
||||
// 0. バッテリ残量IC クイックスタート
|
||||
dat_16._u16 = swap_endian_16( 0x4000 ); // quick start
|
||||
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_MODE, 2, &dat_16 );
|
||||
|
||||
bt_chg_ready = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
// 電池が外された
|
||||
bt_chg_ready = 0;
|
||||
}
|
||||
}
|
||||
// バッテリが変わった //
|
||||
BT_mgic_init(); // battery_manufacturer == BT_VENDER_OPEN 時は来ないのだ!
|
||||
tski_BT_temp_update( ); // 温度のtemp。 残量ICに行きます
|
||||
bt_chg_ready = 1;
|
||||
}
|
||||
|
||||
// 電池温度監視スタート
|
||||
@ -763,8 +738,34 @@ void BT_chk( )
|
||||
|
||||
|
||||
|
||||
void BT_maker_detect()
|
||||
{
|
||||
u8 temp;
|
||||
|
||||
void BT_init( )
|
||||
// 電池メーカーの識別
|
||||
temp = get_adc( ADC_SEL_BATT_DET );
|
||||
BT_DET_P = 0;
|
||||
if( temp > 233 )
|
||||
battery_manufacturer = BT_VENDER_OPEN;
|
||||
else if( temp > 197 )
|
||||
battery_manufacturer = BT_VENDER_6;
|
||||
else if( temp > 158 )
|
||||
battery_manufacturer = BT_VENDER_PANA;
|
||||
else if( temp > 123 )
|
||||
battery_manufacturer = BT_VENDER_4;
|
||||
else if( temp > 79 )
|
||||
battery_manufacturer = BT_VENDER_3;
|
||||
else if( temp > 33 )
|
||||
battery_manufacturer = BT_VENDER_2;
|
||||
else if( temp > 5 )
|
||||
battery_manufacturer = BT_VENDER_1;
|
||||
else
|
||||
battery_manufacturer = BT_VENDER_MAXELL;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void BT_mgic_init()
|
||||
{
|
||||
u8 temp;
|
||||
u8 origParam[4];
|
||||
@ -776,20 +777,26 @@ void BT_init( )
|
||||
}chars;
|
||||
}dat_16;
|
||||
|
||||
bt_comp = BT_COMP[ battery_manufacturer ]; // バッテリパラメータ変更
|
||||
|
||||
wait_ms( 10 ); // MGICの起動に掛かる
|
||||
|
||||
// 0. バッテリ残量IC クイックスタート
|
||||
dat_16._u16 = swap_endian_16( 0x4000 ); // quick start
|
||||
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_MODE, 2, &dat_16 );
|
||||
|
||||
/*
|
||||
// PMIC バージョン読み出し
|
||||
// temp = iic_mcu_read_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VER );
|
||||
// vreg_ctr[ VREG_C_PM_INFO ] = temp;
|
||||
/// デバッグ用は別にまとめた
|
||||
temp = iic_mcu_read_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VER );
|
||||
vreg_ctr[ VREG_C_PM_INFO ] = temp;
|
||||
// デバッグ用は別にまとめた
|
||||
*/
|
||||
|
||||
/*
|
||||
// -1. リセットをかけてみる
|
||||
dat_16._u16 = swap_endian_16( 0x5400 ); // reset
|
||||
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_COMMAND, 2, &dat_16 ); // こいつはNACKを返す
|
||||
*/
|
||||
|
||||
// 電池温度測定(TS,白箱判定も兼ねる) //
|
||||
raw_adc_temperature = get_adc( ADC_SEL_BATT_TEMP );
|
||||
*/
|
||||
|
||||
|
||||
// 1. ロック解除
|
||||
@ -845,7 +852,7 @@ void BT_init( )
|
||||
|
||||
if( system_status.model == MODEL_JIKKI )
|
||||
{
|
||||
// wait_ms( 5 + 1 ); I2C_mの初期化時にウェイト入れてるので不要
|
||||
// wait_ms( 5 + 1 ); 前にウェイト入れてるので不要
|
||||
|
||||
// 2. 初期パラメータを一時保存
|
||||
iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_RCOMP, 4, origParam );
|
||||
@ -882,6 +889,7 @@ void BT_init( )
|
||||
// カスタムモデル書き込みOK!
|
||||
}else{
|
||||
// 失敗だったらリトライするのか?
|
||||
NOP();
|
||||
}
|
||||
|
||||
// 10.元のRCOMPとOCVを書き戻す
|
||||
@ -892,7 +900,6 @@ void BT_init( )
|
||||
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_LOCK, 2, &dat_16 );
|
||||
|
||||
// おしまい //
|
||||
tski_BT_temp_update( ); // 温度のtemp。 残量ICに行きます
|
||||
}
|
||||
}
|
||||
|
||||
@ -962,9 +969,7 @@ task_status_immed tski_BT_temp_update( )
|
||||
BT_init()が実行されている必要があります。
|
||||
**********************************************************/
|
||||
void BT_get_left(){
|
||||
u8 temp[2];
|
||||
|
||||
// 電池残量更新 //
|
||||
u8 temp_fuel[2];
|
||||
|
||||
#ifdef _DEBUG_BT_IRQ_
|
||||
if( vreg_ctr[ VREG_C_COMMAND3 ] == 'd' )
|
||||
@ -976,76 +981,94 @@ void BT_get_left(){
|
||||
{
|
||||
if( system_status.model == MODEL_TS_BOARD )
|
||||
{
|
||||
// TS //
|
||||
vreg_ctr[ VREG_C_BT_REMAIN ] = 99;
|
||||
}
|
||||
else if( system_status.model == MODEL_SHIROBAKO )
|
||||
{
|
||||
if( iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_SOC, 2, temp ) != ERR_SUCCESS )
|
||||
// 白箱 //
|
||||
if( iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_SOC, 2, temp_fuel ) != ERR_SUCCESS )
|
||||
{
|
||||
// エミュレーション機能がおかしい
|
||||
vreg_ctr[ VREG_C_BT_REMAIN ] = 99;
|
||||
}
|
||||
else
|
||||
{
|
||||
vreg_ctr[ VREG_C_BT_REMAIN ] = temp[0];
|
||||
vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = temp[1];
|
||||
vreg_ctr[ VREG_C_BT_REMAIN ] = temp_fuel[0];
|
||||
vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = temp_fuel[1];
|
||||
}
|
||||
}
|
||||
else
|
||||
{ // 実機
|
||||
if(( vreg_ctr[ VREG_C_STATUS_1 ] & REG_BIT_GASGAUGE_ERR ) == 0 )
|
||||
{
|
||||
u8 temp_v[2];
|
||||
u8 temp_force_fule_left;
|
||||
u16 temp16;
|
||||
|
||||
// 実機 //
|
||||
// 残量リード
|
||||
if( iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_SOC, 2, temp_fuel ) != ERR_SUCCESS )
|
||||
{
|
||||
temp[0] = iic_mcu_read_a_byte( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_VCELL );
|
||||
if( iic_mcu_result != ERR_SUCCESS )
|
||||
// 残量ICがNACK
|
||||
vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_GASGAUGE_ERR;
|
||||
bt_chg_ready = 0;
|
||||
vreg_ctr[ VREG_C_BT_REMAIN ] = 0;
|
||||
system_status.cnt_force_off = 1; // 強制電源断フラグ
|
||||
}
|
||||
else
|
||||
{
|
||||
// バッテリパラメータの関係でビットシフトが必要
|
||||
temp16 = ( temp_fuel[0] << 8 ) + temp_fuel[1];
|
||||
temp16 /= BT_RCOMP_SCALE[ battery_manufacturer ];
|
||||
temp_fuel[0] = ( temp16 >> 8 ) & 0xFF;
|
||||
temp_fuel[1] = temp16 & 0xFF;
|
||||
|
||||
// 電圧でキャップ
|
||||
if( iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_VCELL, 2, temp_v ) == ERR_SUCCESS )
|
||||
{
|
||||
// バッテリ残量が取れなくなった
|
||||
vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_GASGAUGE_ERR;
|
||||
bt_chg_ready = 0;
|
||||
vreg_ctr[ VREG_C_BT_REMAIN ] = 0;
|
||||
system_status.cnt_force_off = 1; // 強制電源断フラグ
|
||||
}
|
||||
else
|
||||
{ // 通常パス
|
||||
vreg_ctr[ VREG_C_BT_VOLTAGE ] = temp[0];
|
||||
vreg_ctr[ VREG_C_BT_VOLTAGE ] = temp_v[0];
|
||||
|
||||
if( iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_SOC, 2, temp ) == ERR_SUCCESS )
|
||||
{
|
||||
vreg_ctr[ VREG_C_BT_REMAIN ] = temp[0];
|
||||
vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = temp[1];
|
||||
if( battery_manufacturer > BT_VENDER_6 )
|
||||
{
|
||||
// 来ないはずだが
|
||||
NOP();
|
||||
vreg_ctr[ VREG_C_BT_REMAIN ] = 0;
|
||||
vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = 0;
|
||||
}
|
||||
}
|
||||
temp16 = ( temp_v[0] << 8 ) + temp_v[1];
|
||||
|
||||
if( BT_CHG_Ena && !BT_CHG_n ){
|
||||
vreg_ctr[ VREG_C_BT_REMAIN ] = 100;
|
||||
}
|
||||
// モデルゲージと実際との乖離が大きい/電圧がPMICの限界を超えそう
|
||||
else if( vreg_ctr[ VREG_C_BT_VOLTAGE ] < V_TH_ZERO )
|
||||
if( temp16 > V_TH_LO )
|
||||
{
|
||||
// 電圧が規定値になってしまったので強制off
|
||||
vreg_ctr[ VREG_C_BT_REMAIN ] = 0;
|
||||
temp_force_fule_left = 100;
|
||||
}
|
||||
else if(( vreg_ctr[ VREG_C_BT_VOLTAGE ] < V_TH_EMPTY ) && ( vreg_ctr[ VREG_C_BT_REMAIN ] > BATT_TH_EMPTY ))
|
||||
else if( temp16 > V_TH_EMPTY )
|
||||
{
|
||||
vreg_ctr[ VREG_C_BT_REMAIN ] = BATT_TH_EMPTY;
|
||||
temp_force_fule_left = 10;
|
||||
}
|
||||
else if(( vreg_ctr[ VREG_C_BT_VOLTAGE ] < V_TH_LO ) && ( vreg_ctr[ VREG_C_BT_REMAIN ] > BATT_TH_LO ))
|
||||
else if( temp16 > V_TH_ZERO )
|
||||
{
|
||||
vreg_ctr[ VREG_C_BT_REMAIN ] = BATT_TH_LO;
|
||||
temp_force_fule_left = 5;
|
||||
}
|
||||
else
|
||||
{
|
||||
temp_force_fule_left = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
// もう特に何もすること無いと思う...
|
||||
|
||||
if( BT_CHG_Ena && !BT_CHG_n ){
|
||||
vreg_ctr[ VREG_C_BT_REMAIN ] = 100;
|
||||
vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( temp_force_fule_left > temp_fuel[0] )
|
||||
{
|
||||
vreg_ctr[ VREG_C_BT_REMAIN ] = temp_fuel[0];
|
||||
vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = temp_fuel[1];
|
||||
}
|
||||
else
|
||||
{
|
||||
vreg_ctr[ VREG_C_BT_REMAIN ] = temp_force_fule_left;
|
||||
vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 残量で割り込み。急激に減ると飛ぶことがある //
|
||||
{
|
||||
static u8 bt_remain_old;
|
||||
|
14
trunk/pm.h
14
trunk/pm.h
@ -15,12 +15,15 @@
|
||||
#define BATT_TH_LO 10
|
||||
#define BATT_TH_EMPTY 5
|
||||
|
||||
|
||||
/*
|
||||
#define V_K 16 / 1.25
|
||||
#define V_TH_LO (u8)( 3200 / V_K )
|
||||
#define V_TH_EMPTY (u8)( 3150 / V_K )
|
||||
#define V_TH_ZERO (u8)( 3100 / V_K )
|
||||
|
||||
#define V_TH_LO (u16)( 3200 * V_K )
|
||||
#define V_TH_EMPTY (u16)( 3150 * V_K )
|
||||
#define V_TH_ZERO (u16)( 3100 * V_K )
|
||||
*/
|
||||
#define V_TH_LO 40960
|
||||
#define V_TH_EMPTY 40320
|
||||
#define V_TH_ZERO 39680
|
||||
|
||||
//=========================================================
|
||||
#define LED_CHARGE P2.4
|
||||
@ -135,7 +138,6 @@ void PM_LCD_off( );
|
||||
err PM_BL_set( u8 );
|
||||
|
||||
|
||||
void BT_chk();
|
||||
void BT_init();
|
||||
void BT_get_left();
|
||||
|
||||
|
@ -299,23 +299,3 @@ imm_list_sort_fin:
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
単位は ms
|
||||
NOPを回すだけ、指定時間CPUを *占有します* 。
|
||||
割り込みとか入るとその分遅れます。
|
||||
少し誤差あります。
|
||||
*****************************************************************************/
|
||||
void wait_ms( u8 ms ){
|
||||
u16 fine;
|
||||
|
||||
WDT_Restart();
|
||||
// まだ適当です!
|
||||
while( ms != 0 ){
|
||||
ms--;
|
||||
fine = 860;
|
||||
while( fine != 0 ){
|
||||
fine -= 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -17,8 +17,6 @@ err renge_task_immed_run();
|
||||
err renge_task_immed_add( task_status_immed* );
|
||||
// static err renge_task_immed_del( u8 );
|
||||
|
||||
void wait_ms( u8 );
|
||||
|
||||
|
||||
|
||||
//******************************************************************************
|
||||
|
@ -16,7 +16,9 @@
|
||||
#include "i2c_ctr.h"
|
||||
|
||||
#include "pool.h"
|
||||
#include "magic.h"
|
||||
|
||||
#include "pm.h"
|
||||
|
||||
// ========================================================
|
||||
const u8 fsl_fx_MHz_u08 = 8;
|
||||
@ -74,6 +76,9 @@ void firm_restore( );
|
||||
static err my_FSL_Init();
|
||||
static err firm_duplicate( u8 block_src, u8 block_dest );
|
||||
|
||||
void alert( u8 );
|
||||
void led_print( u8 );
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
@ -126,9 +131,10 @@ void firm_update( )
|
||||
target_block <= UPDATE_BLOCK_LAST;
|
||||
target_block += 1 )
|
||||
{
|
||||
// 新ファーム領域削除
|
||||
FSL_Erase( target_block );
|
||||
|
||||
/* すでに消してある。でないと中断されたとき終了してるか判別出来ない
|
||||
// // 新ファーム領域削除
|
||||
// FSL_Erase( target_block );
|
||||
*/
|
||||
// 分割書き込み
|
||||
for( split_write_count = 0;
|
||||
( ( split_write_count < SELF_UPDATE_SPLIT_WRITE_NUM )
|
||||
@ -164,22 +170,28 @@ void firm_update( )
|
||||
!= FSL_OK )
|
||||
{
|
||||
// 書き込み後のチェックエラー
|
||||
while(1){}
|
||||
// リストア
|
||||
firm_duplicate( UPDATE_BLOCK_LAST +1,
|
||||
FIRM_TOP );
|
||||
firm_duplicate( UPDATE_BLOCK_LAST +1, FIRM_TOP );
|
||||
FSL_ForceReset();
|
||||
// 戻ってこない //
|
||||
}
|
||||
|
||||
}
|
||||
// 1ブロック書き込み完了。内部ベリファイを行う
|
||||
P1.5 = 1;
|
||||
DBG_LED_on;
|
||||
|
||||
if( FSL_IVerify( target_block ) != FSL_OK ){
|
||||
while(1){}
|
||||
// 再度消去→書き込み ベリファイを繰り返すだけじゃダメでした... todo…?
|
||||
// リストア
|
||||
firm_duplicate( UPDATE_BLOCK_LAST +1, FIRM_TOP );
|
||||
FSL_ForceReset();
|
||||
// 戻ってこない //
|
||||
}
|
||||
DBG_LED_off;
|
||||
P1.5 = 0;
|
||||
|
||||
if( SPD )
|
||||
{
|
||||
@ -210,8 +222,7 @@ void firm_update( )
|
||||
{
|
||||
// データ(マジックナンバーしか見てない)エラー
|
||||
// リストア
|
||||
firm_duplicate( UPDATE_BLOCK_LAST,
|
||||
FIRM_TOP );
|
||||
firm_duplicate( UPDATE_BLOCK_LAST, FIRM_TOP );
|
||||
FSL_ForceReset(); // リセット
|
||||
// 戻ってこない //
|
||||
}
|
||||
@ -229,24 +240,129 @@ void firm_update( )
|
||||
======================================================== */
|
||||
void firm_restore( )
|
||||
{
|
||||
my_FSL_Init();
|
||||
PM1.5 = 0;
|
||||
|
||||
// バックアップは正常? //
|
||||
{
|
||||
u16 i;
|
||||
u8 comp = 0;
|
||||
|
||||
for( i = 0; i < sizeof( __TIME__ ); i++ ) // sizeof( __TIME__ ) = 8 らし
|
||||
{
|
||||
comp += ( *( __far u8 * )( MGC_LOAD_BKUP + i ) == *( u8 * )( MGC_HEAD_BKUP + i ) ) ? 0 : 1;
|
||||
comp += ( *( u8 * )( MGC_HEAD_BKUP + i ) == *( u8 * )( MGC_FOOT_BKUP + i ) ) ? 0 : 1;
|
||||
}
|
||||
if( *( u8 * )( MGC_FOOT_BKUP ) == 0xFF )
|
||||
{
|
||||
comp += 1;
|
||||
}
|
||||
|
||||
if( comp != 0 )
|
||||
{
|
||||
// バックアップ領域も壊れた...
|
||||
comp = 0;
|
||||
|
||||
// 3.3Vが上がらないと困る
|
||||
EI( );
|
||||
iic_mcu_start( );
|
||||
RESET2_ast;
|
||||
FCRAM_RST_ast;
|
||||
GYRO_DISABLE();
|
||||
PM_LDSW_on();
|
||||
wait_ms( 1 + DELAY_PM_TW_PWUP );
|
||||
PM_VDD_on( );
|
||||
|
||||
while(1)
|
||||
{
|
||||
WDT_Restart();
|
||||
|
||||
{
|
||||
// 赤LED ピコピコ
|
||||
comp++;
|
||||
P1.5 = ( comp == 1 || comp == 3 )? 1: 0;
|
||||
if( comp == 8 )
|
||||
{
|
||||
comp = 0;
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
// 電源ボタンで電源off
|
||||
static u8 sw_hold_count;
|
||||
|
||||
if( !SW_POW_n )
|
||||
{
|
||||
sw_hold_count++;
|
||||
}
|
||||
else
|
||||
{
|
||||
sw_hold_count = 0;
|
||||
}
|
||||
|
||||
if( sw_hold_count > 16 )
|
||||
{
|
||||
sw_hold_count = 0;
|
||||
// 電源off
|
||||
PM_LDSW_off( );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// ウェイト
|
||||
for( i = 1; i != 0; i++ )
|
||||
{
|
||||
NOP();
|
||||
NOP();
|
||||
NOP();
|
||||
NOP();
|
||||
}
|
||||
}
|
||||
{
|
||||
// ど、どうしよう…。
|
||||
|
||||
KRM = ( KR_SW_POW ); // Mask ではなく、Modeなのだそうだ。紛らわしい
|
||||
MK0 = 0xFFFF;
|
||||
MK1 = ~( INT_MSK1_KR );
|
||||
MK2L = 0xFF;
|
||||
|
||||
// PU5 そのまま
|
||||
PU7 = 0b00001000; // PWSWI
|
||||
PU20 = 0x00; // SW_HOME 停止
|
||||
|
||||
STOP( );
|
||||
|
||||
mcu_wdt_reset;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if( my_FSL_Init() != ERR_SUCCESS ){
|
||||
alert(1);
|
||||
}
|
||||
|
||||
/* ファームのリストア
|
||||
0x4800 - 0x7FFF (ブロック 18 - 27) から
|
||||
0x2000 - 0x47FF (ブロック 8 - 17) へコピー
|
||||
*/
|
||||
firm_duplicate( UPDATE_BLOCK_LAST +1, FIRM_TOP );
|
||||
if( firm_duplicate( UPDATE_BLOCK_LAST +1, FIRM_TOP ) != ERR_SUCCESS )
|
||||
{
|
||||
alert(2);
|
||||
}
|
||||
|
||||
// todo
|
||||
// リストア失敗したら、LEDちかちかとかさせて、サービス送りにしてもらう?
|
||||
|
||||
// リブート
|
||||
FSL_InvertBootFlag( );
|
||||
if( FSL_InvertBootFlag() != ERR_SUCCESS )
|
||||
{
|
||||
alert(3);
|
||||
}
|
||||
FSL_SwapBootCluster();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
static void FSL_Open( void )
|
||||
{
|
||||
@ -272,7 +388,11 @@ static void FSL_Open( void )
|
||||
MK0 = 0xFFFF;
|
||||
MK1 = 0xFFFF;
|
||||
MK2 = 0xFFFF;
|
||||
|
||||
/*
|
||||
LVIM = 0b00000010;
|
||||
LVIS = 0x08;
|
||||
LVIM = 0b10000010;
|
||||
*/
|
||||
FSL_FLMD0_HIGH; // フラッシュ書き替え許可
|
||||
}
|
||||
|
||||
@ -315,18 +435,23 @@ static err firm_duplicate( u8 block_src,
|
||||
u8 split_write_count; // ブロックへちまちま書き込むカウンタ
|
||||
__far u8* p_src = ( __far u8* )( block_src * 0x400 );
|
||||
|
||||
led_print(1);
|
||||
|
||||
// 書き込み先ブロックの数だけ繰り返す
|
||||
for( target_block = block_dest;
|
||||
target_block < block_dest + FIRM_SIZE;
|
||||
target_block < ( block_dest + FIRM_SIZE );
|
||||
target_block += 1 )
|
||||
{
|
||||
led_print(2);
|
||||
WDT_Restart( );
|
||||
// ブロック消去
|
||||
while( FSL_BlankCheck( target_block ) != FSL_OK )
|
||||
{
|
||||
led_print(3);
|
||||
FSL_Erase( target_block );
|
||||
}
|
||||
|
||||
led_print(4);
|
||||
// 分割書き込み分繰り返す
|
||||
for( split_write_count = 0;
|
||||
split_write_count < SELF_UPDATE_SPLIT_WRITE_NUM;
|
||||
@ -335,6 +460,8 @@ static err firm_duplicate( u8 block_src,
|
||||
u16 buff_written_size;
|
||||
u8* p_buff;
|
||||
|
||||
WDT_Restart( );
|
||||
|
||||
// 書き込みデータをバッファにためる
|
||||
buff_written_size = 0;
|
||||
p_buff = &pool.self_update_work[0];
|
||||
@ -353,16 +480,22 @@ static err firm_duplicate( u8 block_src,
|
||||
( fsl_u08 ) ( SELF_UPDATE_BUFF_SIZE / SAM_WORD_SIZE ) )
|
||||
!= FSL_OK )
|
||||
{
|
||||
// todo リカバリ? //
|
||||
// リカバリはリブート時 todo //
|
||||
FSL_Close( );
|
||||
led_print(5);
|
||||
while(1){}
|
||||
return ( ERR_ERR );
|
||||
}
|
||||
}
|
||||
led_print(6);
|
||||
|
||||
// 1ブロック書き込み完了。内部電圧チェックを行う
|
||||
while( FSL_IVerify( target_block ) != FSL_OK ){
|
||||
// todo 失敗時?
|
||||
;
|
||||
while( FSL_IVerify( target_block ) != FSL_OK )
|
||||
{
|
||||
// リカバリはリブート時 todo //
|
||||
led_print(7);
|
||||
while(1){}
|
||||
return ( ERR_ERR );
|
||||
}
|
||||
}
|
||||
return( ERR_SUCCESS );
|
||||
@ -375,6 +508,8 @@ static err firm_duplicate( u8 block_src,
|
||||
======================================================== */
|
||||
static err my_FSL_Init()
|
||||
{
|
||||
u8 rv;
|
||||
|
||||
RTCE = 0;
|
||||
|
||||
// 書き替え前準備 //
|
||||
@ -382,9 +517,9 @@ static err my_FSL_Init()
|
||||
FSL_Open( ); // 割り込み禁止など
|
||||
|
||||
FSL_Init( &pool.self_update_work[0] ); // ライブラリ初期化。割り込み中断考慮せず
|
||||
FSL_ModeCheck( ); // ライトプロテクトチェック。失敗することを考慮せず
|
||||
rv = FSL_ModeCheck( ); // ライトプロテクトチェック。失敗することを考慮せず
|
||||
|
||||
return( ERR_SUCCESS );
|
||||
return( (err)rv );
|
||||
}
|
||||
|
||||
|
||||
@ -398,6 +533,38 @@ task_status_immed tski_mcu_reset()
|
||||
FSL_Close( );
|
||||
|
||||
// 保険? //
|
||||
// WDTE = 0xAA; // WDTで再起動(テスト向け)
|
||||
// mcu_wdt_reset; // WDTで再起動(テスト向け)
|
||||
return( ERR_SUCCESS ); // no reach
|
||||
}
|
||||
|
||||
|
||||
void alert( u8 num )
|
||||
{
|
||||
u8 i;
|
||||
|
||||
while(1)
|
||||
{
|
||||
WDT_Restart();
|
||||
P1.5 = 1;
|
||||
for( i = 0; i < num; i++ )
|
||||
{
|
||||
DBG_LED_on;
|
||||
DBG_LED_off;
|
||||
}
|
||||
P1.5 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void led_print( u8 num )
|
||||
{
|
||||
u8 i;
|
||||
|
||||
DBG_LED_on;
|
||||
for( i = 0; i < num; i++ )
|
||||
{
|
||||
P1.5 = 1;
|
||||
P1.5 = 0;
|
||||
}
|
||||
DBG_LED_off;
|
||||
}
|
||||
|
@ -19,13 +19,8 @@
|
||||
#define INTERVAL_TSK_SW 8
|
||||
#define CLICK_THRESHOLD 2
|
||||
|
||||
#ifdef _FORCE_OFF_1SEC_
|
||||
#define HOLD_THREASHOLD (u8)( 800 / INTERVAL_TSK_SW )
|
||||
#define FORCEOFF_THREASHOLD (u8)( 1000 / INTERVAL_TSK_SW )
|
||||
#else
|
||||
#define HOLD_THREASHOLD (u8)( 2000 / INTERVAL_TSK_SW )
|
||||
#define FORCEOFF_THREASHOLD (u8)( 4000 / INTERVAL_TSK_SW )
|
||||
#endif
|
||||
*/
|
||||
|
||||
//=========================================================
|
||||
|
@ -83,16 +83,15 @@ void tsk_sys( )
|
||||
|
||||
// todo debug
|
||||
#ifdef _DEBUG_BT_IRQ_
|
||||
vreg_ctr[ VREG_C_DBG01 ] = 99; // todo (仮)
|
||||
vreg_ctr[ VREG_C_DBG01 ] = 99;
|
||||
#endif
|
||||
#ifdef _DEBUG_BT_TEMP_
|
||||
vreg_ctr[ VREG_C_DBG01 ] = 0x80; // todo (仮)
|
||||
vreg_ctr[ VREG_C_DBG01 ] = 0x80;
|
||||
#endif
|
||||
vreg_ctr[ VREG_C_COMMAND3 ] = 0;
|
||||
|
||||
// 電源投入 //
|
||||
iic_mcu_start( );
|
||||
BT_chk();
|
||||
BT_init(); // 実機やバッテリの判定、電池残量ICの設定
|
||||
|
||||
if( system_status.model == MODEL_JIKKI_NOBATT )
|
||||
@ -105,7 +104,7 @@ void tsk_sys( )
|
||||
// 残量チェック
|
||||
BT_get_left(); // 先に、BT_init()が実行されている必要があります。
|
||||
if(( vreg_ctr[VREG_C_BT_REMAIN] < 1 ) &&
|
||||
( vreg_ctr[VREG_C_BT_VOLTAGE] < ( 3150 / 16 / 1.25 ) ))
|
||||
( vreg_ctr[VREG_C_BT_VOLTAGE] < ( V_TH_ZERO / 256 ) ))
|
||||
{
|
||||
// 電池が少ないので起動させない(電圧チェックもされてる)
|
||||
renge_task_interval_run_force = 1;
|
||||
@ -187,7 +186,6 @@ void tsk_sys( )
|
||||
vreg_ctr[ VREG_C_STATUS ] |= (( bl_status_temp & 0x03 ) << 5 );
|
||||
set_bit( ( iic_mcu_read_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VDD_LCD ) != 0 ),
|
||||
vreg_ctr[ VREG_C_STATUS ], REG_BIT_LCD_POW );
|
||||
BT_chk();
|
||||
BT_init();
|
||||
}
|
||||
|
||||
@ -319,7 +317,7 @@ void tsk_sys( )
|
||||
// アダプタが刺さってるときはこのブロックを繰り返す。
|
||||
/// ↓は中で初期化フラグをもってるので呼びまくって良い
|
||||
iic_mcu_start( );
|
||||
BT_chk( );
|
||||
BT_init();
|
||||
|
||||
// アダプタ有り:充電温度監視
|
||||
if( SW_pow_count >= 10 ) // 電源スイッチが押されるのを待つ
|
||||
|
@ -1,5 +1,6 @@
|
||||
#ifdef _10db_
|
||||
// max -10db
|
||||
/*
|
||||
const u8 slider_to_codec[64] =
|
||||
{
|
||||
127, 127, 127, 127, 126, 125, 123, 122,
|
||||
@ -11,6 +12,18 @@ const u8 slider_to_codec[64] =
|
||||
72, 71, 70, 68, 67, 66, 64, 63,
|
||||
62, 61, 59, 58, 57, 56, 55, 55
|
||||
};
|
||||
*/
|
||||
const u8 slider_to_codec[64] =
|
||||
{
|
||||
127, 126, 125, 124, 122, 121, 120, 119,
|
||||
118, 117, 116, 114, 113, 112, 111, 110,
|
||||
109, 108, 106, 105, 104, 103, 102, 101,
|
||||
100, 98, 97, 96, 95, 94, 93, 92,
|
||||
90, 89, 88, 87, 86, 85, 83, 82,
|
||||
81, 80, 79, 78, 77, 75, 74, 73,
|
||||
73, 72, 71, 70, 69, 67, 66, 65,
|
||||
64, 63, 62, 61, 59, 58, 57, 56
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifdef _15db_
|
||||
|
@ -15,9 +15,13 @@ CTR MCU I2C
|
||||
#include "fsl_user.h"
|
||||
|
||||
|
||||
|
||||
extern u8 mcu_info_read(); // task_misc.c
|
||||
|
||||
extern u8 iic_burst_state;
|
||||
|
||||
extern bit vol_by_twl;
|
||||
|
||||
|
||||
// ********************************************************
|
||||
#ifdef _DBG_PEDO_AUTO_ENABLE_
|
||||
@ -287,16 +291,17 @@ void vreg_ctr_write( u8 adrs, u8 data )
|
||||
|
||||
case ( 'w' ):
|
||||
// WDTで再起動(テスト向け)
|
||||
WDTE = 0xAA;
|
||||
mcu_wdt_reset;
|
||||
break;
|
||||
}
|
||||
vreg_ctr[ VREG_C_COMMAND3 ] = data;
|
||||
break;
|
||||
|
||||
case ( VREG_C_VOL_DIGITAL ):
|
||||
vreg_ctr[ VREG_C_VOL_DIGITAL ] = ( data & ~0x40 ); // force vol update bit
|
||||
if(( data & 0x40 ) != 0 )
|
||||
vreg_ctr[ VREG_C_VOL_DIGITAL ] = ( data & ~REG_BIT_VOL_RESET) ; // コマンドビットが混ざってる【使用時に】マスクせよ
|
||||
if(( data & REG_BIT_VOL_RESET ) != 0 )
|
||||
{
|
||||
vol_by_twl = 0;
|
||||
renge_task_immed_add( tski_vol_update );
|
||||
}
|
||||
break;
|
||||
|
@ -30,7 +30,6 @@
|
||||
#define REG_BIT_GASGAUGE_ERR ( 1 << 0 )
|
||||
|
||||
// VREG_C_IRQ0
|
||||
#define REG_BIT_VR_SNDVOL_CHANGE ( 1 << 7 )
|
||||
#define REG_BIT_IRQ_WDT_RESET ( 1 << 7 )
|
||||
#define REG_BIT_SHELL_OPEN ( 1 << 6 )
|
||||
#define REG_BIT_SHELL_CLOSE ( 1 << 5 )
|
||||
@ -113,6 +112,10 @@
|
||||
#define REG_BIT_TWL_IRQ_BT_EMPTY 0x10
|
||||
#define REG_BIT_TWL_IRQ_VOL_CHANGE 0x40
|
||||
|
||||
// VOL(0x25)
|
||||
#define REG_BIT_VOL_RESET ( 1 << 6 )
|
||||
#define REG_BIT_VOL_FORCE_REG ( 1 << 7 )
|
||||
|
||||
|
||||
// CODEC上のPMIC NTR の代理レジスタ
|
||||
#define REG_BIT_TWL_REQ_OFF ( 1 << 6 )
|
||||
|
@ -21,10 +21,7 @@ u8 vreg_twl[_REG_TWL_INT_ADRS_ENDMARK];
|
||||
extern bit twl_ver_read;
|
||||
extern bit cam_led_update;
|
||||
extern bit twl_ntr_mode;
|
||||
extern u8 vol_data;
|
||||
|
||||
|
||||
|
||||
extern bit vol_by_twl;
|
||||
|
||||
/* ========================================================
|
||||
仮想レジスタの初期化
|
||||
@ -37,7 +34,6 @@ void vreg_twl_init( )
|
||||
vreg_twl[ REG_TWL_INT_ADRS_TEMP0 ] = 0;
|
||||
}
|
||||
|
||||
|
||||
// ========================================================
|
||||
// I2C仮想レジスタに書く・何かアクションする
|
||||
// 引数 adrs は内部アドレス
|
||||
@ -48,9 +44,10 @@ void vreg_twl_write( u8 adrs, u8 data )
|
||||
{
|
||||
case ( REG_TWL_INT_ADRS_VOL ):
|
||||
{
|
||||
set_irq( VREG_C_IRQ2, REG_BIT_TWL_SNDVOL_CHANGE );
|
||||
vol_data = data * 8;
|
||||
vol_by_twl = 1;
|
||||
vreg_twl[ REG_TWL_INT_ADRS_VOL ] = data;
|
||||
renge_task_immed_add( tski_vol_update );
|
||||
set_irq( VREG_C_IRQ2, REG_BIT_TWL_SNDVOL_CHANGE );
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -3,6 +3,21 @@ C:\WINDOWS\system32\cmd.exe /c touch magic.c
|
||||
Compilation complete, 0 error(s) and 0 warning(s) found.
|
||||
"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\magic.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no adc.c
|
||||
adc.c(121) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
|
||||
adc.c(146) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
adc.c(151) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
adc.c(160) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
adc.c(301) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
adc.c(325) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
|
||||
adc.c(345) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
adc.c(422) : CC78K0R warning W0745: Expected function prototype
|
||||
adc.c(446) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
adc.c(451) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
adc.c(151) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
Compilation complete, 0 error(s) and 11 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\adc.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\lk78k0r.exe" -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -obsr.lmf "..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\lib78k0r\s0rm.rel" -go85h,0FC00h,1024 -gi0FFFFFFFFFFFFFFFFFFFFh -pbsr_k0r.map -nkd -gb7EFBFFh -b"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib" -bcl0rdm.lib -bcl0rm.lib -bcl0rmf.lib -i"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\lib78k0r" -dbsr_mcu.dr -s -w0 loader.rel pm.rel i2c_ctr.rel main.rel magic.rel WDT.rel i2c_mcu.rel i2c_twl.rel 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.
|
||||
"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
|
||||
@ -13,4 +28,4 @@ intel-HEX to bsr bin converter
|
||||
file converted!
|
||||
|
||||
|
||||
Build Total error(s) : 0 Total warning(s) : 0
|
||||
Build Total error(s) : 0 Total warning(s) : 11
|
||||
|
@ -78,10 +78,10 @@ Symbol Type=OFF
|
||||
Language=C
|
||||
Kanji=SJIS
|
||||
[Source]
|
||||
Geometry=83, 74, 844, 790
|
||||
Geometry=114, 70, 844, 790
|
||||
Window=Normal
|
||||
DispStart=269
|
||||
CaretPos=321,0
|
||||
DispStart=247
|
||||
CaretPos=281,0
|
||||
Mode=Normal
|
||||
DispFile=
|
||||
Address1=
|
||||
@ -142,7 +142,7 @@ Accumulative=ON
|
||||
[Assemble]
|
||||
Geometry=282, 92, 968, 626
|
||||
Window=Hide
|
||||
DispStart=864505856
|
||||
DispStart=864338944
|
||||
CaretPos=0,0
|
||||
Address1=
|
||||
Address2=
|
||||
@ -185,18 +185,18 @@ SaveRange=Screen
|
||||
SaveStart=
|
||||
SaveEnd=
|
||||
[Memory]
|
||||
Geometry=218, 29, 968, 626
|
||||
Window=Hide
|
||||
Boundary=0
|
||||
Geometry=224, 254, 968, 626
|
||||
Window=Normal
|
||||
Boundary=163
|
||||
Format=Hex
|
||||
Mode=Byte
|
||||
Endian=
|
||||
Endian=Little
|
||||
Ascii=OFF
|
||||
Idtag=OFF
|
||||
Address=
|
||||
DispStart=FFFFFFFF
|
||||
CaretPosData=0, 0
|
||||
CaretPosAscii=0, 0
|
||||
DispStart=00007DC0
|
||||
CaretPosData=0, 2012
|
||||
CaretPosAscii=3, 2012
|
||||
Address1=
|
||||
Address2=
|
||||
Address3=
|
||||
@ -867,14 +867,14 @@ SaveStart=
|
||||
SaveEnd=
|
||||
[Register]
|
||||
Geometry=975, 515, 272, 397
|
||||
Window=Hide
|
||||
Window=Normal
|
||||
Mode=Hex
|
||||
Boundary=174
|
||||
Pickup=OFF
|
||||
Name=Functional
|
||||
Register Bank=0
|
||||
RP0=1
|
||||
RP1=1
|
||||
RP1=5
|
||||
RP2=1
|
||||
RP3=1
|
||||
PC=1
|
||||
@ -957,52 +957,57 @@ Detail=OFF
|
||||
Last Name=
|
||||
Count=0
|
||||
[Variable]
|
||||
Geometry=1137, 11, 441, 595
|
||||
Geometry=854, -3, 441, 595
|
||||
Window=Normal
|
||||
Boundary=18088086
|
||||
0=.P4.2,P,S,A,+,1
|
||||
1=.hoge,P,N,A,+,1
|
||||
2=.work,P,N,A,+,1
|
||||
3=.new_val,P,N,A,+,1
|
||||
4=.raw_adc_temperature,D,N,A,+,1
|
||||
5=.vreg_ctr[5],D,N,A,+,1
|
||||
6=.vreg_ctr[35],P,N,A,+,1
|
||||
7=.bt_chg_ready,P,N,A,+,1
|
||||
8=.pu20,P,S,A,+,1
|
||||
9=.temp_zone_charge_enable,P,N,A,+,1
|
||||
10=.bt_remain_old,P,N,A,+,1
|
||||
11=.vreg_ctr,P,N,A,+,1
|
||||
12=.system_status,.,N,A,+,1
|
||||
13=.battery_manufacturer,P,N,A,+,1
|
||||
14=.bt_comp,.,N,A,+,1
|
||||
15=.vol_data,P,N,A,+,1
|
||||
Line=16
|
||||
0=.vreg_ctr[11],D,N,A,+,1
|
||||
1=.system_status,.,N,A,+,1
|
||||
2=.vreg_ctr[13],H,N,A,+,1
|
||||
3=.P4.2,P,S,A,+,1
|
||||
4=.hoge,P,N,A,+,1
|
||||
5=.work,P,N,A,+,1
|
||||
6=.new_val,P,N,A,+,1
|
||||
7=.raw_adc_temperature,D,N,A,+,1
|
||||
8=.bt_chg_ready,P,N,A,+,1
|
||||
9=.pu20,P,S,A,+,1
|
||||
10=.temp_zone_charge_enable,P,N,A,+,1
|
||||
11=.bt_remain_old,P,N,A,+,1
|
||||
12=.vreg_ctr,P,N,A,+,1
|
||||
13=.system_status,.,N,A,+,1
|
||||
14=.battery_manufacturer,P,N,A,+,1
|
||||
15=.bt_comp,.,N,A,+,1
|
||||
16=.vol_data,P,N,A,+,1
|
||||
Line=17
|
||||
[Quick Watch]
|
||||
0=TDR02,P,A,1
|
||||
1=TDR03,P,A,1
|
||||
2=TDR04,P,A,1
|
||||
3=tdr07,P,A,1
|
||||
4=tdr08,P,A,1
|
||||
5=toe0,B,A,1
|
||||
6=vreg_ctr[35],P,A,1
|
||||
7=vreg_ctr[5],P,A,1
|
||||
8=raw_adc_temperature,P,A,1
|
||||
9=bt_chg_ready,P,A,1
|
||||
10=p4.3,P,A,1
|
||||
11=work,P,A,1
|
||||
12=new_val,P,A,1
|
||||
13=vol_data,P,A,1
|
||||
14=hoge,P,A,1
|
||||
15=P4.2,P,A,1
|
||||
0=tdr07,P,A,1
|
||||
1=tdr08,P,A,1
|
||||
2=toe0,B,A,1
|
||||
3=vreg_ctr[35],P,A,1
|
||||
4=vreg_ctr[5],P,A,1
|
||||
5=raw_adc_temperature,P,A,1
|
||||
6=bt_chg_ready,P,A,1
|
||||
7=p4.3,P,A,1
|
||||
8=work,P,A,1
|
||||
9=new_val,P,A,1
|
||||
10=vol_data,P,A,1
|
||||
11=hoge,P,A,1
|
||||
12=P4.2,P,A,1
|
||||
13=vreg_ctr[13],P,A,1
|
||||
14=vreg_ctr[11],P,A,1
|
||||
15=system_status,P,A,1
|
||||
[Software Break]
|
||||
Geometry=547, 524, 756, 532
|
||||
Geometry=775, 797, 445, 260
|
||||
Window=Normal
|
||||
Width=150 30 200 100
|
||||
Name0=Swb00001
|
||||
Address0=i2c_mcu.c#_iic_mcu_write_a_byte+0x40
|
||||
Address0=pm.c#_BT_mgic_init+0x127
|
||||
Window0=ASM
|
||||
Status0=ON
|
||||
Count=1
|
||||
Name1=Swb00002
|
||||
Address1=pm.c#_BT_init+0x0
|
||||
Window1=ASM
|
||||
Status1=ON
|
||||
Count=2
|
||||
[Reset]
|
||||
Debugger=ON
|
||||
Symbol=OFF
|
||||
|
@ -6,7 +6,7 @@ Series=78K0R.PM
|
||||
Device=uPD79F0104
|
||||
DeviceVer=E1.00b
|
||||
DebugMode=1
|
||||
Target=bsr.lmf
|
||||
Target=C:\78k_data\yav-mcu-basara\trunk\bsr.lmf
|
||||
[BuildMode0]
|
||||
BuildModeName=Debug Build
|
||||
TargetFile=0
|
||||
@ -112,296 +112,6 @@ ZF=0
|
||||
S=1
|
||||
E=0
|
||||
CommandFile=0
|
||||
[Options.LCNV78K0R 0]
|
||||
Version=100
|
||||
LCNV_GO=0
|
||||
E=0
|
||||
CommandFile=0
|
||||
[Options.LCNV78K0R 1]
|
||||
Version=100
|
||||
LCNV_GO=0
|
||||
E=0
|
||||
CommandFile=0
|
||||
[Options.LCNV78K0R 2]
|
||||
Version=100
|
||||
LCNV_GO=0
|
||||
O0=inter_asm
|
||||
E=0
|
||||
CommandFile=0
|
||||
[Options.LCNV78K0R 3]
|
||||
Version=100
|
||||
LCNV_GO=0
|
||||
E=0
|
||||
CommandFile=0
|
||||
[Options.LCNV78K0R 4]
|
||||
Version=100
|
||||
LCNV_GO=0
|
||||
E=0
|
||||
CommandFile=0
|
||||
[Options.LCNV78K0R 5]
|
||||
Version=100
|
||||
LCNV_GO=0
|
||||
E=0
|
||||
CommandFile=0
|
||||
[Options.LK78K0R 0]
|
||||
Version=100
|
||||
O0=bsr_k0r.lmf
|
||||
O1=bsr.lmf
|
||||
O2=flash.lmf
|
||||
O3=a.lmf
|
||||
G=1
|
||||
E=0
|
||||
E0=flash.elk
|
||||
E1=a.elk
|
||||
GO=1
|
||||
GOValue=85
|
||||
GOStart=FC00
|
||||
GOSizeValue=1024
|
||||
GI=1
|
||||
GIValue=FFFFFFFFFFFFFFFFFFFF
|
||||
CCZA=0
|
||||
MemInfoCheck=1
|
||||
P=1
|
||||
P0=bsr_k0r.map
|
||||
P1=bsr.map
|
||||
P2=flash.map
|
||||
P3=a.map
|
||||
MI=0
|
||||
GB=1
|
||||
GBValue=6EFBFF
|
||||
KM=1
|
||||
KD=0
|
||||
KP=1
|
||||
KL=0
|
||||
LF=0
|
||||
LL=0
|
||||
B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib
|
||||
D0=bsr_mcu.dr
|
||||
D1=user_area.dr
|
||||
S=1
|
||||
W=0
|
||||
SELFCheck=1
|
||||
SELF=0
|
||||
ZB=
|
||||
Etcetera0=
|
||||
Etcetera1=boot.lmf
|
||||
CommandFile=0
|
||||
[Options.LK78K0R 1]
|
||||
Version=100
|
||||
O0=a.lmf
|
||||
G=0
|
||||
E=0
|
||||
E0=a.elk
|
||||
GO=0
|
||||
GOValue=
|
||||
GOStart=FC00
|
||||
GOSizeValue=1024
|
||||
GI=0
|
||||
GIValue=FFFFFFFFFFFFFFFFFFFF
|
||||
CCZA=1
|
||||
MemInfoCheck=0
|
||||
P=1
|
||||
P0=a.map
|
||||
MI=0
|
||||
GB=0
|
||||
GBValue=
|
||||
KM=1
|
||||
KD=1
|
||||
KP=0
|
||||
KL=0
|
||||
LF=0
|
||||
LL=0
|
||||
S=0
|
||||
W=1
|
||||
SELFCheck=0
|
||||
SELF=0
|
||||
ZB=
|
||||
CommandFile=0
|
||||
[Options.LK78K0R 2]
|
||||
Version=100
|
||||
O0=bsr.lmf
|
||||
O1=bsr_k0r.lmf
|
||||
O2=flash.lmf
|
||||
O3=a.lmf
|
||||
G=1
|
||||
E=0
|
||||
E0=flash.elk
|
||||
E1=a.elk
|
||||
GO=1
|
||||
GOValue=85
|
||||
GOStart=FC00
|
||||
GOSizeValue=1024
|
||||
GI=1
|
||||
GIValue=FFFFFFFFFFFFFFFFFFFF
|
||||
CCZA=0
|
||||
MemInfoCheck=1
|
||||
P=1
|
||||
P0=bsr_k0r.map
|
||||
P1=bsr.map
|
||||
P2=flash.map
|
||||
P3=a.map
|
||||
MI=0
|
||||
GB=1
|
||||
GBValue=7EFBFF
|
||||
KM=1
|
||||
KD=0
|
||||
KP=0
|
||||
KL=0
|
||||
LF=0
|
||||
LL=0
|
||||
B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib
|
||||
D0=bsr_mcu.dr
|
||||
D1=user_area.dr
|
||||
S=1
|
||||
W=0
|
||||
SELFCheck=0
|
||||
SELF=0
|
||||
ZB=
|
||||
Etcetera0=
|
||||
Etcetera1=boot.lmf
|
||||
CommandFile=0
|
||||
OFILE=C:\78k_data\yav-mcu-basara\trunk\bsr.lmf
|
||||
[Options.LK78K0R 3]
|
||||
Version=100
|
||||
O0=bsr_bsr.lmf
|
||||
O1=bsr_k0r.lmf
|
||||
O2=bsr.lmf
|
||||
O3=flash.lmf
|
||||
O4=a.lmf
|
||||
G=1
|
||||
E=0
|
||||
E0=flash.elk
|
||||
E1=a.elk
|
||||
GO=1
|
||||
GOValue=85
|
||||
GOStart=FC00
|
||||
GOSizeValue=1024
|
||||
GI=1
|
||||
GIValue=FFFFFFFFFFFFFFFFFFFF
|
||||
CCZA=0
|
||||
MemInfoCheck=1
|
||||
P=1
|
||||
P0=bsr_bsr.map
|
||||
P1=bsr_k0r.map
|
||||
P2=bsr.map
|
||||
P3=flash.map
|
||||
P4=a.map
|
||||
MI=0
|
||||
GB=1
|
||||
GBValue=6EFBFF
|
||||
KM=1
|
||||
KD=0
|
||||
KP=1
|
||||
KL=0
|
||||
LF=0
|
||||
LL=0
|
||||
B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib
|
||||
D0=bsr_mcu.dr
|
||||
D1=user_area.dr
|
||||
S=1
|
||||
W=2
|
||||
SELFCheck=0
|
||||
SELF=0
|
||||
ZB=
|
||||
Etcetera0=
|
||||
Etcetera1=boot.lmf
|
||||
CommandFile=0
|
||||
[Options.LK78K0R 4]
|
||||
Version=100
|
||||
O0=bsr_k0r.lmf
|
||||
O1=bsr.lmf
|
||||
O2=flash.lmf
|
||||
O3=a.lmf
|
||||
G=1
|
||||
E=0
|
||||
E0=flash.elk
|
||||
E1=a.elk
|
||||
GO=1
|
||||
GOValue=85
|
||||
GOStart=FC00
|
||||
GOSizeValue=1024
|
||||
GI=1
|
||||
GIValue=FFFFFFFFFFFFFFFFFFFF
|
||||
CCZA=0
|
||||
MemInfoCheck=1
|
||||
P=1
|
||||
P0=bsr_k0r.map
|
||||
P1=bsr.map
|
||||
P2=flash.map
|
||||
P3=a.map
|
||||
MI=0
|
||||
GB=1
|
||||
GBValue=6EFBFF
|
||||
KM=1
|
||||
KD=0
|
||||
KP=1
|
||||
KL=0
|
||||
LF=0
|
||||
LL=0
|
||||
B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib
|
||||
D0=bsr_mcu.dr
|
||||
D1=user_area.dr
|
||||
S=1
|
||||
W=0
|
||||
SELFCheck=1
|
||||
SELF=0
|
||||
ZB=
|
||||
Etcetera0=
|
||||
Etcetera1=boot.lmf
|
||||
CommandFile=0
|
||||
[Options.LK78K0R 5]
|
||||
Version=100
|
||||
O0=bsr_bsr.lmf
|
||||
O1=bsr_k0r.lmf
|
||||
O2=bsr.lmf
|
||||
O3=flash.lmf
|
||||
O4=a.lmf
|
||||
G=1
|
||||
E=0
|
||||
E0=flash.elk
|
||||
E1=a.elk
|
||||
GO=1
|
||||
GOValue=85
|
||||
GOStart=FC00
|
||||
GOSizeValue=1024
|
||||
GI=1
|
||||
GIValue=FFFFFFFFFFFFFFFFFFFF
|
||||
CCZA=0
|
||||
MemInfoCheck=1
|
||||
P=1
|
||||
P0=bsr_bsr.map
|
||||
P1=bsr_k0r.map
|
||||
P2=bsr.map
|
||||
P3=flash.map
|
||||
P4=a.map
|
||||
MI=0
|
||||
GB=1
|
||||
GBValue=6EFBFF
|
||||
KM=1
|
||||
KD=0
|
||||
KP=1
|
||||
KL=0
|
||||
LF=0
|
||||
LL=0
|
||||
B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib
|
||||
D0=bsr_mcu.dr
|
||||
D1=user_area.dr
|
||||
S=1
|
||||
W=2
|
||||
SELFCheck=0
|
||||
SELF=0
|
||||
ZB=
|
||||
Etcetera0=
|
||||
Etcetera1=boot.lmf
|
||||
CommandFile=0
|
||||
[BuildBefore-AfterCmd]
|
||||
Before1=touch magic.c
|
||||
After1=ruby nec_s_2_bsrbin2.rb bsr.hex
|
||||
[ToolSet]
|
||||
ToolSetName=(•Ï<E280A2>X)78K0R Software Package V1.10
|
||||
Tool1=CC78K0R|W2.10
|
||||
Tool2=RA78K0R|W1.31
|
||||
Tool3=ID78K0R-QB|V3.60
|
||||
[Options.RA78K0R 0]
|
||||
Version=100
|
||||
G=1
|
||||
@ -510,40 +220,6 @@ LT=8
|
||||
Z=0
|
||||
CommandFile=0
|
||||
RA_OPT=
|
||||
[Options.78K0R]
|
||||
BuildMode=2
|
||||
BuildMode2=K0R_dbg
|
||||
BuildMode3=BSR_dbg
|
||||
BuildMode4=BSR_rel
|
||||
BuildMode5=BSR_WM0
|
||||
DefaultMode2=1
|
||||
DefaultMode3=1
|
||||
DefaultMode4=1
|
||||
DefaultMode5=1
|
||||
[SrcFile]
|
||||
Source1=loader.c
|
||||
Source2=pm.c
|
||||
Source3=i2c_ctr.c
|
||||
Source4=main.c
|
||||
Source5=magic.c
|
||||
Source6=WDT.c
|
||||
Source7=i2c_mcu.c
|
||||
Source8=i2c_twl.c
|
||||
Source9=led.c
|
||||
Source10=rtc.c
|
||||
Source11=vreg_ctr.c
|
||||
Source12=vreg_twl.c
|
||||
Source13=adc.c
|
||||
Source14=renge\renge.c
|
||||
Source15=accero.c
|
||||
Source16=self_flash.c
|
||||
Source17=sw.c
|
||||
Source18=task_debug.c
|
||||
Source19=task_misc.c
|
||||
Source20=task_sys.c
|
||||
Source21=pedo_alg_thre_det2.c
|
||||
Source22=ini_VECT.c
|
||||
Source23=task_status.c
|
||||
[Options.CC78K0R 0]
|
||||
Version=210
|
||||
Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r
|
||||
@ -1010,6 +686,327 @@ VfiFileBoot0=
|
||||
VfiFileBoot1=boot.vfi
|
||||
VF78K0Rchk=0
|
||||
VF78K0Rvs=
|
||||
[Options.LK78K0R 0]
|
||||
Version=100
|
||||
O0=bsr_k0r.lmf
|
||||
O1=bsr.lmf
|
||||
O2=flash.lmf
|
||||
O3=a.lmf
|
||||
G=1
|
||||
E=0
|
||||
E0=flash.elk
|
||||
E1=a.elk
|
||||
GO=1
|
||||
GOValue=85
|
||||
GOStart=FC00
|
||||
GOSizeValue=1024
|
||||
GI=1
|
||||
GIValue=FFFFFFFFFFFFFFFFFFFF
|
||||
CCZA=0
|
||||
MemInfoCheck=1
|
||||
P=1
|
||||
P0=bsr_k0r.map
|
||||
P1=bsr.map
|
||||
P2=flash.map
|
||||
P3=a.map
|
||||
MI=0
|
||||
GB=1
|
||||
GBValue=6EFBFF
|
||||
KM=1
|
||||
KD=0
|
||||
KP=1
|
||||
KL=0
|
||||
LF=0
|
||||
LL=0
|
||||
B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib
|
||||
D0=bsr_mcu.dr
|
||||
D1=user_area.dr
|
||||
S=1
|
||||
W=0
|
||||
SELFCheck=1
|
||||
SELF=0
|
||||
ZB=
|
||||
Etcetera0=
|
||||
Etcetera1=boot.lmf
|
||||
CommandFile=0
|
||||
[Options.LK78K0R 1]
|
||||
Version=100
|
||||
O0=a.lmf
|
||||
G=0
|
||||
E=0
|
||||
E0=a.elk
|
||||
GO=0
|
||||
GOValue=
|
||||
GOStart=FC00
|
||||
GOSizeValue=1024
|
||||
GI=0
|
||||
GIValue=FFFFFFFFFFFFFFFFFFFF
|
||||
CCZA=1
|
||||
MemInfoCheck=0
|
||||
P=1
|
||||
P0=a.map
|
||||
MI=0
|
||||
GB=0
|
||||
GBValue=
|
||||
KM=1
|
||||
KD=1
|
||||
KP=0
|
||||
KL=0
|
||||
LF=0
|
||||
LL=0
|
||||
S=0
|
||||
W=1
|
||||
SELFCheck=0
|
||||
SELF=0
|
||||
ZB=
|
||||
CommandFile=0
|
||||
[Options.LK78K0R 2]
|
||||
Version=100
|
||||
O0=bsr.lmf
|
||||
O1=bsr_k0r.lmf
|
||||
O2=flash.lmf
|
||||
O3=a.lmf
|
||||
G=1
|
||||
E=0
|
||||
E0=flash.elk
|
||||
E1=a.elk
|
||||
GO=1
|
||||
GOValue=85
|
||||
GOStart=FC00
|
||||
GOSizeValue=1024
|
||||
GI=1
|
||||
GIValue=FFFFFFFFFFFFFFFFFFFF
|
||||
CCZA=0
|
||||
MemInfoCheck=1
|
||||
P=1
|
||||
P0=bsr_k0r.map
|
||||
P1=bsr.map
|
||||
P2=flash.map
|
||||
P3=a.map
|
||||
MI=0
|
||||
GB=1
|
||||
GBValue=7EFBFF
|
||||
KM=1
|
||||
KD=0
|
||||
KP=0
|
||||
KL=0
|
||||
LF=0
|
||||
LL=0
|
||||
B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib
|
||||
D0=bsr_mcu.dr
|
||||
D1=user_area.dr
|
||||
S=1
|
||||
W=0
|
||||
SELFCheck=0
|
||||
SELF=0
|
||||
ZB=
|
||||
Etcetera0=
|
||||
Etcetera1=boot.lmf
|
||||
CommandFile=0
|
||||
OFILE=C:\78k_data\yav-mcu-basara\trunk\bsr.lmf
|
||||
[Options.LK78K0R 3]
|
||||
Version=100
|
||||
O0=bsr_bsr.lmf
|
||||
O1=bsr_k0r.lmf
|
||||
O2=bsr.lmf
|
||||
O3=flash.lmf
|
||||
O4=a.lmf
|
||||
G=1
|
||||
E=0
|
||||
E0=flash.elk
|
||||
E1=a.elk
|
||||
GO=1
|
||||
GOValue=85
|
||||
GOStart=FC00
|
||||
GOSizeValue=1024
|
||||
GI=1
|
||||
GIValue=FFFFFFFFFFFFFFFFFFFF
|
||||
CCZA=0
|
||||
MemInfoCheck=1
|
||||
P=1
|
||||
P0=bsr_bsr.map
|
||||
P1=bsr_k0r.map
|
||||
P2=bsr.map
|
||||
P3=flash.map
|
||||
P4=a.map
|
||||
MI=0
|
||||
GB=1
|
||||
GBValue=6EFBFF
|
||||
KM=1
|
||||
KD=0
|
||||
KP=1
|
||||
KL=0
|
||||
LF=0
|
||||
LL=0
|
||||
B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib
|
||||
D0=bsr_mcu.dr
|
||||
D1=user_area.dr
|
||||
S=1
|
||||
W=2
|
||||
SELFCheck=0
|
||||
SELF=0
|
||||
ZB=
|
||||
Etcetera0=
|
||||
Etcetera1=boot.lmf
|
||||
CommandFile=0
|
||||
[Options.LK78K0R 4]
|
||||
Version=100
|
||||
O0=bsr_k0r.lmf
|
||||
O1=bsr.lmf
|
||||
O2=flash.lmf
|
||||
O3=a.lmf
|
||||
G=1
|
||||
E=0
|
||||
E0=flash.elk
|
||||
E1=a.elk
|
||||
GO=1
|
||||
GOValue=85
|
||||
GOStart=FC00
|
||||
GOSizeValue=1024
|
||||
GI=1
|
||||
GIValue=FFFFFFFFFFFFFFFFFFFF
|
||||
CCZA=0
|
||||
MemInfoCheck=1
|
||||
P=1
|
||||
P0=bsr_k0r.map
|
||||
P1=bsr.map
|
||||
P2=flash.map
|
||||
P3=a.map
|
||||
MI=0
|
||||
GB=1
|
||||
GBValue=6EFBFF
|
||||
KM=1
|
||||
KD=0
|
||||
KP=1
|
||||
KL=0
|
||||
LF=0
|
||||
LL=0
|
||||
B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib
|
||||
D0=bsr_mcu.dr
|
||||
D1=user_area.dr
|
||||
S=1
|
||||
W=0
|
||||
SELFCheck=1
|
||||
SELF=0
|
||||
ZB=
|
||||
Etcetera0=
|
||||
Etcetera1=boot.lmf
|
||||
CommandFile=0
|
||||
[Options.LK78K0R 5]
|
||||
Version=100
|
||||
O0=bsr_bsr.lmf
|
||||
O1=bsr_k0r.lmf
|
||||
O2=bsr.lmf
|
||||
O3=flash.lmf
|
||||
O4=a.lmf
|
||||
G=1
|
||||
E=0
|
||||
E0=flash.elk
|
||||
E1=a.elk
|
||||
GO=1
|
||||
GOValue=85
|
||||
GOStart=FC00
|
||||
GOSizeValue=1024
|
||||
GI=1
|
||||
GIValue=FFFFFFFFFFFFFFFFFFFF
|
||||
CCZA=0
|
||||
MemInfoCheck=1
|
||||
P=1
|
||||
P0=bsr_bsr.map
|
||||
P1=bsr_k0r.map
|
||||
P2=bsr.map
|
||||
P3=flash.map
|
||||
P4=a.map
|
||||
MI=0
|
||||
GB=1
|
||||
GBValue=6EFBFF
|
||||
KM=1
|
||||
KD=0
|
||||
KP=1
|
||||
KL=0
|
||||
LF=0
|
||||
LL=0
|
||||
B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib
|
||||
D0=bsr_mcu.dr
|
||||
D1=user_area.dr
|
||||
S=1
|
||||
W=2
|
||||
SELFCheck=0
|
||||
SELF=0
|
||||
ZB=
|
||||
Etcetera0=
|
||||
Etcetera1=boot.lmf
|
||||
CommandFile=0
|
||||
[Options.LCNV78K0R 0]
|
||||
Version=100
|
||||
LCNV_GO=0
|
||||
E=0
|
||||
CommandFile=0
|
||||
[Options.LCNV78K0R 1]
|
||||
Version=100
|
||||
LCNV_GO=0
|
||||
E=0
|
||||
CommandFile=0
|
||||
[Options.LCNV78K0R 2]
|
||||
Version=100
|
||||
LCNV_GO=0
|
||||
O0=inter_asm
|
||||
E=0
|
||||
CommandFile=0
|
||||
[Options.LCNV78K0R 3]
|
||||
Version=100
|
||||
LCNV_GO=0
|
||||
E=0
|
||||
CommandFile=0
|
||||
[Options.LCNV78K0R 4]
|
||||
Version=100
|
||||
LCNV_GO=0
|
||||
E=0
|
||||
CommandFile=0
|
||||
[Options.LCNV78K0R 5]
|
||||
Version=100
|
||||
LCNV_GO=0
|
||||
E=0
|
||||
CommandFile=0
|
||||
[Options.78K0R]
|
||||
BuildMode=2
|
||||
BuildMode2=K0R_dbg
|
||||
BuildMode3=BSR_dbg
|
||||
BuildMode4=BSR_rel
|
||||
BuildMode5=BSR_WM0
|
||||
DefaultMode2=1
|
||||
DefaultMode3=1
|
||||
DefaultMode4=1
|
||||
DefaultMode5=1
|
||||
[ToolSet]
|
||||
ToolSetName=(•Ï<E280A2>X)78K0R Software Package V1.10
|
||||
Tool1=CC78K0R|W2.10
|
||||
Tool2=RA78K0R|W1.31
|
||||
Tool3=ID78K0R-QB|V3.60
|
||||
[SrcFile]
|
||||
Source1=loader.c
|
||||
Source2=pm.c
|
||||
Source3=i2c_ctr.c
|
||||
Source4=main.c
|
||||
Source5=magic.c
|
||||
Source6=WDT.c
|
||||
Source7=i2c_mcu.c
|
||||
Source8=i2c_twl.c
|
||||
Source9=led.c
|
||||
Source10=rtc.c
|
||||
Source11=vreg_ctr.c
|
||||
Source12=vreg_twl.c
|
||||
Source13=adc.c
|
||||
Source14=renge\renge.c
|
||||
Source15=accero.c
|
||||
Source16=self_flash.c
|
||||
Source17=sw.c
|
||||
Source18=task_debug.c
|
||||
Source19=task_misc.c
|
||||
Source20=task_sys.c
|
||||
Source21=pedo_alg_thre_det2.c
|
||||
Source22=ini_VECT.c
|
||||
Source23=task_status.c
|
||||
[IncFile]
|
||||
Include1=incs_loader.h
|
||||
Include2=jhl_defs.h
|
||||
@ -1045,3 +1042,7 @@ Include31=pedo_lpf_coeff.h
|
||||
Include32=..\..\..\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h
|
||||
Include33=..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h
|
||||
Include34=voltable.h
|
||||
Include35=magic.h
|
||||
[BuildBefore-AfterCmd]
|
||||
Before1=touch magic.c
|
||||
After1=ruby nec_s_2_bsrbin2.rb bsr.hex
|
||||
|
@ -4,11 +4,13 @@ FrameX=168
|
||||
FrameY=127
|
||||
FrameCX=1299
|
||||
FrameCY=1044
|
||||
OpenFile1=ProjectWindow
|
||||
PrjPos=0,2,754,3,253
|
||||
OpenFile2=config.h,0,286,286,1530,1043,0,9,0,0
|
||||
OpenFile3=OutputWindow
|
||||
OpenFile1=self_flash.c,0,110,110,1354,867,19,275,0,0
|
||||
OpenFile2=incs.h,0,132,132,1376,889,0,24,0,0
|
||||
OpenFile3=adc.c,0,330,330,1574,1087,0,380,0,0
|
||||
OpenFile4=OutputWindow
|
||||
OutputPos=0,36,981,694,1556
|
||||
OpenFile5=ProjectWindow
|
||||
PrjPos=0,2,754,3,253
|
||||
ActivePRJ=yav_mcu_bsr.prj
|
||||
[ProjectWindow]
|
||||
ProjectWindowDispType=0
|
||||
|
@ -1,7 +1,7 @@
|
||||
[SdbInfo]
|
||||
Ver=5
|
||||
[loader.c]
|
||||
T=4c298f6e
|
||||
T=4c3198b9
|
||||
1=incs_loader.h
|
||||
2=..\..\..\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h
|
||||
3=fsl_user.h
|
||||
@ -10,8 +10,9 @@ T=4c298f6e
|
||||
6=pm.h
|
||||
7=rtc.h
|
||||
8=reboot.h
|
||||
9=magic.h
|
||||
[pm.c]
|
||||
T=4c298f94
|
||||
T=4c318dab
|
||||
1=incs.h
|
||||
2=adc.h
|
||||
3=led.h
|
||||
@ -25,7 +26,7 @@ T=4c072cf1
|
||||
1=config.h
|
||||
2=incs.h
|
||||
[main.c]
|
||||
T=4c0cd4a6
|
||||
T=4c2dbbde
|
||||
1=incs_loader.h
|
||||
2=WDT.h
|
||||
3=rtc.h
|
||||
@ -35,13 +36,13 @@ T=4c0cd4a6
|
||||
7=adc.h
|
||||
8=pool.h
|
||||
[magic.c]
|
||||
T=4c29c894
|
||||
T=4c31d176
|
||||
1=config.h
|
||||
[WDT.c]
|
||||
T=4bf0d1e1
|
||||
1=incs_loader.h
|
||||
[i2c_mcu.c]
|
||||
T=4c285d96
|
||||
T=4c2acd5a
|
||||
1=incs_loader.h
|
||||
2=i2c_mcu.h
|
||||
[i2c_twl.c]
|
||||
@ -51,14 +52,14 @@ T=4c29c700
|
||||
3=i2c_twl_defs.h
|
||||
4=i2c_twl.h
|
||||
[led.c]
|
||||
T=4c284f59
|
||||
T=4c31a042
|
||||
1=incs.h
|
||||
2=led.h
|
||||
[rtc.c]
|
||||
T=4c0cd30b
|
||||
1=incs.h
|
||||
[vreg_ctr.c]
|
||||
T=4c285516
|
||||
T=4c319dfc
|
||||
1=incs.h
|
||||
2=vreg_ctr.h
|
||||
3=rtc.h
|
||||
@ -69,20 +70,21 @@ T=4c285516
|
||||
8=..\..\..\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h
|
||||
9=fsl_user.h
|
||||
[vreg_twl.c]
|
||||
T=4c2347c6
|
||||
T=4c2c3fca
|
||||
1=incs.h
|
||||
2=jhl_defs.h
|
||||
3=led.h
|
||||
4=vreg_twl.h
|
||||
5=vreg_ctr.h
|
||||
[adc.c]
|
||||
T=4c29948b
|
||||
T=4c31d076
|
||||
1=incs.h
|
||||
2=adc.h
|
||||
3=pm.h
|
||||
4=led.h
|
||||
5=voltable.h
|
||||
[renge\renge.c]
|
||||
T=4c232c3f
|
||||
T=4c318e0f
|
||||
1=renge\renge.h
|
||||
2=renge\renge_task_intval.h
|
||||
3=renge\renge_task_immediate.h
|
||||
@ -91,19 +93,21 @@ T=4c232c3f
|
||||
6=user_define.h
|
||||
7=bsr_system.h
|
||||
[accero.c]
|
||||
T=4c27e7a0
|
||||
T=4c2aacdb
|
||||
1=config.h
|
||||
2=incs.h
|
||||
3=..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h
|
||||
[self_flash.c]
|
||||
T=4bfb28ce
|
||||
T=4c319f1f
|
||||
1=incs_loader.h
|
||||
2=..\..\..\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h
|
||||
3=fsl_user.h
|
||||
4=i2c_ctr.h
|
||||
5=pool.h
|
||||
6=magic.h
|
||||
7=pm.h
|
||||
[sw.c]
|
||||
T=4c04be89
|
||||
T=4c2d5d86
|
||||
1=incs.h
|
||||
2=i2c_twl.h
|
||||
3=i2c_ctr.h
|
||||
@ -112,12 +116,12 @@ T=4c04be89
|
||||
6=rtc.h
|
||||
7=sw.h
|
||||
[task_debug.c]
|
||||
T=4c29ca1c
|
||||
T=4c2aacdb
|
||||
1=incs.h
|
||||
2=renge\renge.h
|
||||
3=pm.h
|
||||
[task_misc.c]
|
||||
T=4c29948b
|
||||
T=4c2aacdb
|
||||
1=incs.h
|
||||
2=renge\renge.h
|
||||
3=pm.h
|
||||
@ -126,7 +130,7 @@ T=4c29948b
|
||||
6=i2c_mcu.h
|
||||
7=led.h
|
||||
[task_sys.c]
|
||||
T=4c29948b
|
||||
T=4c2d5d27
|
||||
1=incs.h
|
||||
2=i2c_twl.h
|
||||
3=i2c_ctr.h
|
||||
@ -138,7 +142,7 @@ T=4c29948b
|
||||
9=adc.h
|
||||
10=self_flash.h
|
||||
[pedo_alg_thre_det2.c]
|
||||
T=4c28555c
|
||||
T=4c2aacdb
|
||||
1=incs.h
|
||||
2=..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h
|
||||
3=accero.h
|
||||
@ -146,10 +150,10 @@ T=4c28555c
|
||||
5=pedo_lpf_coeff.h
|
||||
6=pool.h
|
||||
[ini_VECT.c]
|
||||
T=4bf0d1e1
|
||||
T=4c312edd
|
||||
1=config.h
|
||||
[task_status.c]
|
||||
T=4c29948b
|
||||
T=4c2aacdb
|
||||
1=incs.h
|
||||
2=renge\renge.h
|
||||
3=pm.h
|
||||
@ -171,13 +175,13 @@ T=4c119cde
|
||||
T=4c075832
|
||||
1=config.h
|
||||
[config.h]
|
||||
T=4c29c890
|
||||
T=4c2db56f
|
||||
[user_define.h]
|
||||
T=4c2856fa
|
||||
[bsr_system.h]
|
||||
T=4c22c0cc
|
||||
[renge\renge.h]
|
||||
T=4c0758e3
|
||||
T=4c318e0f
|
||||
1=renge\renge_defs.h
|
||||
2=renge\renge_task_immediate.h
|
||||
[renge\renge_defs.h]
|
||||
@ -186,16 +190,16 @@ T=4c073c5a
|
||||
T=4c284e89
|
||||
1=renge\renge_defs.h
|
||||
[vreg_ctr.h]
|
||||
T=4c28383c
|
||||
T=4c2d8983
|
||||
1=config.h
|
||||
[vreg_twl.h]
|
||||
T=4c072cf1
|
||||
[loader.h]
|
||||
T=4bf0d1e0
|
||||
T=4c318e0f
|
||||
[i2c_mcu.h]
|
||||
T=4c0769e1
|
||||
T=4c2aacdb
|
||||
[WDT.h]
|
||||
T=4bf0d1e1
|
||||
T=4c319dfc
|
||||
[fsl_user.h]
|
||||
T=4bf0d1e0
|
||||
[i2c_ctr.h]
|
||||
@ -207,20 +211,21 @@ T=4bf0d1e1
|
||||
[reboot.h]
|
||||
T=4bf0d1e1
|
||||
[incs.h]
|
||||
T=4c072fc8
|
||||
T=4c318e3d
|
||||
1=jhl_defs.h
|
||||
2=user_define.h
|
||||
3=bsr_system.h
|
||||
4=renge\renge.h
|
||||
5=vreg_ctr.h
|
||||
6=vreg_twl.h
|
||||
7=i2c_mcu.h
|
||||
8=i2c_twl.h
|
||||
9=rtc.h
|
||||
10=accero.h
|
||||
11=pm.h
|
||||
12=sw.h
|
||||
13=WDT.h
|
||||
5=loader.h
|
||||
6=vreg_ctr.h
|
||||
7=vreg_twl.h
|
||||
8=i2c_mcu.h
|
||||
9=i2c_twl.h
|
||||
10=rtc.h
|
||||
11=accero.h
|
||||
12=pm.h
|
||||
13=sw.h
|
||||
14=WDT.h
|
||||
[accero.h]
|
||||
T=4bf0d1e1
|
||||
1=jhl_defs.h
|
||||
@ -231,9 +236,9 @@ T=4bfd1372
|
||||
T=4bf0d1e1
|
||||
1=jhl_defs.h
|
||||
[led.h]
|
||||
T=4c21e17d
|
||||
T=4c31d05a
|
||||
[batt_params.h]
|
||||
T=4c298f3c
|
||||
T=4c2c4bd3
|
||||
[i2c_twl_defs.h]
|
||||
T=4bf0d1e1
|
||||
[renge\renge_task_intval.h]
|
||||
@ -255,3 +260,7 @@ T=4bf0d1e1
|
||||
T=49a3bd4e
|
||||
[..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h]
|
||||
T=45f12258
|
||||
[voltable.h]
|
||||
T=4c31be66
|
||||
[magic.h]
|
||||
T=4c316840
|
||||
|
Loading…
Reference in New Issue
Block a user