mirror of
https://github.com/rvtr/ctr_mcu.git
synced 2025-10-31 13:51:10 -04:00
■1.33(区別できるように) 内容は1.32と同じでデバッグを不許可にしただけ
IS箱でP40,41がGNDに接続されている状態で、デバッグ許可状態のバイナリを書き込むとMCUが動作しなくなる(デバッガ接続待ち?) 誤った状態ではhoge.binが出来ないようにスクリプトを修正 git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@327 013db118-44a6-b54f-8bf7-843cb86687b1
This commit is contained in:
parent
3cbb3d9054
commit
221bd1ccbc
BIN
trunk/bsr.lmf
BIN
trunk/bsr.lmf
Binary file not shown.
@ -13,19 +13,29 @@
|
|||||||
//#define _FORCE_TAIKENDAI_
|
//#define _FORCE_TAIKENDAI_
|
||||||
//#define _FORCE_TAIKENDAI_NBD_
|
//#define _FORCE_TAIKENDAI_NBD_
|
||||||
//#define _TAIKENDAI_SEISAN_SPECIAL_
|
//#define _TAIKENDAI_SEISAN_SPECIAL_
|
||||||
// 生産中に体験台向け使用が発症すると、アダプタがないと電源が入らずに検査に支障があるので
|
// 生産中に体験台向け使用が発症すると、アダプタがないと電源が入らずに検査に支障があるので一時ファーム
|
||||||
// 一時ファーム
|
|
||||||
|
|
||||||
|
//#define _TAIKENDAI_
|
||||||
|
// homeメニューに入れてしまうのを回避する特殊ファームをつくる。ROMが足りないので電池パラメータ周りをパスする
|
||||||
|
|
||||||
|
|
||||||
#define MCU_VER_MAJOR 0x01
|
#define MCU_VER_MAJOR 0x01
|
||||||
#define MCU_VER_MINOR 0x31
|
#define MCU_VER_MINOR 0x33
|
||||||
|
|
||||||
// ↑改訂の時は↓気をつけないと体験台の生産できないからね!
|
// ↑改訂の時は↓気をつけないと体験台の生産できないからね!
|
||||||
#ifdef _TAIKENDAI_SEISAN_SPECIAL_
|
#ifdef _TAIKENDAI_SEISAN_SPECIAL_
|
||||||
#define MCU_VER_MINOR 0x80
|
#define MCU_VER_MINOR 0x80
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef _TAIKENDAI_
|
||||||
|
#define MCU_VER_MINOR 0x90
|
||||||
|
// 0x90 1.31 相当 HOMEに入れてしまうのをスイッチのマスクで対策
|
||||||
|
// ROM不足のため、電池パラメータ削除
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#define _firm_format_v3_
|
#define _firm_format_v3_
|
||||||
|
|
||||||
//#define _MODEL_TEG2_
|
//#define _MODEL_TEG2_
|
||||||
|
|||||||
BIN
trunk/hoge.bin
BIN
trunk/hoge.bin
Binary file not shown.
@ -23,7 +23,6 @@ unless(File.exist?( ARGV[0] ))
|
|||||||
end
|
end
|
||||||
=end
|
=end
|
||||||
|
|
||||||
#src = File.open( '/cygdrive/c/78k_data/yav-mcu-basara/bsr.hex' )
|
|
||||||
src = File.open( 'bsr.hex' )
|
src = File.open( 'bsr.hex' )
|
||||||
|
|
||||||
dest = File.new( "hoge.bin","wb" )
|
dest = File.new( "hoge.bin","wb" )
|
||||||
@ -64,6 +63,15 @@ while(src.readline)
|
|||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
### debug enable bit check #############
|
||||||
|
# デバッグ許可になっているとISデバッガで起動しない(MCUが動作しない)
|
||||||
|
p bindata[0xC3]
|
||||||
|
if( bindata[0xC3] != 0x04 )
|
||||||
|
print( "!E debug enable!!" )
|
||||||
|
exit( 1 )
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
### format data and output #############
|
### format data and output #############
|
||||||
4096.times{
|
4096.times{
|
||||||
bindata.delete_at(4096)
|
bindata.delete_at(4096)
|
||||||
|
|||||||
@ -400,7 +400,9 @@ static void BT_mgic_init()
|
|||||||
}chars;
|
}chars;
|
||||||
}dat_16;
|
}dat_16;
|
||||||
|
|
||||||
bt_comp = BT_COMP[ battery_manufacturer ]; // バッテリパラメータ変更
|
#ifndef _TAIKENDAI_
|
||||||
|
|
||||||
|
bt_comp = BT_COMP[ battery_manufacturer ]; // バッテリパラメータ変更
|
||||||
|
|
||||||
/*
|
/*
|
||||||
// -1. リセットをかけてみる
|
// -1. リセットをかけてみる
|
||||||
@ -479,12 +481,11 @@ static void BT_mgic_init()
|
|||||||
// 11. ロック
|
// 11. ロック
|
||||||
dat_16._u16 = swap_endian_16( 0x0000 ); // lock key
|
dat_16._u16 = swap_endian_16( 0x0000 ); // lock key
|
||||||
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_LOCK, 2, &dat_16 );
|
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_LOCK, 2, &dat_16 );
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
extern u16 _dbg_rcomp;
|
extern u16 _dbg_rcomp;
|
||||||
/* ========================================================
|
/* ========================================================
|
||||||
raw_adc_temperatureに入っている値を℃に変換するとともに、
|
raw_adc_temperatureに入っている値を℃に変換するとともに、
|
||||||
@ -1005,7 +1006,7 @@ err PM_sys_pow_on( )
|
|||||||
codec_reg_init(); // CODEC 不定レジスタ初期化(reset2の後でないといけないので)
|
codec_reg_init(); // CODEC 不定レジスタ初期化(reset2の後でないといけないので)
|
||||||
reg_shadow = 0; // 〃 こんなところで...
|
reg_shadow = 0; // 〃 こんなところで...
|
||||||
|
|
||||||
return ( ERR_SUCCESS );
|
return ( ERR_SUCCESS );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
53
trunk/sw.c
53
trunk/sw.c
@ -23,7 +23,7 @@
|
|||||||
#define FORCEOFF_THREASHOLD (u8)( 4000 / INTERVAL_TSK_SW )
|
#define FORCEOFF_THREASHOLD (u8)( 4000 / INTERVAL_TSK_SW )
|
||||||
*/
|
*/
|
||||||
#define TIME_MUKAN (u8)( 300 / INTERVAL_TSK_SW )
|
#define TIME_MUKAN (u8)( 300 / INTERVAL_TSK_SW )
|
||||||
#define TIME_MUKAN_HOME (u16)( 5000 / INTERVAL_TSK_SW )
|
#define TIME_MUKAN_PWSW (u16)( 8000 / INTERVAL_TSK_SW )
|
||||||
|
|
||||||
//=========================================================
|
//=========================================================
|
||||||
u16 SW_pow_count;
|
u16 SW_pow_count;
|
||||||
@ -36,8 +36,7 @@ bit SW_HOME_n;
|
|||||||
|
|
||||||
u16 off_timeout_timer;
|
u16 off_timeout_timer;
|
||||||
|
|
||||||
|
u16 sw_pwsw_mukan_time;
|
||||||
u16 sw_home_mukan_time;
|
|
||||||
|
|
||||||
//=========================================================
|
//=========================================================
|
||||||
// 押した時間を数える。押しっぱなしでも0に戻らない
|
// 押した時間を数える。押しっぱなしでも0に戻らない
|
||||||
@ -111,6 +110,11 @@ void tsk_sw( )
|
|||||||
if( SW_pow_count == ( TIME_PWSW_CLICK ) )
|
if( SW_pow_count == ( TIME_PWSW_CLICK ) )
|
||||||
{
|
{
|
||||||
set_irq( VREG_C_IRQ0, REG_BIT_SW_POW_CLICK );
|
set_irq( VREG_C_IRQ0, REG_BIT_SW_POW_CLICK );
|
||||||
|
#ifdef _TAIKENDAI_
|
||||||
|
// いやなタイミングでPWSWを押すとHOMEメニューに入れてしまうのを回避
|
||||||
|
SW_pow_count = 0;
|
||||||
|
sw_pwsw_mukan_time = TIME_MUKAN_PWSW;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else if( SW_pow_count == ( HOLD_THREASHOLD ) )
|
else if( SW_pow_count == ( HOLD_THREASHOLD ) )
|
||||||
{
|
{
|
||||||
@ -130,7 +134,18 @@ void tsk_sw( )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
count_sw_n( SW_POW_n, SW_pow_count, SW_pow_mask ); // ボタン押し時間のカウント
|
#ifdef _TAIKENDAI_
|
||||||
|
if( sw_pwsw_mukan_time != 0 )
|
||||||
|
{
|
||||||
|
sw_pwsw_mukan_time--;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
count_sw_n( SW_POW_n, SW_pow_count, SW_pow_mask ); // ボタン押し時間のカウント
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// HOME スイッチ //
|
// HOME スイッチ //
|
||||||
switch( system_status.model )
|
switch( system_status.model )
|
||||||
@ -145,34 +160,12 @@ void tsk_sw( )
|
|||||||
default:
|
default:
|
||||||
SW_HOME_n = 1; // 放されてる状態
|
SW_HOME_n = 1; // 放されてる状態
|
||||||
}
|
}
|
||||||
#if 0
|
|
||||||
if( system_status.taikendai )
|
|
||||||
{
|
|
||||||
// ここから
|
|
||||||
if( sw_home_mukan_time != 0 )
|
|
||||||
{
|
|
||||||
sw_home_mukan_time--;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
|
|
||||||
chk_clicked( SW_HOME_n, SW_home_count, REG_BIT_SW_HOME_CLICK );
|
|
||||||
chk_clicked( !SW_HOME_n, SW_home_count_rel, REG_BIT_SW_HOME_RELEASE );
|
|
||||||
|
|
||||||
if( SW_wifi_count == CLICK_THRESHOLD +1 ) // 押した判定発生!
|
chk_clicked( SW_HOME_n, SW_home_count, REG_BIT_SW_HOME_CLICK );
|
||||||
{
|
chk_clicked( !SW_HOME_n, SW_home_count_rel, REG_BIT_SW_HOME_RELEASE );
|
||||||
sw_home_mukan_time = TIME_MUKAN_HOME;
|
|
||||||
}
|
// wifi sw //
|
||||||
}
|
|
||||||
// ここまで
|
|
||||||
}
|
|
||||||
else
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
chk_clicked( SW_HOME_n, SW_home_count, REG_BIT_SW_HOME_CLICK );
|
|
||||||
chk_clicked( !SW_HOME_n, SW_home_count_rel, REG_BIT_SW_HOME_RELEASE );
|
|
||||||
}
|
|
||||||
// wifi sw //
|
|
||||||
/// 最悪な実装なのはわかっているが、メモリ不足と、市場に出てしまった不良スイッチを救うため
|
/// 最悪な実装なのはわかっているが、メモリ不足と、市場に出てしまった不良スイッチを救うため
|
||||||
if( sw_wifi_mukan_time != 0 )
|
if( sw_wifi_mukan_time != 0 )
|
||||||
{
|
{
|
||||||
|
|||||||
@ -16,6 +16,10 @@
|
|||||||
#include "self_flash.h"
|
#include "self_flash.h"
|
||||||
|
|
||||||
|
|
||||||
|
//=========================================================
|
||||||
|
#define WAIT_SHIROBAKO_POW_CONTROL 240
|
||||||
|
|
||||||
|
|
||||||
//=========================================================
|
//=========================================================
|
||||||
extern void nop8();
|
extern void nop8();
|
||||||
|
|
||||||
@ -484,7 +488,7 @@ static void chk_emergencyExit(){
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if( shirobako_power_control_count == 240 ) // <- 240はマジックナンバー
|
if( shirobako_power_control_count == WAIT_SHIROBAKO_POW_CONTROL ) // マジックナンバー
|
||||||
// デバッガが何かした。reset1を解除するまでは無視
|
// デバッガが何かした。reset1を解除するまでは無視
|
||||||
{
|
{
|
||||||
if( RESET1_n ) // リセットネゲート待ち
|
if( RESET1_n ) // リセットネゲート待ち
|
||||||
@ -496,13 +500,13 @@ static void chk_emergencyExit(){
|
|||||||
// nothing to do
|
// nothing to do
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if( shirobako_power_control_count == 200 )
|
else if( shirobako_power_control_count == 200 ) // * (sys_tick)[ms]
|
||||||
// デバッガが何かしたいらしい
|
// デバッガが何かしたいらしい
|
||||||
{
|
{
|
||||||
// 白箱は電源を切りたいらしい
|
// 白箱は電源を切りたいらしい
|
||||||
system_status.pwr_state = OFF_TRIG;
|
system_status.pwr_state = OFF_TRIG;
|
||||||
renge_task_interval_run_force = true;
|
renge_task_interval_run_force = true;
|
||||||
shirobako_power_control_count = 240;
|
shirobako_power_control_count = WAIT_SHIROBAKO_POW_CONTROL;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -512,12 +516,12 @@ static void chk_emergencyExit(){
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// リセットをかけたらしい
|
// (TSボードで手動で/デバッガが)リセットをかけたらしい
|
||||||
iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_BL, 0 );
|
iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_BL, 0 );
|
||||||
vreg_ctr[VREG_C_STATUS] = ( vreg_ctr[VREG_C_STATUS] & 0b10011111 );
|
vreg_ctr[VREG_C_STATUS] = ( vreg_ctr[VREG_C_STATUS] & 0b10011111 );
|
||||||
vreg_ctr[VREG_C_COMMAND0] |= REG_BIT_RESET1_REQ;
|
vreg_ctr[VREG_C_COMMAND0] |= REG_BIT_RESET1_REQ;
|
||||||
renge_task_immed_add( tski_do_command0 );
|
renge_task_immed_add( tski_do_command0 );
|
||||||
shirobako_power_control_count = 240;
|
shirobako_power_control_count = WAIT_SHIROBAKO_POW_CONTROL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -756,6 +756,37 @@ Include32=renge\renge_task_intval.h
|
|||||||
Include33=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\math.h
|
Include33=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\math.h
|
||||||
Include34=self_flash.h
|
Include34=self_flash.h
|
||||||
Include35=pedo_lpf_coeff.h
|
Include35=pedo_lpf_coeff.h
|
||||||
|
[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]
|
[Options.LK78K0R 0]
|
||||||
Version=100
|
Version=100
|
||||||
O0=bsr_k0r.lmf
|
O0=bsr_k0r.lmf
|
||||||
@ -840,7 +871,7 @@ G=1
|
|||||||
E=0
|
E=0
|
||||||
E0=flash.elk
|
E0=flash.elk
|
||||||
E1=a.elk
|
E1=a.elk
|
||||||
GO=1
|
GO=0
|
||||||
GOValue=85
|
GOValue=85
|
||||||
GOStart=FC00
|
GOStart=FC00
|
||||||
GOSizeValue=1024
|
GOSizeValue=1024
|
||||||
@ -1008,37 +1039,6 @@ ZB=
|
|||||||
Etcetera0=
|
Etcetera0=
|
||||||
Etcetera1=boot.lmf
|
Etcetera1=boot.lmf
|
||||||
CommandFile=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.78K0R]
|
[Options.78K0R]
|
||||||
BuildMode=2
|
BuildMode=2
|
||||||
BuildMode2=K0R_dbg
|
BuildMode2=K0R_dbg
|
||||||
|
|||||||
@ -1,23 +1,15 @@
|
|||||||
[ProjectManager]
|
[ProjectManager]
|
||||||
FrameMax=0
|
FrameMax=1
|
||||||
FrameX=1936
|
FrameX=2026
|
||||||
FrameY=64
|
FrameY=249
|
||||||
FrameCX=1435
|
FrameCX=1440
|
||||||
FrameCY=1045
|
FrameCY=850
|
||||||
OpenFile1=jhl_defs.h,0,286,286,1530,1012,0,15,26,0
|
OpenFile1=config.h,0,442,428,1557,1029,14,18,14,0
|
||||||
OpenFile2=self_flash.c,0,352,352,1596,1078,0,142,5,0
|
OpenFile2=OutputWindow
|
||||||
OpenFile3=ini_VECT.c,0,330,330,1574,1056,6,93,6,0
|
|
||||||
OpenFile4=renge\renge.c,0,348,332,1592,1058,0,31,0,0
|
|
||||||
OpenFile5=renge\renge.h,0,264,264,1508,990,3,4,3,0
|
|
||||||
OpenFile6=vreg_twl.c,0,225,225,1340,826,0,70,0,0
|
|
||||||
OpenFile7=task_debug.c,0,275,275,1390,876,0,1,0,0
|
|
||||||
OpenFile8=config.h,0,390,41,1505,642,29,21,29,0
|
|
||||||
OpenFile9=pedo_alg_thre_det2.c,0,72,264,1187,865,0,406,0,0
|
|
||||||
OpenFile10=ProjectWindow
|
|
||||||
PrjPos=0,0,706,0,291
|
|
||||||
OpenFile11=sw.c,0,250,250,1365,851,0,171,11,0
|
|
||||||
OpenFile12=OutputWindow
|
|
||||||
OutputPos=0,34,740,376,1323
|
OutputPos=0,34,740,376,1323
|
||||||
|
OpenFile3=ProjectWindow
|
||||||
|
PrjPos=0,0,706,0,291
|
||||||
|
OpenFile4=batt_params.h,0,300,300,1546,1022,0,28,0,0
|
||||||
ActivePRJ=yav_mcu_bsr.prj
|
ActivePRJ=yav_mcu_bsr.prj
|
||||||
[ProjectWindow]
|
[ProjectWindow]
|
||||||
ProjectWindowDispType=0
|
ProjectWindowDispType=0
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user