sreg,calltを積極的に使うよう、コンパイルオプション変更など
未使用変数削除


git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@375 013db118-44a6-b54f-8bf7-843cb86687b1
This commit is contained in:
n2232 2011-08-23 04:58:32 +00:00
parent b77a8c1d00
commit 92d54aae94
23 changed files with 2015 additions and 1650 deletions

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@
#define MCU_VER_MAJOR 0x02 #define MCU_VER_MAJOR 0x02
#define MCU_VER_MINOR 0x05 #define MCU_VER_MINOR 0x06
// デバッグ向けスイッチ // デバッグ向けスイッチ
@ -23,7 +23,7 @@
//#define _ENABLE_HAL_ // デバッグ用にHALを有効にする。コメントアウトでスルーになる。 //#define _ENABLE_HAL_ // デバッグ用にHALを有効にする。コメントアウトでスルーになる。
#ifdef _DBG_NOP_ #ifdef _DBG_NOP_ // コード上必要なNOPと区別するため
# define dbg_nop() NOP() # define dbg_nop() NOP()
#else #else
# define dbg_nop() ; # define dbg_nop() ;

View File

@ -174,3 +174,4 @@ void hal_reset()
vreg_ctr[ VREG_C_HAL_OVW_BT_FUEL ] = 0xFF; vreg_ctr[ VREG_C_HAL_OVW_BT_FUEL ] = 0xFF;
vreg_ctr[ VREG_C_HAL_OVW_BT_VOLTAGE ] = 0xFF; vreg_ctr[ VREG_C_HAL_OVW_BT_VOLTAGE ] = 0xFF;
} }

View File

@ -9,7 +9,6 @@ extern bit SW_HOME_n;
extern bit SW_WIFI_n; extern bit SW_WIFI_n;
extern bit SHELL_OPEN; extern bit SHELL_OPEN;
// ======================================================== // ========================================================
void hal_update(); void hal_update();
void hal_reset(); void hal_reset();

Binary file not shown.

View File

@ -127,7 +127,7 @@ __interrupt void int_iic_ctr( )
if( !( state == IIC_IDLE || state == IIC_TX_OR_RX )) if( !( state == IIC_IDLE || state == IIC_TX_OR_RX ))
{ {
// sp/nack 取り損ねた // sp/nack 取り損ねた
dbg_nop(); // こないはず... // dbg_nop(); // こないはず...
/* /*
// パケットの先頭のstと見なす。 // パケットの先頭のstと見なす。
// 普通に続行 // 普通に続行

View File

@ -56,6 +56,8 @@ static void iic_mcu_send_re_st( );
static void iic_mcu_send_sp( ); static void iic_mcu_send_sp( );
static err iic_mcu_send_a_byte( u8 ); static err iic_mcu_send_a_byte( u8 );
static err iic_mcu_call_slave( u8 slave ); static err iic_mcu_call_slave( u8 slave );
extern void DI_wt_chk();
@ -90,7 +92,7 @@ static err iic_mcu_wait_free()
iic_mcu_start( ); iic_mcu_start( );
while( 1 ) while( 1 )
{ {
DI(); DI_wt_chk();
if( !iic_mcu_busy ) if( !iic_mcu_busy )
{ {
iic_mcu_busy = true; iic_mcu_busy = true;
@ -610,12 +612,6 @@ void iic_mcu_stop( )
/* ======================================================== /* ========================================================
iic_mcu_write_a_byte CODEC不具合ワークアラウンド iic_mcu_write_a_byte CODEC不具合ワークアラウンド

View File

@ -134,10 +134,6 @@ void LED_init( );
void LED_stop( ); void LED_stop( );
extern void tsk_led_cam();
// ==================================== // ====================================
extern bit ledInitialized; extern bit ledInitialized;
extern bit info_led_override; extern bit info_led_override;

View File

@ -24,19 +24,24 @@ bit cam_led_update;
// ======================================================== // ========================================================
static void cam_led_twl(); static void cam_led_twl();
extern void DI_wt_chk();
// ======================================================== // ========================================================
// インターバル実行タスクと、twlレジスタへの書き込みのカ所から
// 呼ばれます。
void tsk_led_cam( ) void tsk_led_cam( )
{ {
DI(); // レジスタへの書き込みで強制起動がかかることがあるため DI_wt_chk(); // レジスタへの書き込みで強制起動がかかることがあるため
if( !cam_led_update ) if( !cam_led_update )
{ {
if( task_interval != 0 ) if( task_interval != 0 )
{ {
task_interval --; task_interval --;
return; return;
EI();
} }
} }
@ -113,7 +118,7 @@ void tsk_led_cam( )
void cam_led_twl() static void cam_led_twl()
{ {
// TWLŒÝŠ· // // TWLŒÝŠ· //
switch ( vreg_twl[ REG_TWL_INT_ADRS_CAM ] ){ switch ( vreg_twl[ REG_TWL_INT_ADRS_CAM ] ){

View File

@ -94,14 +94,14 @@ void main( )
{ {
system_status.reboot = true; system_status.reboot = true;
} }
/* /* LVI使用せず
else if(( my_resf & REG_BIT_RESF_LVI ) != 0 ) else if(( my_resf & REG_BIT_RESF_LVI ) != 0 )
{ {
vreg_ctr[ VREG_C_MCU_STATUS ] |= ( 1 << 2 ); vreg_ctr[ VREG_C_MCU_STATUS ] |= ( 1 << 2 );
} }
*/ */
} }
//* ROMがどうにも足りなくなったら、評価の上コメントアウト
if( !system_status.reboot ) if( !system_status.reboot )
{ {
// 通常の電源投入 // 通常の電源投入
@ -109,12 +109,12 @@ void main( )
u16 pwup_delay0; u16 pwup_delay0;
for( pwup_delay0 = 0xFFFF; pwup_delay0 != 0; pwup_delay0 -- ){;}; for( pwup_delay0 = 0xFFFF; pwup_delay0 != 0; pwup_delay0 -- ){;};
} }
//*/
hdwinit2( ); hdwinit2( );
#ifndef _WIN32 #ifndef _WIN32
// ファームの整合性チェック // // ファームの整合性チェック //
chk_firm_broke(); chk_firm_broke(); // 壊れていたら帰ってこない
#endif #endif
// 試遊台判定 // 試遊台判定

