wdtのクリアタイミングを調整

システムチック割り込みが入らないとき(RTC停止?)リセットをかけ、RTC再初期化、WDT割り込みを入れてみる

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@260 013db118-44a6-b54f-8bf7-843cb86687b1
This commit is contained in:
n2232 2010-10-27 08:59:00 +00:00
parent bb5d35e37d
commit 5a7995e29d
15 changed files with 1462 additions and 1406 deletions

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -1,19 +1,20 @@
78K0R Linker W1.31 Date:22 Oct 2010 Page: 1 78K0R Linker W1.31 Date:27 Oct 2010 Page: 1
Command: -yC:\Program Files\NEC Electronics Tools\DEV -_msgoff -obsr.l Command: -yC:\Program Files\NEC Electronics Tools\DEV -_msgoff -obsr.l
mf ..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10 mf ..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10
\lib78k0r\s0rm.rel -gi1B339499E033F240BFAAh -pbsr_k0r.map -nk \lib78k0r\s0rm.rel -go85h,0FC00h,1024 -gi1B339499E033F240BFAA
d -gb7EFBFFh -bC:\Program Files\NEC Electronics Tools\FSL78K0 h -pbsr_k0r.map -nkd -gb7EFBFFh -bC:\Program Files\NEC Electr
R_Type02ES\V1.20\lib78k0r\fsl.lib -bcl0rdm.lib -bcl0rm.lib -b onics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib -bcl0rdm
cl0rmf.lib -iC:\Program Files\NEC Electronics Tools\CC78K0R\W .lib -bcl0rm.lib -bcl0rmf.lib -iC:\Program Files\NEC Electron
2.10\lib78k0r -dbsr_mcu.dr -s -w0 loader.rel pm.rel i2c_ctr.r ics Tools\CC78K0R\W2.10\lib78k0r -dbsr_mcu.dr -s -w0 loader.r
el main.rel magic.rel WDT.rel i2c_mcu.rel i2c_twl.rel led.rel el pm.rel i2c_ctr.rel main.rel magic.rel WDT.rel i2c_mcu.rel
rtc.rel vreg_ctr.rel vreg_twl.rel adc.rel renge.rel accero.r i2c_twl.rel led.rel rtc.rel vreg_ctr.rel vreg_twl.rel adc.rel
el self_flash.rel sw.rel task_debug.rel task_misc.rel task_sy renge.rel accero.rel self_flash.rel sw.rel task_debug.rel ta
s.rel pedo_alg_thre_det2.rel ini_VECT.rel task_status.rel sk_misc.rel task_sys.rel pedo_alg_thre_det2.rel ini_VECT.rel
task_status.rel
Para-file: Para-file:
Out-file: bsr.lmf Out-file: bsr.lmf
Map-file: bsr_k0r.map Map-file: bsr_k0r.map
@ -22,9 +23,9 @@ Direc-file:bsr_mcu.dr
*** Link information *** *** Link information ***
64 output segment(s) 66 output segment(s)
3ED3H byte(s) real data 3F2CH byte(s) real data
5409 symbol(s) defined 5440 symbol(s) defined
*** Memory map *** *** Memory map ***
@ -56,7 +57,8 @@ Direc-file:bsr_mcu.dr
LDR_CNSL 00002H 00000H CSEG PAGE64KP LDR_CNSL 00002H 00000H CSEG PAGE64KP
LDR_CNSL task_status LDR_CNSL task_status
00002H 00000H 00002H 00000H
* gap * 00002H 0000EH ??NMIROM 00002H 00002H CSEG
* gap * 00004H 0000CH
@@VECT10 00010H 00004H CSEG AT @@VECT10 00010H 00004H CSEG AT
@@VECT10 ini_VECT 00010H 00004H @@VECT10 ini_VECT 00010H 00004H
* gap * 00014H 00008H * gap * 00014H 00008H
@ -97,55 +99,56 @@ Direc-file:bsr_mcu.dr
LDR_CODL task_status LDR_CODL task_status
000C4H 00000H 000C4H 00000H
?CSEGSI 000C4H 0000AH CSEG ?CSEGSI 000C4H 0000AH CSEG
LDR_CODE 000CEH 0092BH CSEG ?OCDSTAD 000CEH 0000AH CSEG
LDR_CODE loader 000CEH 001F9H LDR_CODE 000D8H 00944H CSEG
LDR_CODE main 002C7H 00046H LDR_CODE loader 000D8H 001F9H
LDR_CODE WDT 0030DH 00000H LDR_CODE main 002D1H 00054H
LDR_CODE i2c_mcu 0030DH 002F1H LDR_CODE WDT 00325H 00000H
LDR_CODE i2c_mcu 00325H 002F0H
LDR_CODE self_flash LDR_CODE self_flash
005FEH 00373H 00615H 0037FH
LDR_CODE task_debug LDR_CODE task_debug
00971H 00000H 00994H 00000H
LDR_CODE task_status LDR_CODE task_status
00971H 00088H 00994H 00088H
FSL_CODE 009F9H 00322H CSEG FSL_CODE 00A1CH 00322H CSEG
FSL_CODE fsl_block_cmd FSL_CODE fsl_block_cmd
009F9H 0002BH 00A1CH 0002BH
FSL_CODE fsl_block_check FSL_CODE fsl_block_check
00A24H 00013H 00A47H 00013H
FSL_CODE fsl_common FSL_CODE fsl_common
00A37H 0014FH 00A5AH 0014FH
FSL_CODE fsl_reset FSL_CODE fsl_reset
00B86H 00001H 00BA9H 00001H
FSL_CODE fsl_si_ibf FSL_CODE fsl_si_ibf
00B87H 00064H 00BAAH 00064H
FSL_CODE fsl_phySwap FSL_CODE fsl_phySwap
00BEBH 0004DH 00C0EH 0004DH
FSL_CODE fsl_si_common FSL_CODE fsl_si_common
00C38H 00061H 00C5BH 00061H
FSL_CODE fsl_swap 00C99H 00030H FSL_CODE fsl_swap 00CBCH 00030H
FSL_CODE fsl_write FSL_CODE fsl_write
00CC9H 00052H 00CECH 00052H
@@LCODE 00D1BH 002AFH CSEG @@LCODE 00D3EH 002AFH CSEG
@@LCODE @cstart 00D1BH 0006DH @@LCODE @cstart 00D3EH 0006DH
@@LCODE @imul 00D88H 00011H @@LCODE @imul 00DABH 00011H
@@LCODE @lumul 00D99H 0002BH @@LCODE @lumul 00DBCH 0002BH
@@LCODE @isdiv 00DC4H 00022H @@LCODE @isdiv 00DE7H 00022H
@@LCODE @iudiv 00DE6H 0002DH @@LCODE @iudiv 00E09H 0002DH
@@LCODE @isrem 00E13H 00021H @@LCODE @isrem 00E36H 00021H
@@LCODE @iurem 00E34H 0002FH @@LCODE @iurem 00E57H 0002FH
@@LCODE @lsdiv 00E63H 00039H @@LCODE @lsdiv 00E86H 00039H
@@LCODE @ludiv 00E9CH 0003FH @@LCODE @ludiv 00EBFH 0003FH
@@LCODE @divuw 00EDBH 00034H @@LCODE @divuw 00EFEH 00034H
@@LCODE @ladd 00F0FH 0000FH @@LCODE @ladd 00F32H 0000FH
@@LCODE @llsh 00F1EH 0001BH @@LCODE @llsh 00F41H 0001BH
@@LCODE @lursh 00F39H 0001FH @@LCODE @lursh 00F5CH 0001FH
@@LCODE @iscmp 00F58H 0000CH @@LCODE @iscmp 00F7BH 0000CH
@@LCODE @lscmp 00F64H 00014H @@LCODE @lscmp 00F87H 00014H
@@LCODE @lband 00F78H 00014H @@LCODE @lband 00F9BH 00014H
@@LCODE @bcdtob 00F8CH 0001AH @@LCODE @bcdtob 00FAFH 0001AH
@@LCODE @bbcd 00FA6H 00024H @@LCODE @bbcd 00FC9H 00024H
* gap * 00FCAH 0002CH * gap * 00FEDH 00009H
MGC_LOAD 00FF6H 0000AH CSEG AT MGC_LOAD 00FF6H 0000AH CSEG AT
MGC_LOAD magic 00FF6H 0000AH MGC_LOAD magic 00FF6H 0000AH
@ -185,235 +188,235 @@ Direc-file:bsr_mcu.dr
@@CNST ini_VECT 022D8H 00000H @@CNST ini_VECT 022D8H 00000H
@@CNST task_status @@CNST task_status
022D8H 00000H 022D8H 00000H
ROM_CODE 022D8H 02759H CSEG ROM_CODE 022D8H 02787H CSEG
ROM_CODE pm 022D8H 00A1AH ROM_CODE pm 022D8H 00A1AH
ROM_CODE i2c_ctr 02CF2H 00060H ROM_CODE i2c_ctr 02CF2H 00060H
ROM_CODE i2c_twl 02D52H 0005EH ROM_CODE i2c_twl 02D52H 0005EH
ROM_CODE led 02DB0H 0051AH ROM_CODE led 02DB0H 00545H
ROM_CODE rtc 032CAH 000E0H ROM_CODE rtc 032F5H 000E0H
ROM_CODE vreg_ctr 033AAH 00475H ROM_CODE vreg_ctr 033D5H 00475H
ROM_CODE vreg_twl 0381FH 0010AH ROM_CODE vreg_twl 0384AH 0010AH
ROM_CODE adc 03929H 002FCH ROM_CODE adc 03954H 002FCH
ROM_CODE renge 03C25H 00190H ROM_CODE renge 03C50H 00190H
ROM_CODE accero 03DB5H 0013DH ROM_CODE accero 03DE0H 0013DH
ROM_CODE sw 03EF2H 00112H ROM_CODE sw 03F1DH 00112H
ROM_CODE task_misc ROM_CODE task_misc
04004H 001BFH 0402FH 001BFH
ROM_CODE task_sys 041C3H 0037CH ROM_CODE task_sys 041EEH 0037FH
ROM_CODE pedo_alg_thre_det2 ROM_CODE pedo_alg_thre_det2
0453FH 004F2H 0456DH 004F2H
@@BASE 04A31H 0050EH CSEG BASE @@BASE 04A5FH 00514H CSEG BASE
@@BASE loader 04A31H 00000H @@BASE loader 04A5FH 00000H
@@BASE pm 04A31H 0003FH @@BASE pm 04A5FH 0003FH
@@BASE i2c_ctr 04A70H 00198H @@BASE i2c_ctr 04A9EH 00198H
@@BASE main 04C08H 00000H @@BASE main 04C36H 00000H
@@BASE magic 04C08H 00000H @@BASE magic 04C36H 00000H
@@BASE WDT 04C08H 00000H @@BASE WDT 04C36H 00000H
@@BASE i2c_mcu 04C08H 000D9H @@BASE i2c_mcu 04C36H 000D9H
@@BASE i2c_twl 04CE1H 000CBH @@BASE i2c_twl 04D0FH 000CBH
@@BASE led 04DACH 00000H @@BASE led 04DDAH 00000H
@@BASE rtc 04DACH 0005EH @@BASE rtc 04DDAH 00064H
@@BASE vreg_ctr 04E0AH 00000H @@BASE vreg_ctr 04E3EH 00000H
@@BASE vreg_twl 04E0AH 00000H @@BASE vreg_twl 04E3EH 00000H
@@BASE adc 04E0AH 000B3H @@BASE adc 04E3EH 000B3H
@@BASE renge 04EBDH 00000H @@BASE renge 04EF1H 00000H
@@BASE accero 04EBDH 0004AH @@BASE accero 04EF1H 0004AH
@@BASE self_flash @@BASE self_flash
04F07H 00000H 04F3BH 00000H
@@BASE sw 04F07H 00000H @@BASE sw 04F3BH 00000H
@@BASE task_debug @@BASE task_debug
04F07H 00000H 04F3BH 00000H
@@BASE task_misc @@BASE task_misc
04F07H 00000H 04F3BH 00000H
@@BASE task_sys 04F07H 00000H @@BASE task_sys 04F3BH 00000H
@@BASE pedo_alg_thre_det2 @@BASE pedo_alg_thre_det2
04F07H 00000H 04F3BH 00000H
@@BASE ini_VECT 04F07H 00038H @@BASE ini_VECT 04F3BH 00038H
@@BASE task_status @@BASE task_status
04F3FH 00000H 04F73H 00000H
@@CNSTL 04F3FH 00000H CSEG PAGE64KP @@CNSTL 04F73H 00000H CSEG PAGE64KP
@@CNSTL @cstart 04F3FH 00000H @@CNSTL @cstart 04F73H 00000H
@@CNSTL 04F3FH 00000H CSEG PAGE64KP @@CNSTL 04F73H 00000H CSEG PAGE64KP
@@CNSTL pm 04F3FH 00000H @@CNSTL pm 04F73H 00000H
@@CNSTL 04F3FH 00000H CSEG PAGE64KP @@CNSTL 04F73H 00000H CSEG PAGE64KP
@@CNSTL i2c_ctr 04F3FH 00000H @@CNSTL i2c_ctr 04F73H 00000H
@@CNSTL 04F3FH 00000H CSEG PAGE64KP @@CNSTL 04F73H 00000H CSEG PAGE64KP
@@CNSTL i2c_twl 04F3FH 00000H @@CNSTL i2c_twl 04F73H 00000H
@@CNSTL 04F3FH 00000H CSEG PAGE64KP @@CNSTL 04F73H 00000H CSEG PAGE64KP
@@CNSTL led 04F3FH 00000H @@CNSTL led 04F73H 00000H
@@CNSTL 04F3FH 00000H CSEG PAGE64KP @@CNSTL 04F73H 00000H CSEG PAGE64KP
@@CNSTL rtc 04F3FH 00000H @@CNSTL rtc 04F73H 00000H
@@CNSTL 04F3FH 00000H CSEG PAGE64KP @@CNSTL 04F73H 00000H CSEG PAGE64KP
@@CNSTL vreg_ctr 04F3FH 00000H @@CNSTL vreg_ctr 04F73H 00000H
@@CNSTL 04F3FH 00000H CSEG PAGE64KP @@CNSTL 04F73H 00000H CSEG PAGE64KP
@@CNSTL vreg_twl 04F3FH 00000H @@CNSTL vreg_twl 04F73H 00000H
@@CNSTL 04F3FH 00000H CSEG PAGE64KP @@CNSTL 04F73H 00000H CSEG PAGE64KP
@@CNSTL adc 04F3FH 00000H @@CNSTL adc 04F73H 00000H
@@CNSTL 04F3FH 00000H CSEG PAGE64KP @@CNSTL 04F73H 00000H CSEG PAGE64KP
@@CNSTL renge 04F3FH 00000H @@CNSTL renge 04F73H 00000H
@@CNSTL 04F3FH 00000H CSEG PAGE64KP @@CNSTL 04F73H 00000H CSEG PAGE64KP
@@CNSTL accero 04F3FH 00000H @@CNSTL accero 04F73H 00000H
@@CNSTL 04F3FH 00000H CSEG PAGE64KP @@CNSTL 04F73H 00000H CSEG PAGE64KP
@@CNSTL sw 04F3FH 00000H @@CNSTL sw 04F73H 00000H
@@CNSTL 04F3FH 00000H CSEG PAGE64KP @@CNSTL 04F73H 00000H CSEG PAGE64KP
@@CNSTL task_misc @@CNSTL task_misc
04F3FH 00000H 04F73H 00000H
@@CNSTL 04F3FH 00000H CSEG PAGE64KP @@CNSTL 04F73H 00000H CSEG PAGE64KP
@@CNSTL task_sys 04F3FH 00000H @@CNSTL task_sys 04F73H 00000H
@@CNSTL 04F3FH 00000H CSEG PAGE64KP @@CNSTL 04F73H 00000H CSEG PAGE64KP
@@CNSTL pedo_alg_thre_det2 @@CNSTL pedo_alg_thre_det2
04F3FH 00000H 04F73H 00000H
@@CNSTL 04F3FH 00000H CSEG PAGE64KP @@CNSTL 04F73H 00000H CSEG PAGE64KP
@@CNSTL ini_VECT 04F3FH 00000H @@CNSTL ini_VECT 04F73H 00000H
@@R_INIS 04F3FH 00000H CSEG UNIT64KP @@R_INIS 04F73H 00000H CSEG UNIT64KP
@@R_INIS @cstart 04F3FH 00000H @@R_INIS @cstart 04F73H 00000H
@@R_INIS loader 04F3FH 00000H @@R_INIS loader 04F73H 00000H
@@R_INIS pm 04F3FH 00000H @@R_INIS pm 04F73H 00000H
@@R_INIS i2c_ctr 04F3FH 00000H @@R_INIS i2c_ctr 04F73H 00000H
@@R_INIS main 04F3FH 00000H @@R_INIS main 04F73H 00000H
@@R_INIS magic 04F3FH 00000H @@R_INIS magic 04F73H 00000H
@@R_INIS WDT 04F3FH 00000H @@R_INIS WDT 04F73H 00000H
@@R_INIS i2c_mcu 04F3FH 00000H @@R_INIS i2c_mcu 04F73H 00000H
@@R_INIS i2c_twl 04F3FH 00000H @@R_INIS i2c_twl 04F73H 00000H
@@R_INIS led 04F3FH 00000H @@R_INIS led 04F73H 00000H
@@R_INIS rtc 04F3FH 00000H @@R_INIS rtc 04F73H 00000H
@@R_INIS vreg_ctr 04F3FH 00000H @@R_INIS vreg_ctr 04F73H 00000H
@@R_INIS vreg_twl 04F3FH 00000H @@R_INIS vreg_twl 04F73H 00000H
@@R_INIS adc 04F3FH 00000H @@R_INIS adc 04F73H 00000H
@@R_INIS renge 04F3FH 00000H @@R_INIS renge 04F73H 00000H
@@R_INIS accero 04F3FH 00000H @@R_INIS accero 04F73H 00000H
@@R_INIS self_flash @@R_INIS self_flash
04F3FH 00000H 04F73H 00000H
@@R_INIS sw 04F3FH 00000H @@R_INIS sw 04F73H 00000H
@@R_INIS task_debug @@R_INIS task_debug
04F3FH 00000H 04F73H 00000H
@@R_INIS task_misc @@R_INIS task_misc
04F3FH 00000H 04F73H 00000H
@@R_INIS task_sys 04F3FH 00000H @@R_INIS task_sys 04F73H 00000H
@@R_INIS pedo_alg_thre_det2 @@R_INIS pedo_alg_thre_det2
04F3FH 00000H 04F73H 00000H
@@R_INIS ini_VECT 04F3FH 00000H @@R_INIS ini_VECT 04F73H 00000H
@@R_INIS task_status @@R_INIS task_status
04F3FH 00000H 04F73H 00000H
@@R_INIS @rom 04F3FH 00000H @@R_INIS @rom 04F73H 00000H
@@CALT 04F3FH 00000H CSEG @@CALT 04F73H 00000H CSEG
@@CALT @cstart 04F3FH 00000H @@CALT @cstart 04F73H 00000H
@@CALT loader 04F3FH 00000H @@CALT loader 04F73H 00000H
@@CALT pm 04F3FH 00000H @@CALT pm 04F73H 00000H
@@CALT i2c_ctr 04F3FH 00000H @@CALT i2c_ctr 04F73H 00000H
@@CALT main 04F3FH 00000H @@CALT main 04F73H 00000H
@@CALT magic 04F3FH 00000H @@CALT magic 04F73H 00000H
@@CALT WDT 04F3FH 00000H @@CALT WDT 04F73H 00000H
@@CALT i2c_mcu 04F3FH 00000H @@CALT i2c_mcu 04F73H 00000H
@@CALT i2c_twl 04F3FH 00000H @@CALT i2c_twl 04F73H 00000H
@@CALT led 04F3FH 00000H @@CALT led 04F73H 00000H
@@CALT rtc 04F3FH 00000H @@CALT rtc 04F73H 00000H
@@CALT vreg_ctr 04F3FH 00000H @@CALT vreg_ctr 04F73H 00000H
@@CALT vreg_twl 04F3FH 00000H @@CALT vreg_twl 04F73H 00000H
@@CALT adc 04F3FH 00000H @@CALT adc 04F73H 00000H
@@CALT renge 04F3FH 00000H @@CALT renge 04F73H 00000H
@@CALT accero 04F3FH 00000H @@CALT accero 04F73H 00000H
@@CALT self_flash @@CALT self_flash
04F3FH 00000H 04F73H 00000H
@@CALT sw 04F3FH 00000H @@CALT sw 04F73H 00000H
@@CALT task_debug @@CALT task_debug
04F3FH 00000H 04F73H 00000H
@@CALT task_misc @@CALT task_misc
04F3FH 00000H 04F73H 00000H
@@CALT task_sys 04F3FH 00000H @@CALT task_sys 04F73H 00000H
@@CALT pedo_alg_thre_det2 @@CALT pedo_alg_thre_det2
04F3FH 00000H 04F73H 00000H
@@CALT ini_VECT 04F3FH 00000H @@CALT ini_VECT 04F73H 00000H
@@CALT task_status @@CALT task_status
04F3FH 00000H 04F73H 00000H
@@RLINIT 04F3FH 00000H CSEG UNIT64KP @@RLINIT 04F73H 00000H CSEG UNIT64KP
@@RLINIT loader 04F3FH 00000H @@RLINIT loader 04F73H 00000H
@@RLINIT pm 04F3FH 00000H @@RLINIT pm 04F73H 00000H
@@RLINIT i2c_ctr 04F3FH 00000H @@RLINIT i2c_ctr 04F73H 00000H
@@RLINIT main 04F3FH 00000H @@RLINIT main 04F73H 00000H
@@RLINIT magic 04F3FH 00000H @@RLINIT magic 04F73H 00000H
@@RLINIT WDT 04F3FH 00000H @@RLINIT WDT 04F73H 00000H
@@RLINIT i2c_mcu 04F3FH 00000H @@RLINIT i2c_mcu 04F73H 00000H
@@RLINIT i2c_twl 04F3FH 00000H @@RLINIT i2c_twl 04F73H 00000H
@@RLINIT led 04F3FH 00000H @@RLINIT led 04F73H 00000H
@@RLINIT rtc 04F3FH 00000H @@RLINIT rtc 04F73H 00000H
@@RLINIT vreg_ctr 04F3FH 00000H @@RLINIT vreg_ctr 04F73H 00000H
@@RLINIT vreg_twl 04F3FH 00000H @@RLINIT vreg_twl 04F73H 00000H
@@RLINIT adc 04F3FH 00000H @@RLINIT adc 04F73H 00000H
@@RLINIT renge 04F3FH 00000H @@RLINIT renge 04F73H 00000H
@@RLINIT accero 04F3FH 00000H @@RLINIT accero 04F73H 00000H
@@RLINIT self_flash @@RLINIT self_flash
04F3FH 00000H 04F73H 00000H
@@RLINIT sw 04F3FH 00000H @@RLINIT sw 04F73H 00000H
@@RLINIT task_debug @@RLINIT task_debug
04F3FH 00000H 04F73H 00000H
@@RLINIT task_misc @@RLINIT task_misc
04F3FH 00000H 04F73H 00000H
@@RLINIT task_sys 04F3FH 00000H @@RLINIT task_sys 04F73H 00000H
@@RLINIT pedo_alg_thre_det2 @@RLINIT pedo_alg_thre_det2
04F3FH 00000H 04F73H 00000H
@@RLINIT ini_VECT 04F3FH 00000H @@RLINIT ini_VECT 04F73H 00000H
@@RLINIT task_status @@RLINIT task_status
04F3FH 00000H 04F73H 00000H
@@RLINIT @rom 04F3FH 00000H @@RLINIT @rom 04F73H 00000H
@@CODEL 04F3FH 00000H CSEG @@CODEL 04F73H 00000H CSEG
@@CODEL pm 04F3FH 00000H @@CODEL pm 04F73H 00000H
@@CODEL i2c_ctr 04F3FH 00000H @@CODEL i2c_ctr 04F73H 00000H
@@CODEL magic 04F3FH 00000H @@CODEL magic 04F73H 00000H
@@CODEL i2c_twl 04F3FH 00000H @@CODEL i2c_twl 04F73H 00000H
@@CODEL led 04F3FH 00000H @@CODEL led 04F73H 00000H
@@CODEL rtc 04F3FH 00000H @@CODEL rtc 04F73H 00000H
@@CODEL vreg_ctr 04F3FH 00000H @@CODEL vreg_ctr 04F73H 00000H
@@CODEL vreg_twl 04F3FH 00000H @@CODEL vreg_twl 04F73H 00000H
@@CODEL adc 04F3FH 00000H @@CODEL adc 04F73H 00000H
@@CODEL renge 04F3FH 00000H @@CODEL renge 04F73H 00000H
@@CODEL accero 04F3FH 00000H @@CODEL accero 04F73H 00000H
@@CODEL sw 04F3FH 00000H @@CODEL sw 04F73H 00000H
@@CODEL task_misc @@CODEL task_misc
04F3FH 00000H 04F73H 00000H
@@CODEL task_sys 04F3FH 00000H @@CODEL task_sys 04F73H 00000H
@@CODEL pedo_alg_thre_det2 @@CODEL pedo_alg_thre_det2
04F3FH 00000H 04F73H 00000H
@@CODEL ini_VECT 04F3FH 00000H @@CODEL ini_VECT 04F73H 00000H
* gap * 04F3FH 00001H * gap * 04F73H 00001H
@@CNSTL 04F40H 0000AH CSEG PAGE64KP @@CNSTL 04F74H 0000AH CSEG PAGE64KP
@@CNSTL @bcdtob 04F40H 0000AH @@CNSTL @bcdtob 04F74H 0000AH
@@CNSTL 04F4AH 00010H CSEG PAGE64KP @@CNSTL 04F7EH 00010H CSEG PAGE64KP
@@CNSTL @bbcd 04F4AH 00010H @@CNSTL @bbcd 04F7EH 00010H
@@R_INIT 04F5AH 0003AH CSEG UNIT64KP @@R_INIT 04F8EH 0003AH CSEG UNIT64KP
@@R_INIT @cstart 04F5AH 00000H @@R_INIT @cstart 04F8EH 00000H
@@R_INIT loader 04F5AH 00000H @@R_INIT loader 04F8EH 00000H
@@R_INIT pm 04F5AH 00002H @@R_INIT pm 04F8EH 00002H
@@R_INIT i2c_ctr 04F5CH 00002H @@R_INIT i2c_ctr 04F90H 00002H
@@R_INIT main 04F5EH 00000H @@R_INIT main 04F92H 00000H
@@R_INIT magic 04F5EH 00000H @@R_INIT magic 04F92H 00000H
@@R_INIT WDT 04F5EH 00000H @@R_INIT WDT 04F92H 00000H
@@R_INIT i2c_mcu 04F5EH 00000H @@R_INIT i2c_mcu 04F92H 00000H
@@R_INIT i2c_twl 04F5EH 00000H @@R_INIT i2c_twl 04F92H 00000H
@@R_INIT led 04F5EH 00006H @@R_INIT led 04F92H 00006H
@@R_INIT rtc 04F64H 00000H @@R_INIT rtc 04F98H 00000H
@@R_INIT vreg_ctr 04F64H 00000H @@R_INIT vreg_ctr 04F98H 00000H
@@R_INIT vreg_twl 04F64H 00000H @@R_INIT vreg_twl 04F98H 00000H
@@R_INIT adc 04F64H 0000CH @@R_INIT adc 04F98H 0000CH
@@R_INIT renge 04F70H 00014H @@R_INIT renge 04FA4H 00014H
@@R_INIT accero 04F84H 00000H @@R_INIT accero 04FB8H 00000H
@@R_INIT self_flash @@R_INIT self_flash
04F84H 00000H 04FB8H 00000H
@@R_INIT sw 04F84H 00002H @@R_INIT sw 04FB8H 00002H
@@R_INIT task_debug @@R_INIT task_debug
04F86H 00000H 04FBAH 00000H
@@R_INIT task_misc @@R_INIT task_misc
04F86H 00000H 04FBAH 00000H
@@R_INIT task_sys 04F86H 00002H @@R_INIT task_sys 04FBAH 00002H
@@R_INIT pedo_alg_thre_det2 @@R_INIT pedo_alg_thre_det2
04F88H 0000AH 04FBCH 0000AH
@@R_INIT ini_VECT 04F92H 00000H @@R_INIT ini_VECT 04FC6H 00000H
@@R_INIT task_status @@R_INIT task_status
04F92H 00002H 04FC6H 00002H
@@R_INIT @rom 04F94H 00000H @@R_INIT @rom 04FC8H 00000H
@@LCODEL 04F94H 00008H CSEG @@LCODEL 04FC8H 00008H CSEG
@@LCODEL abs 04F94H 00008H @@LCODEL abs 04FC8H 00008H
* gap * 04F9CH 0005AH * gap * 04FD0H 00026H
MGC_TAIL 04FF6H 0000AH CSEG AT MGC_TAIL 04FF6H 0000AH CSEG AT
MGC_TAIL magic 04FF6H 0000AH MGC_TAIL magic 04FF6H 0000AH
@ -421,7 +424,7 @@ Direc-file:bsr_mcu.dr
BASE ADDRESS=FF900H SIZE=00500H BASE ADDRESS=FF900H SIZE=00500H
OUTPUT INPUT INPUT BASE SIZE OUTPUT INPUT INPUT BASE SIZE
SEGMENT SEGMENT MODULE ADDRESS SEGMENT SEGMENT MODULE ADDRESS
@@DATA FF900H 00430H DSEG BASEP @@DATA FF900H 00434H DSEG BASEP
@@DATA @cstart FF900H 00002H @@DATA @cstart FF900H 00002H
@@DATA loader FF902H 00000H @@DATA loader FF902H 00000H
@@DATA pm FF902H 00016H @@DATA pm FF902H 00016H
@ -431,184 +434,184 @@ Direc-file:bsr_mcu.dr
@@DATA WDT FFB3AH 00000H @@DATA WDT FFB3AH 00000H
@@DATA i2c_mcu FFB3AH 0000AH @@DATA i2c_mcu FFB3AH 0000AH
@@DATA i2c_twl FFB44H 00000H @@DATA i2c_twl FFB44H 00000H
@@DATA led FFB44H 00088H @@DATA led FFB44H 0008AH
@@DATA rtc FFBCCH 00008H @@DATA rtc FFBCEH 0000AH
@@DATA vreg_ctr FFBD4H 0005EH @@DATA vreg_ctr FFBD8H 0005EH
@@DATA vreg_twl FFC32H 00012H @@DATA vreg_twl FFC36H 00012H
@@DATA adc FFC44H 00018H @@DATA adc FFC48H 00018H
@@DATA renge FFC5CH 00022H @@DATA renge FFC60H 00022H
@@DATA accero FFC7EH 00002H @@DATA accero FFC82H 00002H
@@DATA self_flash @@DATA self_flash
FFC80H 00002H FFC84H 00002H
@@DATA sw FFC82H 00006H @@DATA sw FFC86H 00006H
@@DATA task_debug @@DATA task_debug
FFC88H 00000H FFC8CH 00000H
@@DATA task_misc @@DATA task_misc
FFC88H 0000EH FFC8CH 0000EH
@@DATA task_sys FFC96H 00002H @@DATA task_sys FFC9AH 00002H
@@DATA pedo_alg_thre_det2 @@DATA pedo_alg_thre_det2
FFC98H 00096H FFC9CH 00096H
@@DATA ini_VECT FFD2EH 00000H @@DATA ini_VECT FFD32H 00000H
@@DATA task_status @@DATA task_status
FFD2EH 00002H FFD32H 00002H
@@DATA @rom FFD30H 00000H @@DATA @rom FFD34H 00000H
@@INIT FFD30H 0003AH DSEG BASEP @@INIT FFD34H 0003AH DSEG BASEP
@@INIT @cstart FFD30H 00000H @@INIT @cstart FFD34H 00000H
@@INIT loader FFD30H 00000H @@INIT loader FFD34H 00000H
@@INIT pm FFD30H 00002H @@INIT pm FFD34H 00002H
@@INIT i2c_ctr FFD32H 00002H @@INIT i2c_ctr FFD36H 00002H
@@INIT main FFD34H 00000H @@INIT main FFD38H 00000H
@@INIT magic FFD34H 00000H @@INIT magic FFD38H 00000H
@@INIT WDT FFD34H 00000H @@INIT WDT FFD38H 00000H
@@INIT i2c_mcu FFD34H 00000H @@INIT i2c_mcu FFD38H 00000H
@@INIT i2c_twl FFD34H 00000H @@INIT i2c_twl FFD38H 00000H
@@INIT led FFD34H 00006H @@INIT led FFD38H 00006H
@@INIT rtc FFD3AH 00000H @@INIT rtc FFD3EH 00000H
@@INIT vreg_ctr FFD3AH 00000H @@INIT vreg_ctr FFD3EH 00000H
@@INIT vreg_twl FFD3AH 00000H @@INIT vreg_twl FFD3EH 00000H
@@INIT adc FFD3AH 0000CH @@INIT adc FFD3EH 0000CH
@@INIT renge FFD46H 00014H @@INIT renge FFD4AH 00014H
@@INIT accero FFD5AH 00000H @@INIT accero FFD5EH 00000H
@@INIT self_flash @@INIT self_flash
FFD5AH 00000H FFD5EH 00000H
@@INIT sw FFD5AH 00002H @@INIT sw FFD5EH 00002H
@@INIT task_debug @@INIT task_debug
FFD5CH 00000H FFD60H 00000H
@@INIT task_misc @@INIT task_misc
FFD5CH 00000H FFD60H 00000H
@@INIT task_sys FFD5CH 00002H @@INIT task_sys FFD60H 00002H
@@INIT pedo_alg_thre_det2 @@INIT pedo_alg_thre_det2
FFD5EH 0000AH FFD62H 0000AH
@@INIT ini_VECT FFD68H 00000H @@INIT ini_VECT FFD6CH 00000H
@@INIT task_status @@INIT task_status
FFD68H 00002H FFD6CH 00002H
@@INIT @rom FFD6AH 00000H @@INIT @rom FFD6EH 00000H
@@INIS FFD6AH 00000H DSEG UNITP @@INIS FFD6EH 00000H DSEG UNITP
@@INIS @cstart FFD6AH 00000H @@INIS @cstart FFD6EH 00000H
@@INIS loader FFD6AH 00000H @@INIS loader FFD6EH 00000H
@@INIS pm FFD6AH 00000H @@INIS pm FFD6EH 00000H
@@INIS i2c_ctr FFD6AH 00000H @@INIS i2c_ctr FFD6EH 00000H
@@INIS main FFD6AH 00000H @@INIS main FFD6EH 00000H
@@INIS magic FFD6AH 00000H @@INIS magic FFD6EH 00000H
@@INIS WDT FFD6AH 00000H @@INIS WDT FFD6EH 00000H
@@INIS i2c_mcu FFD6AH 00000H @@INIS i2c_mcu FFD6EH 00000H
@@INIS i2c_twl FFD6AH 00000H @@INIS i2c_twl FFD6EH 00000H
@@INIS led FFD6AH 00000H @@INIS led FFD6EH 00000H
@@INIS rtc FFD6AH 00000H @@INIS rtc FFD6EH 00000H
@@INIS vreg_ctr FFD6AH 00000H @@INIS vreg_ctr FFD6EH 00000H
@@INIS vreg_twl FFD6AH 00000H @@INIS vreg_twl FFD6EH 00000H
@@INIS adc FFD6AH 00000H @@INIS adc FFD6EH 00000H
@@INIS renge FFD6AH 00000H @@INIS renge FFD6EH 00000H
@@INIS accero FFD6AH 00000H @@INIS accero FFD6EH 00000H
@@INIS self_flash @@INIS self_flash
FFD6AH 00000H FFD6EH 00000H
@@INIS sw FFD6AH 00000H @@INIS sw FFD6EH 00000H
@@INIS task_debug @@INIS task_debug
FFD6AH 00000H FFD6EH 00000H
@@INIS task_misc @@INIS task_misc
FFD6AH 00000H FFD6EH 00000H
@@INIS task_sys FFD6AH 00000H @@INIS task_sys FFD6EH 00000H
@@INIS pedo_alg_thre_det2 @@INIS pedo_alg_thre_det2
FFD6AH 00000H FFD6EH 00000H
@@INIS ini_VECT FFD6AH 00000H @@INIS ini_VECT FFD6EH 00000H
@@INIS task_status @@INIS task_status
FFD6AH 00000H FFD6EH 00000H
@@INIS @rom FFD6AH 00000H @@INIS @rom FFD6EH 00000H
@@DATS FFD6AH 00000H DSEG UNITP @@DATS FFD6EH 00000H DSEG UNITP
@@DATS @cstart FFD6AH 00000H @@DATS @cstart FFD6EH 00000H
@@DATS loader FFD6AH 00000H @@DATS loader FFD6EH 00000H
@@DATS pm FFD6AH 00000H @@DATS pm FFD6EH 00000H
@@DATS i2c_ctr FFD6AH 00000H @@DATS i2c_ctr FFD6EH 00000H
@@DATS main FFD6AH 00000H @@DATS main FFD6EH 00000H
@@DATS magic FFD6AH 00000H @@DATS magic FFD6EH 00000H
@@DATS WDT FFD6AH 00000H @@DATS WDT FFD6EH 00000H
@@DATS i2c_mcu FFD6AH 00000H @@DATS i2c_mcu FFD6EH 00000H
@@DATS i2c_twl FFD6AH 00000H @@DATS i2c_twl FFD6EH 00000H
@@DATS led FFD6AH 00000H @@DATS led FFD6EH 00000H
@@DATS rtc FFD6AH 00000H @@DATS rtc FFD6EH 00000H
@@DATS vreg_ctr FFD6AH 00000H @@DATS vreg_ctr FFD6EH 00000H
@@DATS vreg_twl FFD6AH 00000H @@DATS vreg_twl FFD6EH 00000H
@@DATS adc FFD6AH 00000H @@DATS adc FFD6EH 00000H
@@DATS renge FFD6AH 00000H @@DATS renge FFD6EH 00000H
@@DATS accero FFD6AH 00000H @@DATS accero FFD6EH 00000H
@@DATS self_flash @@DATS self_flash
FFD6AH 00000H FFD6EH 00000H
@@DATS sw FFD6AH 00000H @@DATS sw FFD6EH 00000H
@@DATS task_debug @@DATS task_debug
FFD6AH 00000H FFD6EH 00000H
@@DATS task_misc @@DATS task_misc
FFD6AH 00000H FFD6EH 00000H
@@DATS task_sys FFD6AH 00000H @@DATS task_sys FFD6EH 00000H
@@DATS pedo_alg_thre_det2 @@DATS pedo_alg_thre_det2
FFD6AH 00000H FFD6EH 00000H
@@DATS ini_VECT FFD6AH 00000H @@DATS ini_VECT FFD6EH 00000H
@@DATS task_status @@DATS task_status
FFD6AH 00000H FFD6EH 00000H
@@DATS @rom FFD6AH 00000H @@DATS @rom FFD6EH 00000H
FSL_DATA FFD6AH 00010H DSEG UNITP FSL_DATA FFD6EH 00010H DSEG UNITP
FSL_DATA fsl_common FSL_DATA fsl_common
FFD6AH 00010H FFD6EH 00010H
@@INITL FFD7AH 00000H DSEG UNIT64KP @@INITL FFD7EH 00000H DSEG UNIT64KP
@@INITL loader FFD7AH 00000H @@INITL loader FFD7EH 00000H
@@INITL pm FFD7AH 00000H @@INITL pm FFD7EH 00000H
@@INITL i2c_ctr FFD7AH 00000H @@INITL i2c_ctr FFD7EH 00000H
@@INITL main FFD7AH 00000H @@INITL main FFD7EH 00000H
@@INITL magic FFD7AH 00000H @@INITL magic FFD7EH 00000H
@@INITL WDT FFD7AH 00000H @@INITL WDT FFD7EH 00000H
@@INITL i2c_mcu FFD7AH 00000H @@INITL i2c_mcu FFD7EH 00000H
@@INITL i2c_twl FFD7AH 00000H @@INITL i2c_twl FFD7EH 00000H
@@INITL led FFD7AH 00000H @@INITL led FFD7EH 00000H
@@INITL rtc FFD7AH 00000H @@INITL rtc FFD7EH 00000H
@@INITL vreg_ctr FFD7AH 00000H @@INITL vreg_ctr FFD7EH 00000H
@@INITL vreg_twl FFD7AH 00000H @@INITL vreg_twl FFD7EH 00000H
@@INITL adc FFD7AH 00000H @@INITL adc FFD7EH 00000H
@@INITL renge FFD7AH 00000H @@INITL renge FFD7EH 00000H
@@INITL accero FFD7AH 00000H @@INITL accero FFD7EH 00000H
@@INITL self_flash @@INITL self_flash
FFD7AH 00000H FFD7EH 00000H
@@INITL sw FFD7AH 00000H @@INITL sw FFD7EH 00000H
@@INITL task_debug @@INITL task_debug
FFD7AH 00000H FFD7EH 00000H
@@INITL task_misc @@INITL task_misc
FFD7AH 00000H FFD7EH 00000H
@@INITL task_sys FFD7AH 00000H @@INITL task_sys FFD7EH 00000H
@@INITL pedo_alg_thre_det2 @@INITL pedo_alg_thre_det2
FFD7AH 00000H FFD7EH 00000H
@@INITL ini_VECT FFD7AH 00000H @@INITL ini_VECT FFD7EH 00000H
@@INITL task_status @@INITL task_status
FFD7AH 00000H FFD7EH 00000H
@@INITL @rom FFD7AH 00000H @@INITL @rom FFD7EH 00000H
@@DATAL FFD7AH 00000H DSEG UNIT64KP @@DATAL FFD7EH 00000H DSEG UNIT64KP
@@DATAL loader FFD7AH 00000H @@DATAL loader FFD7EH 00000H
@@DATAL pm FFD7AH 00000H @@DATAL pm FFD7EH 00000H
@@DATAL i2c_ctr FFD7AH 00000H @@DATAL i2c_ctr FFD7EH 00000H
@@DATAL main FFD7AH 00000H @@DATAL main FFD7EH 00000H
@@DATAL magic FFD7AH 00000H @@DATAL magic FFD7EH 00000H
@@DATAL WDT FFD7AH 00000H @@DATAL WDT FFD7EH 00000H
@@DATAL i2c_mcu FFD7AH 00000H @@DATAL i2c_mcu FFD7EH 00000H
@@DATAL i2c_twl FFD7AH 00000H @@DATAL i2c_twl FFD7EH 00000H
@@DATAL led FFD7AH 00000H @@DATAL led FFD7EH 00000H
@@DATAL rtc FFD7AH 00000H @@DATAL rtc FFD7EH 00000H
@@DATAL vreg_ctr FFD7AH 00000H @@DATAL vreg_ctr FFD7EH 00000H
@@DATAL vreg_twl FFD7AH 00000H @@DATAL vreg_twl FFD7EH 00000H
@@DATAL adc FFD7AH 00000H @@DATAL adc FFD7EH 00000H
@@DATAL renge FFD7AH 00000H @@DATAL renge FFD7EH 00000H
@@DATAL accero FFD7AH 00000H @@DATAL accero FFD7EH 00000H
@@DATAL self_flash @@DATAL self_flash
FFD7AH 00000H FFD7EH 00000H
@@DATAL sw FFD7AH 00000H @@DATAL sw FFD7EH 00000H
@@DATAL task_debug @@DATAL task_debug
FFD7AH 00000H FFD7EH 00000H
@@DATAL task_misc @@DATAL task_misc
FFD7AH 00000H FFD7EH 00000H
@@DATAL task_sys FFD7AH 00000H @@DATAL task_sys FFD7EH 00000H
@@DATAL pedo_alg_thre_det2 @@DATAL pedo_alg_thre_det2
FFD7AH 00000H FFD7EH 00000H
@@DATAL ini_VECT FFD7AH 00000H @@DATAL ini_VECT FFD7EH 00000H
@@DATAL task_status @@DATAL task_status
FFD7AH 00000H FFD7EH 00000H
@@DATAL @rom FFD7AH 00000H @@DATAL @rom FFD7EH 00000H
* gap * FFD7AH 00086H * gap * FFD7EH 00082H
MEMORY=RAM2 MEMORY=RAM2
BASE ADDRESS=FFE20H SIZE=000C0H BASE ADDRESS=FFE20H SIZE=000C0H

