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

View File

@ -16,7 +16,7 @@
static bit adc_updated; static bit adc_updated;
static bit vol_changed_by_ctr; static bit vol_changed_by_ctr;
bit vol_changed_by_twl; bit vol_changed_by_twl;
static u8 vol_old; static u8 vol_old;
static u8 adc_raw_vol; static u8 adc_raw_vol;
static u8 adc_raw_dep; static u8 adc_raw_dep;

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,18 +109,18 @@ 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
// 試遊台判定 // 試遊台判定
chk_platform_type(); chk_platform_type();
// Ê<E28099>í‰^“] // 通常運転
main_loop( ); main_loop( );
} }
} }
@ -129,7 +129,7 @@ void main( )
void chk_firm_broke() void chk_firm_broke()
{ {
u8 i; u8 i;
u8 comp = 0; u8 comp = 0;
// ローダーと本体は同じバージョンか? // ローダーと本体は同じバージョンか?

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,19 +19,15 @@
#include "led.h" #include "led.h"
// ========================================================
#define INTERVAL_TSK_STATUS 4
/* ======================================================== /* ========================================================
======================================================== */ ======================================================== */
void tsk_status( ) void tsk_status( )
{ {
static u8 state_old; // ステータス変化検出→割り込み の為 static u8 state_old; // ステータス変化検出→割り込み の為
u8 diff; u8 diff;
// 蓋開けチェック // 蓋開けチェック
set_bit( SHELL_OPEN, vreg_ctr[VREG_C_STATUS], REG_BIT_ST_SHELL_OPEN ); set_bit( SHELL_OPEN, vreg_ctr[VREG_C_STATUS], REG_BIT_ST_SHELL_OPEN );
// ステータスレジスタ関係 → 割り込み // // ステータスレジスタ関係 → 割り込み //
@ -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