View File

@ -28,8 +28,6 @@ bit i2c_mcu_time_out_error; // I2C
extern void i2c_mcu_error_monitor(); extern void i2c_mcu_error_monitor();
#endif #endif
extern void f();
/* ======================================================== /* ========================================================
loader.c loader.c
@ -73,6 +71,7 @@ void main_loop( void )
RTCIMK = 0; /* 割り込み(アラーム&インターバル)許可 */ RTCIMK = 0; /* 割り込み(アラーム&インターバル)許可 */
// メインループ // // メインループ //
while( 1 ) while( 1 )
{ // システムtick、または割り込みで廻ります。 { // システムtick、または割り込みで廻ります。
@ -85,8 +84,18 @@ void main_loop( void )
} }
#endif #endif
HALT( ); HALT( );
// f();
} }
} }
extern unsigned char get_ei();
void DI_wt_chk()
{
if( !get_ei() )
{
dbg_nop();
}
DI();
}

View File

@ -40,6 +40,7 @@ typedef struct{
// ======================================================== // ========================================================
static u16 get_long_hour(); static u16 get_long_hour();
static u16 calc_hours_spend( u8 ); static u16 calc_hours_spend( u8 );
extern void DI_wt_chk();
@ -98,7 +99,7 @@ void pedometer()
u16 sx16,sy16,sz16; u16 sx16,sy16,sz16;
DI(); DI_wt_chk();
sx16 = abs( (u16)vreg_ctr[VREG_C_ACC_XH] * 256 + vreg_ctr[VREG_C_ACC_XL] ); sx16 = abs( (u16)vreg_ctr[VREG_C_ACC_XH] * 256 + vreg_ctr[VREG_C_ACC_XL] );
sy16 = abs( (u16)vreg_ctr[VREG_C_ACC_YH] * 256 + vreg_ctr[VREG_C_ACC_YL] ); sy16 = abs( (u16)vreg_ctr[VREG_C_ACC_YH] * 256 + vreg_ctr[VREG_C_ACC_YL] );
sz16 = abs( (u16)vreg_ctr[VREG_C_ACC_ZH] * 256 + vreg_ctr[VREG_C_ACC_ZL] ); sz16 = abs( (u16)vreg_ctr[VREG_C_ACC_ZH] * 256 + vreg_ctr[VREG_C_ACC_ZL] );
@ -224,7 +225,7 @@ void hosu_increment_if_necessary()
u8 year_compd; // hour境界補正済み現在年。comp(ensation -ed) u8 year_compd; // hour境界補正済み現在年。comp(ensation -ed)
// 現在時刻取得 // 現在時刻取得
DI(); DI_wt_chk();
RWAIT = 1; RWAIT = 1;
while( !RWST ){;} while( !RWST ){;}
@ -290,7 +291,7 @@ void hosu_increment_if_necessary()
} }
// 累積の更新 // // 累積の更新 //
DI(); DI_wt_chk();
if( ++vreg_ctr[ VREG_C_ACC_HOSU_L ] == 0 ) // カンストチェック if( ++vreg_ctr[ VREG_C_ACC_HOSU_L ] == 0 ) // カンストチェック
{ {
if( ++vreg_ctr[ VREG_C_ACC_HOSU_M ] == 0 ) if( ++vreg_ctr[ VREG_C_ACC_HOSU_M ] == 0 )
@ -359,7 +360,7 @@ void clear_hosu_hist()
} }
while( hours != 0 ); while( hours != 0 );
DI(); DI_wt_chk();
vreg_ctr[ VREG_C_ACC_HOSU_L ] = 0; vreg_ctr[ VREG_C_ACC_HOSU_L ] = 0;
vreg_ctr[ VREG_C_ACC_HOSU_M ] = 0; vreg_ctr[ VREG_C_ACC_HOSU_M ] = 0;
vreg_ctr[ VREG_C_ACC_HOSU_H ] = 0; vreg_ctr[ VREG_C_ACC_HOSU_H ] = 0;
@ -397,7 +398,7 @@ u8 hosu_read( )
if( iic_burst_state == 0 ) if( iic_burst_state == 0 )
{ {
p_record_buffer = p_record; p_record_buffer = p_record;
DI(); DI_wt_chk();
cal_buff = cal_log_latest; cal_buff = cal_log_latest;
EI(); EI();
} }