View File

@ -13,7 +13,7 @@
//#define _FORCE_TAIKENDAI_ //#define _FORCE_TAIKENDAI_
#define MCU_VER_MAJOR 0x01 #define MCU_VER_MAJOR 0x01
#define MCU_VER_MINOR 11 #define MCU_VER_MINOR 12
#define _firm_format_v3_ #define _firm_format_v3_

Binary file not shown.

View File

@ -218,9 +218,8 @@ err iic_mcu_read( u8 slave, u8 adrs, u8 len, u8 * dest )
IICIF10 = 0; IICIF10 = 0;
SIO10 = 0xFF; // ダミーデータを書くと受信開始 SIO10 = 0xFF; // ダミーデータを書くと受信開始
while( IICIF10 == 0 ) while( IICIF10 == 0 )
{ // 受信完了待ち {;} // 受信完了待ち
;
}
*dest = SIO10; *dest = SIO10;
dest++; dest++;
len--; len--;
@ -324,8 +323,7 @@ err iic_mcu_write( u8 slave, u8 adrs, u8 len, void * src )
memcpy( iic_send_work, src, 4 ); //バッファとして4バイトしか用意して無いため。 memcpy( iic_send_work, src, 4 ); //バッファとして4バイトしか用意して無いため。
// DMAセット // DMAセット
while( DST1 ) while( DST1 )
{; {;}
}
DEN1 = 1; DEN1 = 1;
DSA1 = (u8)( &SIO10 ); DSA1 = (u8)( &SIO10 );
@ -473,7 +471,7 @@ static err iic_mcu_send_a_byte( u8 dat )
SIO10 = dat; SIO10 = dat;
while( IICIF10 == 0 ) while( IICIF10 == 0 )
{ {
NOP( ); // NOP( );
} // 通信中 } // 通信中
if( SSR02 != 0 ) if( SSR02 != 0 )
{ {
@ -576,7 +574,7 @@ void iic_mcu_start( )
iic_mcu_send_st(); iic_mcu_send_st();
SIO10 = 0xFF; SIO10 = 0xFF;
while( IICIF10 == 0 ){} // 通信中 while( IICIF10 == 0 ){;} // 通信中
iic_mcu_send_sp(); iic_mcu_send_sp();
SIR02 = SSR02; SIR02 = SSR02;
@ -594,8 +592,7 @@ void iic_mcu_start( )
void iic_mcu_stop( ) void iic_mcu_stop( )
{ {
while( iic_mcu_busy ) while( iic_mcu_busy )
{; {;} // DMA動作中はもう少し待つ
} // DMA動作中はもう少し待つ
iic_mcu_send_re_st( ); // SCL,SDAをLLにする iic_mcu_send_re_st( ); // SCL,SDAをLLにする
I2C_PU_off(); I2C_PU_off();
SAU0EN = 0; SAU0EN = 0;

View File

@ -304,6 +304,8 @@ void tsk_led_pow( )
======================================================== */ ======================================================== */
static void led_pow_normal( ) static void led_pow_normal( )
{ {
static u8 delay;
time_to_next_frame_sleep = LED_SLEEP_FRAME_LEN; time_to_next_frame_sleep = LED_SLEEP_FRAME_LEN;
frame_sleep = 0; frame_sleep = 0;
LED_dim_status_sleep.now = (sx16)LED_duty_pow_blu * 128; LED_dim_status_sleep.now = (sx16)LED_duty_pow_blu * 128;
@ -314,8 +316,18 @@ static void led_pow_normal( )
// おしまい // おしまい
} }
// 青点灯 if( system_status.pwr_state == ON ){
led_fade_to( LED_duty_pow_blu, vreg_ctr[VREG_C_LED_BRIGHT] ); if( ++delay > 5 )
{
delay = 0;
led_fade_to( LED_duty_pow_blu, vreg_ctr[VREG_C_LED_BRIGHT] );
}
}
else
{
// 青点灯
led_fade_to( LED_duty_pow_blu, vreg_ctr[VREG_C_LED_BRIGHT] );
}
} }
@ -548,9 +560,9 @@ void tsk_led_notify( )
// 通常運転 // 通常運転
if( info_led_pattern_updated ) if( info_led_pattern_updated )
{ {
info_led_pattern_updated = false; // info_led_pattern_updated = false; ここでクリアするのは早い
vreg_ctr[ VREG_C_LED_NOTIFY_FLAG ] &= ~REG_BIT_IN_LOOP; vreg_ctr[ VREG_C_LED_NOTIFY_FLAG ] &= ~REG_BIT_IN_LOOP;
frame = 0; // ちゃんと書こう frame = 31; // ちゃんと書こう
time_to_next_frame = 0; time_to_next_frame = 0;
} }
else else
@ -561,21 +573,31 @@ void tsk_led_notify( )
DBG_LED_on; DBG_LED_on;
time_to_next_frame = info_LED.info_LED.term; time_to_next_frame = info_LED.info_LED.term;
// 最終フレームの時
if( frame >= NOTIFY_LED_TERM -1 ) if( frame >= NOTIFY_LED_TERM -1 )
{ {
DBG_LED2_on; // パターン差し替え時のムリヤリ
vreg_ctr[ VREG_C_LED_NOTIFY_FLAG ] |= REG_BIT_IN_LOOP; if( info_led_pattern_updated )
if( info_LED.info_LED.last_loop != 255 ) // 255:無限ループ
{ {
loops++; info_led_pattern_updated = false;
if( loops > info_LED.info_LED.last_loop ) frame = 0;
}
else
{
vreg_ctr[ VREG_C_LED_NOTIFY_FLAG ] |= REG_BIT_IN_LOOP;
if( info_LED.info_LED.last_loop != 255 ) // 255:無限ループ
{ {
frame = 0; loops++;
if( loops > info_LED.info_LED.last_loop )
{
frame = 0;
}
} }
} }
} }
else else
{ {
// 最終フレーム以外
frame = (( frame + 1 ) & 0x1F ); // ←ここでマスクをかけておかないと最終フレーム~先頭間のグラデが効かない frame = (( frame + 1 ) & 0x1F ); // ←ここでマスクをかけておかないと最終フレーム~先頭間のグラデが効かない
vreg_ctr[ VREG_C_LED_NOTIFY_FLAG ] &= ~REG_BIT_IN_LOOP; vreg_ctr[ VREG_C_LED_NOTIFY_FLAG ] &= ~REG_BIT_IN_LOOP;
loops = 0; loops = 0;
@ -591,8 +613,6 @@ void tsk_led_notify( )
LED_dim_status_info_B.delta = (( LED_dim_status_info_B.to - LED_dim_status_info_B.now ) ) / info_LED.info_LED.fade_time; LED_dim_status_info_B.delta = (( LED_dim_status_info_B.to - LED_dim_status_info_B.now ) ) / info_LED.info_LED.fade_time;
} }
DBG_LED_off;
DBG_LED2_off;
time_to_next_frame -= 1; time_to_next_frame -= 1;
} }
} }

View File

@ -22,6 +22,7 @@
system_status_ system_status; system_status_ system_status;
uni_pool pool; uni_pool pool;
extern u16 rtc_stop_check;
/* ======================================================== /* ========================================================
@ -64,7 +65,13 @@ void main_loop( void )
{ // システムtick、または割り込みで廻ります。 { // システムtick、または割り込みで廻ります。
renge_task_interval_run( ); // 内部で、システムtickまたは強制起動します renge_task_interval_run( ); // 内部で、システムtickまたは強制起動します
renge_task_immed_run(); renge_task_immed_run();
HALT( ); // HALT( );
if( ++rtc_stop_check == 0 )
{
// RTC割り込みが来ない
RTCEN = 0;
mcu_wdt_reset;
}
} }
} }

View File

@ -91,16 +91,16 @@ err renge_task_interval_run(){
{ {
renge_task_interval_in_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; // 今から起動するタスク、割り込むタスクでフラグが立つかもなので
WDT_Restart( );
if( renge_flg_interval != 0 ) if( renge_flg_interval != 0 )
{ {
renge_flg_interval -= 1; renge_flg_interval -= 1;
WDT_Restart( );
} }
EI(); EI();
for( i = 0; i != TSK_LAST; i += 1 ) for( i = 0; i != TSK_LAST; i += 1 )
{ {
tasks[ i ](); tasks[ i ]();
// 逐次起動タスクがあったら起動しておく // 逐次起動タスクがあったら間に挟む
renge_task_immed_run(); renge_task_immed_run();
} }
} }

View File

@ -15,6 +15,8 @@ bit rtc_lock;
bit rtc_dirty; bit rtc_dirty;
bit rtc_alarm_dirty; bit rtc_alarm_dirty;
u16 rtc_stop_check;
/* ======================================================== /* ========================================================
@ -54,8 +56,7 @@ void RTC_init( void )
RWAIT = 1; RWAIT = 1;
while( !RWST ) while( !RWST )
{; {;}
}
RWAIT = 0; RWAIT = 0;
rtc_lock = false; rtc_lock = false;
@ -96,8 +97,7 @@ void rtc_buf_reflesh( )
rtc_lock = true; rtc_lock = true;
RWAIT = 1; RWAIT = 1;
while( !RWST ) while( !RWST )
{; {;}
}
memcpy( &vreg_ctr[VREG_C_RTC_SEC], &SEC, 7 ); memcpy( &vreg_ctr[VREG_C_RTC_SEC], &SEC, 7 );
RWAIT = 0; RWAIT = 0;
@ -141,8 +141,7 @@ void rtc_unlock( )
rtc_dirty = false; rtc_dirty = false;
RWAIT = 1; RWAIT = 1;
while( !RWST ) while( !RWST )
{; {;}
}
memcpy( &SEC, rtc_work, 7 ); memcpy( &SEC, rtc_work, 7 );
RWAIT = 0; RWAIT = 0;
} }
@ -169,4 +168,5 @@ void rtc_unlock( )
__interrupt void int_rtc_int( ) __interrupt void int_rtc_int( )
{ {
renge_flg_interval += 1; // インクリメント/デクリメント命令を使うので DI()不要 renge_flg_interval += 1; // インクリメント/デクリメント命令を使うので DI()不要
rtc_stop_check = 1;
} }

View File

@ -151,19 +151,19 @@ void firm_update( )
u8* p_buffer = &pool.self_update_work[0]; u8* p_buffer = &pool.self_update_work[0];
u16 buff_written_size = 0; u16 buff_written_size = 0;
WDT_Restart( );
// I2Cから書き込みデータをバッファにためる // I2Cから書き込みデータをバッファにためる
do do
{ {
while( !IICAIF && !SPD ) while( !IICAIF && !SPD )
{ {;}
}
my_spd = SPD; my_spd = SPD;
IICAIF = 0; IICAIF = 0;
*p_buffer = IICA; *p_buffer = IICA;
WREL = 1; WREL = 1;
p_buffer += 1; p_buffer += 1;
buff_written_size += 1; buff_written_size += 1;
WDT_Restart( );
} }
while( ( buff_written_size != SELF_UPDATE_BUFF_SIZE ) while( ( buff_written_size != SELF_UPDATE_BUFF_SIZE )
&& !SPD ); && !SPD );
@ -457,6 +457,7 @@ static err firm_duplicate( u8 block_src,
u8 target_block; u8 target_block;
u8 split_write_count; // ブロックへちまちま書き込むカウンタ u8 split_write_count; // ブロックへちまちま書き込むカウンタ
__far u8* p_src = ( __far u8* )( block_src * 0x400 ); __far u8* p_src = ( __far u8* )( block_src * 0x400 );
u8 retry_error;
led_print(1); led_print(1);
@ -468,10 +469,17 @@ static err firm_duplicate( u8 block_src,
led_print(2); led_print(2);
WDT_Restart( ); WDT_Restart( );
// ブロック消去 // ブロック消去
retry_error = 5 + 1;
while( FSL_BlankCheck( target_block ) != FSL_OK ) while( FSL_BlankCheck( target_block ) != FSL_OK )
{ {
led_print(3); led_print(3);
FSL_Erase( target_block ); FSL_Erase( target_block );
if( --retry_error == 0 )
{
// フラッシュ寿命?
FSL_Close( );
return ( ERR_ERR ); // リセット&復帰を試みる どうなるか知らん
}
} }
led_print(4); led_print(4);
@ -483,8 +491,6 @@ static err firm_duplicate( u8 block_src,
u16 buff_written_size; u16 buff_written_size;
u8* p_buff; u8* p_buff;
WDT_Restart( );
// 書き込みデータをバッファにためる // 書き込みデータをバッファにためる
buff_written_size = 0; buff_written_size = 0;
p_buff = &pool.self_update_work[0]; p_buff = &pool.self_update_work[0];
@ -515,7 +521,7 @@ static err firm_duplicate( u8 block_src,
// 1ブロック書き込み完了。内部電圧チェックを行う // 1ブロック書き込み完了。内部電圧チェックを行う
while( FSL_IVerify( target_block ) != FSL_OK ) while( FSL_IVerify( target_block ) != FSL_OK )
{ {
// リカバリはリブート時 todo // // リカバリはリブート時 //
led_print(7); led_print(7);
return ( ERR_ERR ); return ( ERR_ERR );
} }

View File

@ -276,6 +276,8 @@ void tsk_sys( )
case OFF_TRIG: //--------------------------------------- case OFF_TRIG: //---------------------------------------
default: default:
system_status.pwr_state = OFF_TRIG;
// LED消灯を待つ // LED消灯を待つ
vreg_ctr[ VREG_C_LED_POW ] = LED_POW_ILM_OFF; vreg_ctr[ VREG_C_LED_POW ] = LED_POW_ILM_OFF;
vreg_ctr[ VREG_C_LED_WIFI ] = WIFI_LED_OFF; vreg_ctr[ VREG_C_LED_WIFI ] = WIFI_LED_OFF;
@ -307,8 +309,7 @@ void tsk_sys( )
// ACアダプタ INTP4 アダプタありでL // ACアダプタ INTP4 アダプタありでL
// RTC // RTC
while( iic_mcu_busy ) while( iic_mcu_busy )
{; {;}
}
KRM = ( KR_SW_POW ); // Mask ではなく、Modeなのだそうだ。紛らわしい KRM = ( KR_SW_POW ); // Mask ではなく、Modeなのだそうだ。紛らわしい
MK0 = ~( INT_MSK0_EXTDC ); MK0 = ~( INT_MSK0_EXTDC );

View File

@ -7,7 +7,7 @@ Internal Rom=32KB
Internal Ram=1536B Internal Ram=1536B
Clock=Target Clock=Target
Sub Clock=Target Sub Clock=Target
Peripheral Break=0x1 Peripheral Break=0x0
Firm Clock=System Firm Clock=System
Flash Programming=Permit Flash Programming=Permit
Low-voltage Flash Rewriting=On Low-voltage Flash Rewriting=On
@ -78,10 +78,10 @@ Symbol Type=OFF
Language=C Language=C
Kanji=SJIS Kanji=SJIS
[Source] [Source]
Geometry=79, 64, 1021, 817 Geometry=15, 48, 1021, 817
Window=Normal Window=Normal
DispStart=15 DispStart=423
CaretPos=68,0 CaretPos=424,0
Mode=Normal Mode=Normal
DispFile= DispFile=
Address1= Address1=
@ -139,6 +139,22 @@ SaveRange=Screen
SaveStart= SaveStart=
SaveEnd= SaveEnd=
Accumulative=ON Accumulative=ON
[Source1]
Geometry=228, 202, 1021, 817
Window=Normal
DispStart=22
CaretPos=74,9
Mode=Normal
DispFile=main.c
Accumulative=ON
[Source2]
Geometry=25, 25, 1021, 817
Window=Normal
DispStart=116
CaretPos=1,0
Mode=Normal
DispFile=rtc.c
Accumulative=ON
[Assemble] [Assemble]
Geometry=30, 440, 968, 626 Geometry=30, 440, 968, 626
Window=Hide Window=Hide
@ -194,7 +210,7 @@ Endian=
Ascii=OFF Ascii=OFF
Idtag=OFF Idtag=OFF
Address= Address=
DispStart=000FFC80 DispStart=FFFFFFFF
CaretPosData=0, 0 CaretPosData=0, 0
CaretPosAscii=0, 0 CaretPosAscii=0, 0
Address1= Address1=
@ -960,47 +976,44 @@ Count=0
Geometry=1075, 10, 441, 702 Geometry=1075, 10, 441, 702
Window=Normal Window=Normal
Boundary=18088086 Boundary=18088086
0=.vol_level_twl_readed,P,N,A,+,1 0=.rtc_stop_check,P,N,A,+,1
1=.vol_level_twl,P,N,A,+,1 1=.vol_level_twl_readed,P,N,A,+,1
2=.temp_twl_bt_level,P,N,A,+,1 2=.vol_level_twl,P,N,A,+,1
3=.bt_remain_old_ctr,P,N,A,+,1 3=.temp_twl_bt_level,P,N,A,+,1
4=.chg_led_override,P,N,A,+,1 4=.bt_remain_old_ctr,P,N,A,+,1
5=.vreg_twl,P,N,A,+,1 5=.chg_led_override,P,N,A,+,1
6=.infos,P,N,A,+,1 6=.vreg_twl,P,N,A,+,1
7=.vreg_ctr,P,N,A,+,1 7=.infos,P,N,A,+,1
8=.battery_manufacturer,P,N,A,+,1 8=.vreg_ctr,P,N,A,+,1
9=.system_status,.,N,A,+,1 9=.battery_manufacturer,P,N,A,+,1
Line=10 10=.system_status,.,N,A,+,1
Line=11
[Quick Watch] [Quick Watch]
0=new_level,P,A,1 0=vol_level_old,P,A,1
1=vol_level_old,P,A,1 1=battery_manufacturer,P,A,1
2=battery_manufacturer,P,A,1 2=bt_chg_ready,P,A,1
3=bt_chg_ready,P,A,1 3=PM_EXTDC_n,P,A,1
4=PM_EXTDC_n,P,A,1 4=chg_led_override,P,A,1
5=chg_led_override,P,A,1 5=LED_CHARGE,P,A,1
6=LED_CHARGE,P,A,1 6=P4.3,P,A,1
7=P4.3,P,A,1 7=P5.1,P,A,1
8=P5.1,P,A,1 8=PU4,P,A,1
9=PU4,P,A,1 9=PU4.3,P,A,1
10=PU4.3,P,A,1 10=p4.3,P,A,1
11=p4.3,P,A,1 11=PU5.1,P,A,1
12=PU5.1,P,A,1 12=PM4.3,P,A,1
13=PM4.3,P,A,1 13=vol_level_twl,P,A,1
14=vol_level_twl,P,A,1 14=vol_level_twl_readed,P,A,1
15=vol_level_twl_readed,P,A,1 15=rtc_stop_check,P,A,1
[Software Break] [Software Break]
Geometry=709, 826, 445, 260 Geometry=709, 826, 445, 260
Window=Normal Window=Normal
Width=150 30 200 100 Width=150 30 200 100
Name0=Swb00001 Name0=Swb00001
Address0=task_misc.c#_tsk_misc+0x3f Address0=rtc.c#_int_rtc_int+0x1
Window0=ASM Window0=ASM
Status0=ON Status0=ON
Name1=Swb00002 Count=1
Address1=vreg_twl.c#_vreg_twl_read+0x3f
Window1=ASM
Status1=ON
Count=2
[Reset] [Reset]
Debugger=ON Debugger=ON
Symbol=OFF Symbol=OFF

View File

@ -754,6 +754,37 @@ Include32=voltable.h
Include33=magic.h Include33=magic.h
Include34=..\..\..\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h Include34=..\..\..\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h
Include35=..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h Include35=..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.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
@ -838,7 +869,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
@ -1005,37 +1036,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

View File

@ -5,14 +5,15 @@ FrameY=115
FrameCX=1200 FrameCX=1200
FrameCY=854 FrameCY=854
OpenFile1=jhl_defs.h,0,286,286,1530,1012,0,15,26,0 OpenFile1=jhl_defs.h,0,286,286,1530,1012,0,15,26,0
OpenFile2=ProjectWindow OpenFile2=self_flash.c,0,352,352,1596,1078,0,142,5,0
OpenFile3=ini_VECT.c,0,330,330,1574,1056,6,93,6,0
OpenFile4=main.c,0,220,220,1464,946,3,59,3,0
OpenFile5=renge\renge.c,0,348,332,1592,1058,0,31,0,0
OpenFile6=renge\renge.h,0,264,264,1508,990,3,4,3,0
OpenFile7=ProjectWindow
PrjPos=0,0,1039,0,345 PrjPos=0,0,1039,0,345
OpenFile3=self_flash.c,0,352,352,1596,1078,0,142,5,0 OpenFile8=adc.c,0,220,220,1464,946,12,233,0,0
OpenFile4=ini_VECT.c,0,330,330,1574,1056,6,93,6,0 OpenFile9=OutputWindow
OpenFile5=main.c,0,220,220,1464,946,3,59,3,0
OpenFile6=renge\renge.c,0,348,332,1592,1058,0,31,0,0
OpenFile7=renge\renge.h,0,264,264,1508,990,0,28,0,0
OpenFile8=OutputWindow
OutputPos=0,3,734,347,1591 OutputPos=0,3,734,347,1591
ActivePRJ=yav_mcu_bsr.prj ActivePRJ=yav_mcu_bsr.prj
[ProjectWindow] [ProjectWindow]