View File

@ -40,8 +40,6 @@ u8 renge_flg_interval;
bit renge_task_interval_run_force; bit renge_task_interval_run_force;
bit renge_task_immediate_not_empty; bit renge_task_immediate_not_empty;
bit renge_task_interval_in_force;
#include "..\bsr_system.h" #include "..\bsr_system.h"
extern system_status_ system_status; extern system_status_ system_status;
@ -55,6 +53,8 @@ static void renge_task_immed_del();
//****************************************************************************** //******************************************************************************
task_status_immed ( *tasks_immed[ TASK_IMMED_RUN_LIST_MAX ] )(); task_status_immed ( *tasks_immed[ TASK_IMMED_RUN_LIST_MAX ] )();
void DI_wt_chk();
@ -91,15 +91,14 @@ void renge_interval(){
*****************************************************************************/ *****************************************************************************/
err renge_task_interval_run(){ __callt err renge_task_interval_run(){
u8 i; u8 i;
// インターバル起動 // インターバル起動
DI(); DI_wt_chk();
if(( renge_flg_interval != 0 ) || if(( renge_flg_interval != 0 ) ||
( renge_task_interval_run_force )) /// 統合したかったな… ( renge_task_interval_run_force )) /// 統合したかったな…
{ {
renge_task_interval_in_force = renge_task_interval_run_force;
renge_task_interval_run_force = false; // 今から起動するタスク、割り込むタスクでフラグが立つかもなので renge_task_interval_run_force = false; // 今から起動するタスク、割り込むタスクでフラグが立つかもなので
if( renge_flg_interval != 0 ) if( renge_flg_interval != 0 )
{ {
@ -149,7 +148,7 @@ void renge_task_immed_init(){
36us 36us
**************************************/ **************************************/
err renge_task_immed_add( task_status_immed (*new_task)() ){ __callt err renge_task_immed_add( task_status_immed (*new_task)() ){
u8 i; u8 i;
// リストの空きの先頭に登録 // リストの空きの先頭に登録
@ -157,7 +156,7 @@ err renge_task_immed_add( task_status_immed (*new_task)() ){
// 重複登録を避ける // 重複登録を避ける
for( i = 0; i < TASK_IMMED_RUN_LIST_MAX; i ++ ) for( i = 0; i < TASK_IMMED_RUN_LIST_MAX; i ++ )
{ {
DI(); DI_wt_chk();
if( tasks_immed[ i ] == TSK_IMM_EMPTY_ ) if( tasks_immed[ i ] == TSK_IMM_EMPTY_ )
{ {
// 空きを見つけた // 空きを見つけた
@ -187,13 +186,13 @@ err renge_task_immed_add( task_status_immed (*new_task)() ){
/************************************** /**************************************
**************************************/ **************************************/
err renge_task_immed_run(){ __callt err renge_task_immed_run(){
u8 list_id; u8 list_id;
// while( tasks_immed[ 0 ] != TSK_IMM_EMPTY_ ) // while( tasks_immed[ 0 ] != TSK_IMM_EMPTY_ )
if( tasks_immed[ 0 ] != TSK_IMM_EMPTY_ ) if( tasks_immed[ 0 ] != TSK_IMM_EMPTY_ )
{ {
DI(); DI_wt_chk();
for( list_id = 0; list_id < TASK_IMMED_RUN_LIST_MAX; list_id ++ ){ for( list_id = 0; list_id < TASK_IMMED_RUN_LIST_MAX; list_id ++ ){
if( tasks_immed[ list_id ] == TSK_IMM_EMPTY_ ){ if( tasks_immed[ list_id ] == TSK_IMM_EMPTY_ ){
// リスト完了 // リスト完了
@ -222,7 +221,7 @@ err renge_task_immed_run(){
tasks_immed[ list_id ] = TSK_IMM_DELETED_; tasks_immed[ list_id ] = TSK_IMM_DELETED_;
} }
} }
DI(); DI_wt_chk();
} }
// リスト上のタスクを一通り実行した // リスト上のタスクを一通り実行した
@ -251,7 +250,7 @@ err renge_task_immed_run(){
} }
else else
{ {
DI(); DI_wt_chk();
if( tasks_immed[ j ] == TSK_IMM_EMPTY_ ) if( tasks_immed[ j ] == TSK_IMM_EMPTY_ )
{ {
do{ do{

View File

@ -13,16 +13,15 @@
//****************************************************************************** //******************************************************************************
void renge_init(); void renge_init();
void renge_task_immed_init(); void renge_task_immed_init();
err renge_task_immed_run(); __callt err renge_task_immed_run();
err renge_task_immed_add( task_status_immed (*p_task_func)() ); __callt err renge_task_immed_add( task_status_immed (*p_task_func)() );
// static err renge_task_immed_del( u8 ); // static err renge_task_immed_del( u8 );
//****************************************************************************** //******************************************************************************
err renge_task_interval_run(); __callt err renge_task_interval_run();
extern u8 renge_flg_interval; extern u8 renge_flg_interval;
extern bit renge_task_interval_run_force; // タスク強制実行フラグ extern bit renge_task_interval_run_force; // タスク強制実行フラグ
extern bit renge_task_interval_in_force; // 強制実行中フラグ
#endif #endif

View File

@ -49,6 +49,8 @@
#define DFC DFC1 #define DFC DFC1
#endif #endif
// ========================================================
extern void f();
// ======================================================== // ========================================================
@ -64,6 +66,7 @@ bit reserve_pedo_increnent;
// ======================================================== // ========================================================
static void update_LED_3D(); static void update_LED_3D();
static void check_twl_vol_irq(); static void check_twl_vol_irq();
extern void DI_wt_chk();
@ -120,6 +123,9 @@ void tsk_misc( )
hosu_increment_if_necessary(); hosu_increment_if_necessary();
} }
//. テスト
f();
} }
@ -205,7 +211,7 @@ task_status_immed tski_do_command0( )
u8 temp_command; u8 temp_command;
// command0 本体電源など // command0 本体電源など
DI(); DI_wt_chk();
temp_command = vreg_ctr[VREG_C_COMMAND0]; temp_command = vreg_ctr[VREG_C_COMMAND0];
vreg_ctr[VREG_C_COMMAND0] = 0; vreg_ctr[VREG_C_COMMAND0] = 0;
EI(); EI();

View File

@ -19,12 +19,8 @@
#include "led.h" #include "led.h"
// ========================================================
#define INTERVAL_TSK_STATUS 4
/* ======================================================== /* ========================================================
======================================================== */ ======================================================== */
void tsk_status( ) void tsk_status( )
{ {
@ -49,8 +45,8 @@ void tsk_status( )
{ {
if( diff & REG_BIT_BATT_CHARGE ) if( diff & REG_BIT_BATT_CHARGE )
{ {
// 充電状態に以下略 // 充電状態反映
if( vreg_ctr[VREG_C_STATUS] & REG_BIT_BATT_CHARGE ) if( vreg_ctr[VREG_C_STATUS] & REG_BIT_BATT_CHARGE ) // set_irqを別々に呼ぶ方がコンパクト
{ {
set_irq( VREG_C_IRQ1, REG_BIT_BT_CHG_START ); set_irq( VREG_C_IRQ1, REG_BIT_BT_CHG_START );
} }
@ -79,6 +75,5 @@ void tsk_status( )
} }
} }
} }
return;
} }

View File

@ -41,6 +41,8 @@ bit irq_readed; // AAA
// ******************************************************** // ********************************************************
extern task_status_immed tski_firm_update(); extern task_status_immed tski_firm_update();
extern task_status_immed tski_mcu_reset(); extern task_status_immed tski_mcu_reset();
extern unsigned char get_ei();
extern void DI_wt_chk();
@ -383,12 +385,12 @@ void vreg_ctr_write( u8 adrs, u8 data )
case VREG_C_ACC_YL: case VREG_C_ACC_YL:
case VREG_C_ACC_ZH: case VREG_C_ACC_ZH:
case VREG_C_ACC_ZL: case VREG_C_ACC_ZL:
dbg_nop(); // dbg_nop();
// return( ERROR ) // return( ERROR )
break; break;
case VREG_C_ACC_HOSU_L: // 書けてもいいけど、デバッグ用。(アドレス0x4B == mcu sla(r)) case VREG_C_ACC_HOSU_L: // 書けてもいいけど、デバッグ用。(アドレス0x4B == mcu sla(r))
dbg_nop(); // dbg_nop();
/* FALLTHROUGH */ /* FALLTHROUGH */
// 普通に書かれるだけ ///////////////////////////////// // 普通に書かれるだけ /////////////////////////////////
@ -422,7 +424,7 @@ void vreg_ctr_write( u8 adrs, u8 data )
} }
else else
{ {
dbg_nop(); // 未定義アドレスに書いた なんかバグってない? // dbg_nop(); // 未定義アドレスに書いた なんかバグってない?
// return( ERROR ) // return( ERROR )
break; break;
} }
@ -519,7 +521,7 @@ void vreg_ctr_after_read( u8 adrs, u8 data )
case VREG_C_IRQ2: case VREG_C_IRQ2:
case VREG_C_IRQ3: case VREG_C_IRQ3:
case VREG_C_IRQ4: case VREG_C_IRQ4:
DI(); DI_wt_chk();
vreg_ctr[ adrs ] ^= data; vreg_ctr[ adrs ] ^= data;
EI(); EI();
irq_readed = true; irq_readed = true;
@ -546,23 +548,44 @@ void vreg_ctr_after_read( u8 adrs, u8 data )
 SoC上の処理キュー上には  SoC上の処理キュー上には
IRQを読むタスクが積んであるので IRQを読むタスクが積んであるので
   
DIかのチェック不要
 DI中に来るのはI2C_twlかRTC_アラームEIして問題ない
*****************************************************************************/ *****************************************************************************/
void set_irq( u8 irqreg, u8 irq_flg ) void set_irq( u8 irqreg, u8 irq_flg )
{ {
u8 tot; u8 tot;
//0 u8 ei_orig; // EIフラグ保存
if(( system_status.pwr_state == ON ) || if(( system_status.pwr_state == ON ) ||
( system_status.pwr_state == SLEEP )) ( system_status.pwr_state == SLEEP ))
{ {
// DI(); /*0 すでにDI状態ならケアが必要かもしれない
ei_orig = get_ei();
//. debug
if( !ei_orig )
{
dbg_nop();
}
DI_wt_chk();
*/
DI();
if( ( vreg_ctr[ irqreg + 8 ] & irq_flg ) == 0 ){ if( ( vreg_ctr[ irqreg + 8 ] & irq_flg ) == 0 ){
vreg_ctr[ irqreg ] |= irq_flg; vreg_ctr[ irqreg ] |= irq_flg;
IRQ0_neg; // 一瞬上げて... IRQ0_neg; // 一瞬上げて...
// EI(); //0 if( ei_orig )
{
EI();
}
tot = 0; tot = 0;
while( !IRQ0 && ( ++tot != 0 ) ){;} // O.D.なのでちゃんとあがるのを待つ IRQ_mcu がLに縛られてると困る(基板不良) while( !IRQ0 && ( ++tot != 0 ) ){;} // O.D.なのでちゃんとあがるのを待つ IRQ_mcu がLに縛られてると困る(基板不良)
IRQ0_ast; // 落とし直す。 IRQ0_ast; // 落とし直す。(エッジ割り込みの為)
}
//0 if( ei_orig )
{
EI();
} }
} }
// EI();
} }

View File

@ -17,12 +17,18 @@ TWL
// ======================================================== // ========================================================
u8 vreg_twl[_REG_TWL_INT_ADRS_ENDMARK]; u8 vreg_twl[_REG_TWL_INT_ADRS_ENDMARK];
extern bit twl_ver_read; extern bit twl_ver_read;
extern bit cam_led_update; extern bit cam_led_update;
extern bit vol_changed_by_twl; extern bit vol_changed_by_twl;
// ========================================================
extern void tsk_led_cam();
/* ======================================================== /* ========================================================
======================================================== */ ======================================================== */
@ -61,7 +67,7 @@ void vreg_twl_write( u8 adrs, u8 data )
{ {
cam_led_update = true; // こうでないと一発消灯時に不具合があるため cam_led_update = true; // こうでないと一発消灯時に不具合があるため
} }
tsk_led_cam(); tsk_led_cam(); // ブリンクの都合で強制起動
break; break;
case ( REG_TWL_INT_ADRS_TEMP0 ): case ( REG_TWL_INT_ADRS_TEMP0 ):

View File

@ -1,9 +1,9 @@
C:\Windows\system32\cmd.exe /c c:\cygwin\bin\touch magic.c C:\Windows\system32\cmd.exe /c c:\cygwin\bin\touch magic.c
"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no magic.c "C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no magic.c
Compilation complete, 0 error(s) and 0 warning(s) found. Compilation complete, 0 error(s) and 0 warning(s) found.
"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\magic.asm "C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\magic.asm
Assembly complete, 0 error(s) and 0 warning(s) found. Assembly complete, 0 error(s) and 0 warning(s) found.
"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\lk78k0r.exe" -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -obsr.lmf "..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r\s0rm.rel" -gi1B339499E033F240BFAAh -pbsr_k0r.map -nkd -gb7EFBFFh -b"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r\fsl.lib" -bcl0rdm.lib -bcl0rm.lib -bcl0rmf.lib -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r" -dbsr_mcu.dr -s -w2 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 led_cam.rel led_pow.rel hal.rel batt_params.rel voltable.rel pedo_lpf_coeff.rel kanaria.rel kanaria_c.rel get_ei.rel "C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\lk78k0r.exe" -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -obsr.lmf "..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r\s0rm.rel" -go85h,0FC00h,1024 -gi1B339499E033F240BFAAh -pbsr_k0r.map -nkd -gb7EFBFFh -b"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r\fsl.lib" -bcl0rdm.lib -bcl0rm.lib -bcl0rmf.lib -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r" -dbsr_mcu.dr -s -w2 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 led_cam.rel led_pow.rel hal.rel batt_params.rel voltable.rel pedo_lpf_coeff.rel kanaria.rel kanaria_c.rel get_ei.rel
RA78K0R warning W3420: File 'loader.rel' already has had error(s)/warning(s) by 'CC78K' RA78K0R warning W3420: File 'loader.rel' already has had error(s)/warning(s) by 'CC78K'
Read Device File Directory : C:\PROGRAM FILES (X86)\NEC ELECTRONICS TOOLS\DEV\ Read Device File Directory : C:\PROGRAM FILES (X86)\NEC ELECTRONICS TOOLS\DEV\
RA78K0R warning W3420: File 'pm.rel' already has had error(s)/warning(s) by 'CC78K' RA78K0R warning W3420: File 'pm.rel' already has had error(s)/warning(s) by 'CC78K'
@ -23,9 +23,6 @@ Link complete, 0 error(s) and 13 warning(s) found.
"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\oc78k0r.exe" -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -o.\bsr.hex -nu -ki bsr.lmf "C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\oc78k0r.exe" -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -o.\bsr.hex -nu -ki bsr.lmf
Object Conversion Complete, 0 error(s) and 0 warning(s) found. Object Conversion Complete, 0 error(s) and 0 warning(s) found.
C:\Windows\system32\cmd.exe /c ruby nec_s_2_bsrbin2.rb bsr.hex C:\Windows\system32\cmd.exe /c ruby nec_s_2_bsrbin2.rb bsr.hex
4 133
intel-HEX to bsr bin converter !E debug enable!!
file converted!
Build Total error(s) : 0 Total warning(s) : 13 Build Total error(s) : 0 Total warning(s) : 13

View File

@ -121,6 +121,77 @@ Tool1=CC78K0R|W2.13
Tool2=RA78K0R|W1.33 Tool2=RA78K0R|W1.33
Tool3=SK78K0R|V3.10 Tool3=SK78K0R|V3.10
Tool4=ID78K0R-QB|V3.61 Tool4=ID78K0R-QB|V3.61
[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
Source24=led_cam.c
Source25=led_pow.c
Source26=hal.c
Source27=batt_params.c
Source28=voltable.c
Source29=pedo_lpf_coeff.c
Source30=kanaria.asm
Source31=kanaria_c.c
Source32=get_ei.asm
[IncFile]
Include1=incs_loader.h
Include2=sim\simOnWin.h
Include3=sim\sfrAlias.h
Include4=config.h
Include5=jhl_defs.h
Include6=user_define.h
Include7=hal.h
Include8=bsr_system.h
Include9=renge\renge.h
Include10=renge\renge_defs.h
Include11=renge\renge_task_immediate.h
Include12=vreg_ctr.h
Include13=vreg_twl.h
Include14=loader.h
Include15=i2c_mcu.h
Include16=WDT.h
Include17=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\fsl.h
Include18=fsl_user.h
Include19=i2c_ctr.h
Include20=pm.h
Include21=rtc.h
Include22=reboot.h
Include23=magic.h
Include24=incs.h
Include25=i2c_twl.h
Include26=accero.h
Include27=pedometer.h
Include28=sw.h
Include29=adc.h
Include30=led.h
Include31=batt_params.h
Include32=pool.h
Include33=i2c_twl_defs.h
Include34=renge\renge_task_intval.h
Include35=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\math.h
Include36=self_flash.h
Include37=sim\sim_interrupt_decrare.c
[Options.RA78K0R 0] [Options.RA78K0R 0]
Version=100 Version=100
G=1 G=1
@ -167,16 +238,17 @@ E=0
COMMON=0 COMMON=0
COMPATI=0 COMPATI=0
P=1 P=1
P0=inter_asm
KA=1 KA=1
KS=0 KS=1
KX=0 KX=1
LF=0 LF=0
LW=132 LW=132
LL=0 LL=0
LT=8 LT=8
Z=0 Z=0
CommandFile=0 CommandFile=0
RA_OPT= RA_OPT=-pinter_asm -ks -kx
[Options.RA78K0R 3] [Options.RA78K0R 3]
Version=100 Version=100
G=1 G=1
@ -394,8 +466,8 @@ FlashBranchStartadr=
Mirror=0 Mirror=0
Saddrglobalchk=1 Saddrglobalchk=1
Saddrglobal=1063 Saddrglobal=1063
Saddrstaticchk=0 Saddrstaticchk=1
Saddrstatic=1072 Saddrstatic=1069
Bitfieldmsb=0 Bitfieldmsb=0
Onebytechk=0 Onebytechk=0
Pacstructchk=0 Pacstructchk=0
@ -700,77 +772,346 @@ VfiFileBoot0=
VfiFileBoot1=boot.vfi VfiFileBoot1=boot.vfi
VF78K0Rchk=0 VF78K0Rchk=0
VF78K0Rvs= VF78K0Rvs=
[SrcFile] [Options.CC78K0R 2 self_flash.c]
Source1=loader.c Version=210
Source2=pm.c Define0=
Source3=i2c_ctr.c Define1=_debug_,_TEG_,proc_is_ke3
Source4=main.c Define2=_debug_,_TEG_,proc_is_ke3,%time%
Source5=magic.c Undefine0=
Source6=WDT.c Include0=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r
Source7=i2c_mcu.c Include1=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r
Source8=i2c_twl.c Include2=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r
Source9=led.c Include3=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r
Source10=rtc.c Include4=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r
Source11=vreg_ctr.c Memorymodel=1
Source12=vreg_twl.c Flashobj=0
Source13=adc.c FlashStartadr=
Source14=renge\renge.c FlashBranchStartadr=
Source15=accero.c Mirror=0
Source16=self_flash.c Saddrglobalchk=1
Source17=sw.c Saddrglobal=1063
Source18=task_debug.c Saddrstaticchk=0
Source19=task_misc.c Saddrstatic=1072
Source20=task_sys.c Bitfieldmsb=0
Source21=pedo_alg_thre_det2.c Onebytechk=0
Source22=ini_VECT.c Pacstructchk=0
Source23=task_status.c AssignROMchk=0
Source24=led_cam.c AssignROM=0
Source25=led_pow.c Maxoptimizechk=0
Source26=hal.c Maxoptimize=1104
Source27=batt_params.c Charunexpandchk=0
Source28=voltable.c Unsignedchar=0
Source29=pedo_lpf_coeff.c Usesaddrchk=0
Source30=kanaria.asm Autoallocationchk=1
Source31=kanaria_c.c Jumpoptimize=1
Source32=get_ei.asm Librarycallchk=1
[IncFile] Librarycall=1129
Include1=incs_loader.h Aggressivechk=1
Include2=sim\simOnWin.h Relativebranchchk=0
Include3=sim\sfrAlias.h Debugoptchk=0
Include4=config.h Outdebugchk=1
Include5=jhl_defs.h Outdebug=1153
Include6=user_define.h Outobjectcmb0=
Include7=hal.h Outobjectcmb1=obj
Include8=bsr_system.h Outasmsrccmb0=inter_asm
Include9=renge\renge.h Outasmsrccmb1=bsr.asm
Include10=renge\renge_defs.h Outasmsrcchk=1
Include11=renge\renge_task_immediate.h Outasmsrc=1158
Include12=vreg_ctr.h Outasmoptall=1
Include13=vreg_twl.h Common=0
Include14=loader.h Outerrlistchk=0
Include15=i2c_mcu.h Outerrlist=1174
Include16=WDT.h Xreference=0
Include17=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\fsl.h Preprocess=0
Include18=fsl_user.h Prenocomment=0
Include19=i2c_ctr.h Predefine=0
Include20=pm.h Preifdef=1
Include21=rtc.h Preinclude=1
Include22=reboot.h Preline=1
Include23=magic.h Prenumber=1
Include24=incs.h Formfeed=0
Include25=i2c_twl.h Columns=132
Include26=accero.h Lines=0
Include27=pedometer.h Tablength=8
Include28=sw.h Ansi=0
Include29=adc.h Cpraspras=1
Include30=led.h Commentnest=0
Include31=batt_params.h Intunexpand=1
Include32=pool.h Kanjicode=1210
Include33=i2c_twl_defs.h Verbose=0
Include34=renge\renge_task_intval.h CommandFile=0
Include35=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\math.h Warninglevel=1
Include36=self_flash.h Startupchk=1
Include37=sim\sim_interrupt_decrare.c Fixation=0
FarROMization=0
Objectsel=1305
Librarychk=1
Floatingpoint=0
Muldivunit=1
Mulunit=1
Startup=s0rm.rel
Library1=cl0rdm.lib
Library2=cl0rm.lib
Library3=cl0rmf.lib
VfiFileBoot0=
VfiFileBoot1=boot.vfi
VF78K0Rchk=0
VF78K0Rvs=
[Options.CC78K0R 2 vreg_twl.c]
Version=210
Define0=
Define1=_debug_,_TEG_,proc_is_ke3
Define2=_debug_,_TEG_,proc_is_ke3,%time%
Undefine0=
Include0=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r
Include1=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r
Include2=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r
Include3=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r
Include4=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r
Memorymodel=1
Flashobj=0
FlashStartadr=
FlashBranchStartadr=
Mirror=0
Saddrglobalchk=1
Saddrglobal=1063
Saddrstaticchk=1
Saddrstatic=1075
Bitfieldmsb=0
Onebytechk=0
Pacstructchk=0
AssignROMchk=0
AssignROM=0
Maxoptimizechk=0
Maxoptimize=1104
Charunexpandchk=0
Unsignedchar=0
Usesaddrchk=0
Autoallocationchk=1
Jumpoptimize=1
Librarycallchk=1
Librarycall=1129
Aggressivechk=1
Relativebranchchk=0
Debugoptchk=0
Outdebugchk=1
Outdebug=1153
Outobjectcmb0=
Outobjectcmb1=obj
Outasmsrccmb0=inter_asm
Outasmsrccmb1=bsr.asm
Outasmsrcchk=1
Outasmsrc=1158
Outasmoptall=1
Common=0
Outerrlistchk=0
Outerrlist=1174
Xreference=0
Preprocess=0
Prenocomment=0
Predefine=0
Preifdef=1
Preinclude=1
Preline=1
Prenumber=1
Formfeed=0
Columns=132
Lines=0
Tablength=8
Ansi=0
Cpraspras=1
Commentnest=0
Intunexpand=1
Kanjicode=1210
Verbose=0
CommandFile=0
Warninglevel=1
Startupchk=1
Fixation=0
FarROMization=0
Objectsel=1305
Librarychk=1
Floatingpoint=0
Muldivunit=1
Mulunit=1
Startup=s0rm.rel
Library1=cl0rdm.lib
Library2=cl0rm.lib
Library3=cl0rmf.lib
VfiFileBoot0=
VfiFileBoot1=boot.vfi
VF78K0Rchk=0
VF78K0Rvs=
[Options.CC78K0R 2 renge.c]
Version=210
Define0=
Define1=_debug_,_TEG_,proc_is_ke3
Define2=_debug_,_TEG_,proc_is_ke3,%time%
Undefine0=
Include0=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r
Include1=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r
Include2=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r
Include3=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r
Include4=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r
Memorymodel=1
Flashobj=0
FlashStartadr=
FlashBranchStartadr=
Mirror=0
Saddrglobalchk=1
Saddrglobal=1063
Saddrstaticchk=1
Saddrstatic=1075
Bitfieldmsb=0
Onebytechk=0
Pacstructchk=0
AssignROMchk=0
AssignROM=0
Maxoptimizechk=0
Maxoptimize=1104
Charunexpandchk=0
Unsignedchar=0
Usesaddrchk=0
Autoallocationchk=1
Jumpoptimize=1
Librarycallchk=1
Librarycall=1129
Aggressivechk=1
Relativebranchchk=0
Debugoptchk=0
Outdebugchk=1
Outdebug=1153
Outobjectcmb0=
Outobjectcmb1=obj
Outasmsrccmb0=inter_asm
Outasmsrccmb1=bsr.asm
Outasmsrcchk=1
Outasmsrc=1158
Outasmoptall=1
Common=0
Outerrlistchk=0
Outerrlist=1174
Xreference=0
Preprocess=0
Prenocomment=0
Predefine=0
Preifdef=1
Preinclude=1
Preline=1
Prenumber=1
Formfeed=0
Columns=132
Lines=0
Tablength=8
Ansi=0
Cpraspras=1
Commentnest=0
Intunexpand=1
Kanjicode=1210
Verbose=0
CommandFile=0
Warninglevel=1
Startupchk=1
Fixation=0
FarROMization=0
Objectsel=1305
Librarychk=1
Floatingpoint=0
Muldivunit=1
Mulunit=1
Startup=s0rm.rel
Library1=cl0rdm.lib
Library2=cl0rm.lib
Library3=cl0rmf.lib
VfiFileBoot0=
VfiFileBoot1=boot.vfi
VF78K0Rchk=0
VF78K0Rvs=
[Options.CC78K0R 2 vreg_ctr.c]
Version=210
Define0=
Define1=_debug_,_TEG_,proc_is_ke3
Define2=_debug_,_TEG_,proc_is_ke3,%time%
Undefine0=
Include0=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r
Include1=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r
Include2=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r
Include3=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r
Include4=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r
Memorymodel=1
Flashobj=0
FlashStartadr=
FlashBranchStartadr=
Mirror=0
Saddrglobalchk=1
Saddrglobal=1063
Saddrstaticchk=1
Saddrstatic=1075
Bitfieldmsb=0
Onebytechk=0
Pacstructchk=0
AssignROMchk=0
AssignROM=0
Maxoptimizechk=0
Maxoptimize=1104
Charunexpandchk=0
Unsignedchar=0
Usesaddrchk=0
Autoallocationchk=1
Jumpoptimize=1
Librarycallchk=1
Librarycall=1129
Aggressivechk=1
Relativebranchchk=0
Debugoptchk=0
Outdebugchk=1
Outdebug=1153
Outobjectcmb0=
Outobjectcmb1=obj
Outasmsrccmb0=inter_asm
Outasmsrccmb1=bsr.asm
Outasmsrcchk=1
Outasmsrc=1158
Outasmoptall=1
Common=0
Outerrlistchk=0
Outerrlist=1174
Xreference=0
Preprocess=0
Prenocomment=0
Predefine=0
Preifdef=1
Preinclude=1
Preline=1
Prenumber=1
Formfeed=0
Columns=132
Lines=0
Tablength=8
Ansi=0
Cpraspras=1
Commentnest=0
Intunexpand=1
Kanjicode=1210
Verbose=0
CommandFile=0
Warninglevel=1
Startupchk=1
Fixation=0
FarROMization=0
Objectsel=1305
Librarychk=1
Floatingpoint=0
Muldivunit=1
Mulunit=1
Startup=s0rm.rel
Library1=cl0rdm.lib
Library2=cl0rm.lib
Library3=cl0rmf.lib
VfiFileBoot0=
VfiFileBoot1=boot.vfi
VF78K0Rchk=0
VF78K0Rvs=
[Options.LK78K0R 0] [Options.LK78K0R 0]
Version=100 Version=100
O0=bsr_k0r.lmf O0=bsr_k0r.lmf
@ -855,7 +1196,7 @@ G=1
E=0 E=0
E0=flash.elk E0=flash.elk
E1=a.elk E1=a.elk
GO=0 GO=1
GOValue=85 GOValue=85
GOStart=FC00 GOStart=FC00
GOSizeValue=1024 GOSizeValue=1024