XLINK Map File for "BC100_tiny"

IAR Universal Linker V4.60I/386

Copyright 1987-2007 IAR Systems. All rights reserved.

Invocation   Program Entry   Module Map   Module Summary   Call Graph   Segment Map   Memory Summary


Link time 12/Mar/2008 23:01:40
Target CPU A90
List file C:\home\kevin\pub\src\bc100_cal\IAR\Debug\List\BC100_tiny.html
Output file 1 C:\home\kevin\pub\src\bc100_cal\IAR\Debug\Exe\BC100_tiny.d90
Format: ubrof8
UBROF version 8.0.2
Command line C:\home\kevin\pub\src\bc100_cal\IAR\Debug\Obj\ADC.r90 C:\home\kevin\pub\src\bc100_cal\IAR\Debug\Obj\NIMHcharge.r90 C:\home\kevin\pub\src\bc100_cal\IAR\Debug\Obj\OWI.r90 C:\home\kevin\pub\src\bc100_cal\IAR\Debug\Obj\PWM.r90 C:\home\kevin\pub\src\bc100_cal\IAR\Debug\Obj\USI.r90 C:\home\kevin\pub\src\bc100_cal\IAR\Debug\Obj\battery.r90 C:\home\kevin\pub\src\bc100_cal\IAR\Debug\Obj\chargefunc.r90 C:\home\kevin\pub\src\bc100_cal\IAR\Debug\Obj\main.r90 C:\home\kevin\pub\src\bc100_cal\IAR\Debug\Obj\menu.r90 C:\home\kevin\pub\src\bc100_cal\IAR\Debug\Obj\statefunc.r90 C:\home\kevin\pub\src\bc100_cal\IAR\Debug\Obj\time.r90 -o C:\home\kevin\pub\src\bc100_cal\IAR\Debug\Exe\BC100_tiny.d90 -Fubrof8 -l C:\home\kevin\pub\src\bc100_cal\IAR\Debug\List\BC100_tiny.html -xmsnoh "-"C:\Program Files\IAR Systems\Embedded Workbench 4.0\avr\LIB\" -f "C:\Program Files\IAR Systems\Embedded Workbench 4.0\avr\src\template\cfgtiny861.xcl" ( -D_..X_INTVEC_SIZE=26 -D_..X_FLASH_END=1FFF -D_..X_SRAM_BASE=60 -D_..X_SRAM_TBASE=_..X_SRAM_BASE -D_..X_SRAM_TSIZE=(100-_..X_SRAM_BASE) -D_..X_SRAM_END=25F -D_..X_EXT_SRAM_BASE=_..X_SRAM_END -D_..X_EXT_SRAM_SIZE=0 -D_..X_EXT_ROM_BASE=_..X_SRAM_END -D_..X_EXT_ROM_SIZE=0 -D_..X_EXT_NV_BASE=_..X_SRAM_END -D_..X_EXT_NV_SIZE=0 -D_..X_EEPROM_END=1FF -D_..X_EEPROM_START=0 ) -D_..X_HEAP_SIZE=10 -D_..X_TINY_HEAP_SIZE=0 -D_..X_NEAR_HEAP_SIZE=0 -D_..X_FAR_HEAP_SIZE=0 -D_..X_HUGE_HEAP_SIZE=0 -D_..X_CSTACK_SIZE=40 -D_..X_RSTACK_SIZE=30 -f "C:\Program Files\IAR Systems\Embedded Workbench 4.0\avr\src\template\cfg1soim.xcl" ( -ca90 -w29 -Z(CODE)INTVEC=0-_..X_INTVEC_SIZE -Z(CODE)TINY_F=_..X_FLASH_BASE-FF -Z(CODE)NEAR_F=_..X_FLASH_BASE-_..X_FLASH_END -Z(CODE)SWITCH=_..X_FLASH_BASE-_..X_FLASH_END -Z(CODE)INITTAB=_..X_FLASH_BASE-_..X_FLASH_END -Z(CODE)DIFUNCT=_..X_FLASH_BASE-_..X_FLASH_END -Z(CODE)CODE=_..X_FLASH_BASE-_..X_FLASH_END -Z(CODE)TINY_ID=_..X_FLASH_BASE-_..X_FLASH_END -Z(CODE)NEAR_ID=_..X_FLASH_BASE-_..X_FLASH_END -Z(CODE)CHECKSUM#_..X_FLASH_END -Z(DATA)TINY_I,TINY_Z,TINY_N=_..X_SRAM_TBASE:+_..X_SRAM_TSIZE -Z(DATA)CSTACK+_..X_CSTACK_SIZE=_..X_CSTACK_BASE-_..X_CSTACK_END -Z(DATA)HEAP+_..X_HEAP_SIZE=_..X_SRAM_BASE-_..X_SRAM_END -Z(DATA)IOSTREAM_N#_..X_SRAM_BASE-_..X_SRAM_END -Z(DATA)NEAR_HEAP+_..X_NEAR_HEAP_SIZE=_..X_SRAM_BASE-_..X_SRAM_END -Z(DATA)RSTACK+_..X_RSTACK_SIZE=_..X_RSTACK_BASE-_..X_RSTACK_END -Z(DATA)NEAR_I,NEAR_Z,NEAR_N=_..X_SRAM_BASE-_..X_SRAM_END -Z(XDATA)EEPROM_I,EEPROM_N=_..X_EEPROM_START-_..X_EEPROM_END ) -D_..X_FLASH_BASE=_..X_INTVEC_SIZE -H1895 -h(CODE)0-(_..X_INTVEC_SIZE-1) -D_..X_CSTACK_BASE=_..X_SRAM_BASE -D_..X_CSTACK_END=_..X_SRAM_END -D_..X_RSTACK_BASE=_..X_SRAM_BASE -D_..X_RSTACK_END=_..X_SRAM_END -s __program_start "C:\Program Files\IAR Systems\Embedded Workbench 4.0\avr\LIB\CLIB\cl1s-ec_nomul.r90" -e_small_write=_formatted_write -e_medium_read=_formatted_read


Program entry at : CODE 00000000 Relocatable, from module : ?RESET


Runtime Model
Attribute Value
EEPROM_SIZE 2
R4 REG
R5 REG
R6 REG
R7 REG
R8 REG
__64bit_doubles disabled
__cpu 1
__cpu_name ATtiny861
__enhanced_core enabled
__has_elpm false
__memory_model 2
__rt_version 3


Module Map
File Module Segment Symbol Address Ref by
?ABS_ENTRY_MOD
Program module
Absolute parts _..X_RSTACK_END 0000025F -
_..X_RSTACK_BASE 00000060 -
_..X_CSTACK_END 0000025F -
_..X_CSTACK_BASE 00000060 -
_..X_FLASH_BASE 00000026 -
_..X_RSTACK_SIZE 00000030 -
_..X_CSTACK_SIZE 00000040 -
_..X_HUGE_HEAP_SIZE 00000000 -
_..X_FAR_HEAP_SIZE 00000000 -
_..X_NEAR_HEAP_SIZE 00000000 -
_..X_TINY_HEAP_SIZE 00000000 -
_..X_HEAP_SIZE 00000010 -
_..X_EEPROM_START 00000000 -
_..X_EEPROM_END 000001FF -
_..X_EXT_NV_SIZE 00000000 -
_..X_EXT_NV_BASE 0000025F -
_..X_EXT_ROM_SIZE 00000000 -
_..X_EXT_ROM_BASE 0000025F -
_..X_EXT_SRAM_SIZE 00000000 -
_..X_EXT_SRAM_BASE 0000025F -
_..X_SRAM_END 0000025F -
_..X_SRAM_TSIZE 000000A0 -
_..X_SRAM_TBASE 00000060 -
_..X_SRAM_BASE 00000060 -
_..X_FLASH_END 00001FFF -
_..X_INTVEC_SIZE 00000026 -
C:\home\kevin\pub\src\bc100_cal\IAR\Debug\Obj\ADC.r90 ADC
Program module
ABSOLUTE
Relative segment
DATA 0000003B - 0000003B
Segment part 1.
Intra module refs   ADC_Init
OWI_DetectPresence (OWI)
OWI_Init (OWI)
OWI_ReadBit (OWI)
OWI_WriteBit0 (OWI)
OWI_WriteBit1 (OWI)
_A_PORTA 0000003B -
ABSOLUTE
Relative segment
DATA 0000003A - 0000003A
Segment part 2.
Intra module refs   ADC_Init
OWI_DetectPresence (OWI)
OWI_Init (OWI)
OWI_ReadBit (OWI)
OWI_WriteBit0 (OWI)
OWI_WriteBit1 (OWI)
_A_DDRA 0000003A -
ABSOLUTE
Relative segment
DATA 00000027 - 00000027
Segment part 3.
Intra module refs   ADC_ISR
ADC_Init
_A_ADMUX 00000027 -
ABSOLUTE
Relative segment
DATA 00000026 - 00000026
Segment part 4.
Intra module refs   ADC_ISR
ADC_Init
Doze (statefunc)
_A_ADCSRA 00000026 -
ABSOLUTE
Relative segment
DATA 00000024 - 00000025
Segment part 5.
Intra module refs   ADC_ISR
ADC_Init
_A_ADC 00000024 -
ABSOLUTE
Relative segment
DATA 00000023 - 00000023
Segment part 6.
Intra module refs   ADC_ISR
ADC_Init
_A_ADCSRB 00000023 -
NEAR_Z
Relative segment
DATA 00000144 - 0000015B
Segment part 14.
Intra module refs   ADC_ISR
ADC_Init
ADC_Wait
ADCS 00000144 BatteryStatusRefresh (battery)
ConstantCurrent (chargefunc)
Doze (statefunc)
HaltNow (chargefunc)
JumperCheck (statefunc)
NTCLookUp (battery)
RIDLookUp (battery)
USI_OVF_ISR (USI)
EEPROM_I
Relative segment
XDATA 00000000 - 00000000
Segment part 16.
Intra module refs   ADC_ISR
VBAT_RANGE 00000000 -
CODE
Relative segment
CODE 00000050 - 0000025F
Segment part 18.
Intra module refs   ADC_ISR::??INTVEC 22
ADC_ISR
interrupt function
calls direct
stack 1 = 00000000 ( 00000014 )
stack 2 = 00000000 ( 00000004 )
00000050 -
NEAR_Z
Relative segment
DATA 0000015C - 0000015C
Segment part 17.
Intra module refs   ADC_ISR
ADC_ISR::avgIndex 0000015C
CODE
Relative segment
CODE 00000260 - 000002B9
Segment part 19.
Intra module refs   ADC_ISR
ScaleU
stack 1 = 00000000 ( 00000006 )
stack 2 = 00000000 ( 00000004 )
00000260 -
CODE
Relative segment
CODE 000002BA - 0000031F
Segment part 20.
Intra module refs   ADC_ISR
ScaleI
stack 1 = 00000000 ( 00000006 )
stack 2 = 00000000 ( 00000004 )
000002BA -
CODE
Relative segment
CODE 00000320 - 00000349
Segment part 21.
Intra module refs   ADC_Init
ADC_Wait
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
00000320 BatteryControl (statefunc)
ConstantCurrent (chargefunc)
Doze (statefunc)
HaltNow (chargefunc)
Initialize (statefunc)
JumperCheck (statefunc)
Sleep (statefunc)
CODE
Relative segment
CODE 0000034A - 00000401
Segment part 22.
ADC_Init
calls direct
stack 1 = 00000000 ( 00000001 )
stack 2 = 00000000 ( 00000002 )
0000034A Initialize (statefunc)
ABSOLUTE
Relative segment
DATA 0000001C
Segment part 7.
__?EECR 0000001C Segment part 0 (?EEPROM_16)
Segment part 1 (?EEPROM_16)
Segment part 8 (?EEPROM_16)
ABSOLUTE
Relative segment
DATA 0000001D
Segment part 8.
__?EEDR 0000001D __eeget8_16 (?EEPROM_16)
__eeput8_16 (?EEPROM_16)
ABSOLUTE
Relative segment
DATA 0000001E
Segment part 9.
__?EEARL 0000001E Segment part 1 (?EEPROM_16)
Segment part 8 (?EEPROM_16)
ABSOLUTE
Relative segment
DATA 0000001F
Segment part 10.
__?EEARH 0000001F Segment part 1 (?EEPROM_16)
Segment part 8 (?EEPROM_16)
INTVEC
Common segment
CODE 00000000 - 00000017
Segment part 11. ROOT.
ADC_ISR::??INTVEC 22 00000016 -
INITTAB
Relative segment
CODE 00000044 - 00000049
Segment part 15.
Intra module refs   ADCS
ADC_ISR::avgIndex
BattActive (battery)
BattData (battery)
ChargeParameters (chargefunc)
CurrentState (main)
ErrorFlags (statefunc)
ErrorState (statefunc)
HaltParameters (chargefunc)
SPI (USI)
timeval (time)
?<Segment init: NEAR_Z> 00000044 -
C:\home\kevin\pub\src\bc100_cal\IAR\Debug\Obj\NIMHcharge.r90 NIMHcharge
Program module
CODE
Relative segment
CODE 00000402 - 00000565
Segment part 7.
Charge
calls direct
stack 1 = 00000000 ( 00000002 )
stack 2 = 00000000 ( 00000004 )
00000402 menu_state (menu)
C:\home\kevin\pub\src\bc100_cal\IAR\Debug\Obj\OWI.r90 OWI
Program module
ABSOLUTE
Relative segment
DATA 00000039 - 00000039
Segment part 3.
Intra module refs   OWI_DetectPresence
OWI_ReadBit
_A_PINA 00000039 -
CODE
Relative segment
CODE 00000566 - 00000587
Segment part 10.
OWI_Init
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
00000566 Initialize (statefunc)
CODE
Relative segment
CODE 00000588 - 000005C5
Segment part 11.
Intra module refs   OWI_SendByte
OWI_WriteBit1
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
00000588 -
CODE
Relative segment
CODE 000005C6 - 00000603
Segment part 12.
Intra module refs   OWI_SendByte
OWI_WriteBit0
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
000005C6 -
CODE
Relative segment
CODE 00000604 - 00000651
Segment part 13.
Intra module refs   OWI_ReceiveByte
OWI_ReadBit
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
00000604 -
CODE
Relative segment
CODE 00000652 - 000006A9
Segment part 14.
OWI_DetectPresence
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
00000652 BatteryDataRefresh (battery)
CODE
Relative segment
CODE 000006AA - 000006D3
Segment part 15.
OWI_SendByte
calls direct
stack 1 = 00000000 ( 00000004 )
stack 2 = 00000000 ( 00000002 )
000006AA BatteryDataRefresh (battery)
CODE
Relative segment
CODE 000006D4 - 000006F7
Segment part 16.
OWI_ReceiveByte
calls direct
stack 1 = 00000000 ( 00000003 )
stack 2 = 00000000 ( 00000002 )
000006D4 BatteryDataRefresh (battery)
CODE
Relative segment
CODE 000006F8 - 00000729
Segment part 21.
OWI_ComputeCRC8
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
000006F8 BatteryDataRefresh (battery)
C:\home\kevin\pub\src\bc100_cal\IAR\Debug\Obj\PWM.r90 PWM
Program module
ABSOLUTE
Relative segment
DATA 00000050 - 00000050
Segment part 1.
Intra module refs   PWM_Start
PWM_Stop
_A_TCCR1A 00000050 -
ABSOLUTE
Relative segment
DATA 0000004F - 0000004F
Segment part 2.
Intra module refs   PWM_Start
PWM_Stop
_A_TCCR1B 0000004F -
ABSOLUTE
Relative segment
DATA 0000004D - 0000004D
Segment part 3.
Intra module refs   PWM_Start
_A_OCR1A 0000004D -
ABSOLUTE
Relative segment
DATA 0000004C - 0000004C
Segment part 4.
Intra module refs   BatteryStatusRefresh (battery)
ConstantCurrent (chargefunc)
PWM_DecrementDutyCycle
PWM_IncrementDutyCycle
PWM_Start
PWM_Stop
_A_OCR1B 0000004C -
ABSOLUTE
Relative segment
DATA 0000004B - 0000004B
Segment part 5.
Intra module refs   PWM_Start
PWM_Stop
_A_OCR1C 0000004B -
ABSOLUTE
Relative segment
DATA 0000004A - 0000004A
Segment part 6.
Intra module refs   PWM_Start
PWM_Stop
_A_OCR1D 0000004A -
ABSOLUTE
Relative segment
DATA 00000049 - 00000049
Segment part 7.
Intra module refs   PWM_Start
PWM_Stop
_A_PLLCSR 00000049 -
ABSOLUTE
Relative segment
DATA 00000047 - 00000047
Segment part 8.
Intra module refs   PWM_Start
PWM_Stop
_A_TCCR1C 00000047 -
ABSOLUTE
Relative segment
DATA 00000046 - 00000046
Segment part 9.
Intra module refs   PWM_Start
PWM_Stop
_A_TCCR1D 00000046 -
ABSOLUTE
Relative segment
DATA 00000044 - 00000044
Segment part 10.
Intra module refs   PWM_Start
PWM_Stop
_A_DT1 00000044 -
ABSOLUTE
Relative segment
DATA 00000037 - 00000037
Segment part 11.
Intra module refs   Initialize (statefunc)
PWM_Start
SPI_Init (USI)
_A_DDRB 00000037 -
ABSOLUTE
Relative segment
DATA 00000020 - 00000020
Segment part 12.
Intra module refs   PWM_Start
_A_TCCR1E 00000020 -
CODE
Relative segment
CODE 0000072A - 0000074F
Segment part 19.
PWM_Stop
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
0000072A Charge (NIMHcharge)
Error (statefunc)
HaltNow (chargefunc)
JumperCheck (statefunc)
CODE
Relative segment
CODE 00000750 - 000007A9
Segment part 20.
PWM_Start
calls direct
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
00000750 Charge (NIMHcharge)
JumperCheck (statefunc)
CODE
Relative segment
CODE 000007AA - 000007BD
Segment part 21.
PWM_IncrementDutyCycle
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
000007AA ConstantCurrent (chargefunc)
JumperCheck (statefunc)
CODE
Relative segment
CODE 000007BE - 000007D1
Segment part 22.
PWM_DecrementDutyCycle
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
000007BE ConstantCurrent (chargefunc)
C:\home\kevin\pub\src\bc100_cal\IAR\Debug\Obj\USI.r90 USI
Program module
ABSOLUTE
Relative segment
DATA 00000038 - 00000038
Segment part 1.
Intra module refs   DisableBatteries (battery)
EnableBattery (battery)
SPI_Init
_A_PORTB 00000038 -
ABSOLUTE
Relative segment
DATA 0000002F - 0000002F
Segment part 3.
Intra module refs   SPI_Put
USI_OVF_ISR
_A_USIDR 0000002F -
ABSOLUTE
Relative segment
DATA 0000002E - 0000002E
Segment part 4.
Intra module refs   SPI_Put
USI_OVF_ISR
_A_USISR 0000002E -
ABSOLUTE
Relative segment
DATA 0000002D - 0000002D
Segment part 5.
Intra module refs   SPI_Init
_A_USICR 0000002D -
NEAR_Z
Relative segment
DATA 0000015D - 00000160
Segment part 13.
Intra module refs   SPI_Init
SPI_Put
USI_OVF_ISR
SPI 0000015D -
CODE
Relative segment
CODE 000007D2 - 000009E7
Segment part 15.
Intra module refs   USI_OVF_ISR::??INTVEC 16
USI_OVF_ISR
interrupt function
calls direct
stack 1 = 00000000 ( 00000011 )
stack 2 = 00000000 ( 00000004 )
000007D2 -
CODE
Relative segment
CODE 000009E8 - 00000A4F
Segment part 16.
SPI_Init
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
000009E8 Initialize (statefunc)
CODE
Relative segment
CODE 00000A50 - 00000A81
Segment part 17.
Intra module refs   USI_OVF_ISR
SPI_Put
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
00000A50 -
INTVEC
Common segment
CODE 00000000 - 00000011
Segment part 10. ROOT.
USI_OVF_ISR::??INTVEC 16 00000010 -
C:\home\kevin\pub\src\bc100_cal\IAR\Debug\Obj\battery.r90 battery
Program module
EEPROM_I
Relative segment
XDATA 00000001 - 00000002
Segment part 9.
BattControl 00000001 BatteryControl (statefunc)
Charge (NIMHcharge)
ConstantCurrent (chargefunc)
Error (statefunc)
HaltNow (chargefunc)
USI_OVF_ISR (USI)
NEAR_Z
Relative segment
DATA 00000161 - 0000016C
Segment part 10.
Intra module refs   BatteryCheck
BatteryDataRefresh
BatteryStatusRefresh
NTCLookUp
RIDLookUp
BattData 00000161 BatteryControl (statefunc)
Charge (NIMHcharge)
Error (statefunc)
HaltNow (chargefunc)
Sleep (statefunc)
USI_OVF_ISR (USI)
EEPROM_I
Relative segment
XDATA 00000003 - 00000082
Segment part 12.
Intra module refs   BatteryDataRefresh
BattEEPROM 00000003 Initialize (statefunc)
NEAR_Z
Relative segment
DATA 0000016D - 0000016D
Segment part 13.
Intra module refs   EnableBattery
BattActive 0000016D Charge (NIMHcharge)
ConstantCurrent (chargefunc)
Error (statefunc)
HaltNow (chargefunc)
Initialize (statefunc)
USI_OVF_ISR (USI)
NEAR_I
Relative segment
DATA 000000D0 - 00000107
Segment part 14.
Intra module refs   RIDLookUp
RID 000000D0 -
NEAR_I
Relative segment
DATA 00000108 - 00000143
Segment part 17.
Intra module refs   NTCLookUp
NTC 00000108 -
CODE
Relative segment
CODE 00000A82 - 00000AAD
Segment part 19.
BatteryCheck
calls direct
stack 1 = 00000000 ( 00000004 )
stack 2 = 00000000 ( 00000002 )
00000A82 HaltNow (chargefunc)
CODE
Relative segment
CODE 00000AAE - 00000BA5
Segment part 20.
Intra module refs   BatteryCheck
BatteryStatusRefresh
calls direct
stack 1 = 00000000 ( 00000004 )
stack 2 = 00000000 ( 00000002 )
00000AAE BatteryControl (statefunc)
Initialize (statefunc)
Sleep (statefunc)
CODE
Relative segment
CODE 00000BA6 - 00000CBD
Segment part 21.
BatteryDataRefresh
calls direct
stack 1 = 00000000 ( 00000008 )
stack 2 = 00000000 ( 00000004 )
00000BA6 BatteryControl (statefunc)
CODE
Relative segment
CODE 00000CBE - 00000CFF
Segment part 22.
EnableBattery
calls direct
stack 1 = 00000000 ( 00000001 )
stack 2 = 00000000 ( 00000004 )
00000CBE BatteryControl (statefunc)
Initialize (statefunc)
Sleep (statefunc)
CODE
Relative segment
CODE 00000D00 - 00000D07
Segment part 23.
DisableBatteries
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
00000D00 BatteryControl (statefunc)
Error (statefunc)
Initialize (statefunc)
JumperCheck (statefunc)
Sleep (statefunc)
CODE
Relative segment
CODE 00000D08 - 00000E09
Segment part 24.
Intra module refs   BatteryStatusRefresh
RIDLookUp
stack 1 = 00000000 ( 00000004 )
stack 2 = 00000000 ( 00000004 )
00000D08 -
CODE
Relative segment
CODE 00000E0A - 00000EA9
Segment part 25.
Intra module refs   BatteryStatusRefresh
NTCLookUp
stack 1 = 00000000 ( 00000004 )
stack 2 = 00000000 ( 00000004 )
00000E0A -
NEAR_ID
Relative segment
CODE 0000186A - 000018A1
Segment part 15.
Intra module refs   RID
INITTAB
Relative segment
CODE 0000004A - 0000004F
Segment part 16.
Intra module refs   NTC
RID
?<Segment init: NEAR_I> 0000004A -
NEAR_ID
Relative segment
CODE 000018A2 - 000018DD
Segment part 18.
Intra module refs   NTC
C:\home\kevin\pub\src\bc100_cal\IAR\Debug\Obj\chargefunc.r90 chargefunc
Program module
NEAR_Z
Relative segment
DATA 0000016E - 00000172
Segment part 8.
Intra module refs   ConstantCurrent
HaltNow
ChargeParameters 0000016E Charge (NIMHcharge)
NEAR_Z
Relative segment
DATA 00000173 - 00000183
Segment part 10.
Intra module refs   HaltNow
HaltParameters 00000173 Charge (NIMHcharge)
CODE
Relative segment
CODE 00000EAA - 00000F5D
Segment part 11.
ConstantCurrent
calls direct
stack 1 = 00000000 ( 00000004 )
stack 2 = 00000000 ( 00000004 )
00000EAA Charge (NIMHcharge)
CODE
Relative segment
CODE 00000F5E - 0000115B
Segment part 13.
Intra module refs   ConstantCurrent
HaltNow
calls direct
stack 1 = 00000000 ( 00000004 )
stack 2 = 00000000 ( 00000004 )
00000F5E -
C:\home\kevin\pub\src\bc100_cal\IAR\Debug\Obj\main.r90 main
Program module
NEAR_Z
Relative segment
DATA 00000184 - 00000184
Segment part 7.
Intra module refs   main
CurrentState 00000184 Charge (NIMHcharge)
SetErrorFlag (statefunc)
CODE
Relative segment
CODE 0000115C - 00001237
Segment part 9.
main
calls indirect
stack 1 = 00000000 ( 00000007 )
stack 2 = 00000000 ( 00000004 )
0000115C ?cstartup_call_main (?C_STARTUP)
C:\home\kevin\pub\src\bc100_cal\IAR\Debug\Obj\menu.r90 menu
Program module
NEAR_F
Relative segment
CODE 00000026 - 00000043
Segment part 7.
menu_state 00000026 main (main)
C:\home\kevin\pub\src\bc100_cal\IAR\Debug\Obj\statefunc.r90 statefunc
Program module
ABSOLUTE
Relative segment
DATA 00000055 - 00000055
Segment part 1.
Intra module refs   Doze
_A_MCUCR 00000055 -
ABSOLUTE
Relative segment
DATA 00000054 - 00000054
Segment part 2.
Intra module refs   Doze
_A_MCUSR 00000054 -
ABSOLUTE
Relative segment
DATA 00000048 - 00000048
Segment part 3.
Intra module refs   Initialize
_A_CLKPR 00000048 -
ABSOLUTE
Relative segment
DATA 00000041 - 00000041
Segment part 4.
Intra module refs   Doze
_A_WDTCR 00000041 -
NEAR_Z
Relative segment
DATA 00000185 - 00000185
Segment part 13.
Intra module refs   Error
Initialize
SetErrorFlag
ErrorFlags 00000185 -
NEAR_Z
Relative segment
DATA 00000186 - 00000186
Segment part 15.
Intra module refs   SetErrorFlag
ErrorState 00000186 -
CODE
Relative segment
CODE 00001238 - 000012B1
Segment part 16.
Initialize
calls direct
stack 1 = 00000000 ( 00000004 )
stack 2 = 00000000 ( 00000004 )
00001238 menu_state (menu)
CODE
Relative segment
CODE 000012B2 - 0000131F
Segment part 17.
BatteryControl
calls direct
stack 1 = 00000000 ( 00000003 )
stack 2 = 00000000 ( 00000004 )
000012B2 menu_state (menu)
CODE
Relative segment
CODE 00001320 - 00001325
Segment part 18.
Discharge
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
00001320 menu_state (menu)
CODE
Relative segment
CODE 00001326 - 00001357
Segment part 19.
Sleep
calls direct
stack 1 = 00000000 ( 00000002 )
stack 2 = 00000000 ( 00000002 )
00001326 menu_state (menu)
CODE
Relative segment
CODE 00001358 - 000013AF
Segment part 20.
Intra module refs   Error
Sleep
Doze
calls direct
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
00001358 -
CODE
Relative segment
CODE 000013B0 - 0000147F
Segment part 21.
Error
calls direct
stack 1 = 00000000 ( 00000002 )
stack 2 = 00000000 ( 00000004 )
000013B0 menu_state (menu)
CODE
Relative segment
CODE 00001480 - 00001493
Segment part 22.
Intra module refs   BatteryControl
SetErrorFlag
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
00001480 ConstantCurrent (chargefunc)
HaltNow (chargefunc)
CODE
Relative segment
CODE 00001494 - 00001515
Segment part 23.
Intra module refs   BatteryControl
Error
JumperCheck
calls direct
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
00001494 -
C:\home\kevin\pub\src\bc100_cal\IAR\Debug\Obj\time.r90 time
Program module
ABSOLUTE
Relative segment
DATA 00000059 - 00000059
Segment part 1.
Intra module refs   Time_Init
_A_TIMSK 00000059 -
ABSOLUTE
Relative segment
DATA 00000053 - 00000053
Segment part 2.
Intra module refs   Time_Init
Time_Start
Time_Stop
_A_TCCR0B 00000053 -
ABSOLUTE
Relative segment
DATA 00000035 - 00000035
Segment part 3.
Intra module refs   Time_Init
_A_TCCR0A 00000035 -
ABSOLUTE
Relative segment
DATA 00000033 - 00000033
Segment part 4.
Intra module refs   Time_Init
_A_OCR0A 00000033 -
ABSOLUTE
Relative segment
DATA 00000032 - 00000032
Segment part 5.
Intra module refs   Time_Init
_A_OCR0B 00000032 -
NEAR_Z
Relative segment
DATA 00000187 - 00000196
Segment part 13.
Intra module refs   TICK_ISR
Time_Init
Time_Left
Time_Set
timeval 00000187 USI_OVF_ISR (USI)
CODE
Relative segment
CODE 00001516 - 0000159D
Segment part 15.
Intra module refs   TICK_ISR::??INTVEC 28
TICK_ISR
interrupt function
stack 1 = 00000000 ( 0000000B )
stack 2 = 00000000 ( 00000002 )
00001516 -
CODE
Relative segment
CODE 0000159E - 000015C9
Segment part 16.
Time_Left
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
0000159E EnableBattery (battery)
HaltNow (chargefunc)
JumperCheck (statefunc)
PWM_Start (PWM)
USI_OVF_ISR (USI)
CODE
Relative segment
CODE 000015CA - 0000166F
Segment part 17.
Time_Set
stack 1 = 00000000 ( 00000007 )
stack 2 = 00000000 ( 00000004 )
000015CA Charge (NIMHcharge)
EnableBattery (battery)
HaltNow (chargefunc)
JumperCheck (statefunc)
PWM_Start (PWM)
USI_OVF_ISR (USI)
CODE
Relative segment
CODE 00001670 - 00001675
Segment part 18.
Time_Stop
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
00001670 ConstantCurrent (chargefunc)
CODE
Relative segment
CODE 00001676 - 0000167B
Segment part 19.
Time_Start
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
00001676 ConstantCurrent (chargefunc)
CODE
Relative segment
CODE 0000167C - 000016C1
Segment part 20.
Time_Init
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
0000167C Initialize (statefunc)
INTVEC
Common segment
CODE 00000000 - 0000001D
Segment part 10. ROOT.
TICK_ISR::??INTVEC 28 0000001C -
C:\Program Files\IAR Systems\Embedded Workbench 4.0\avr\LIB\CLIB\cl1s-ec_nomul.r90 ?__exit
Library module
CODE
Relative segment
CODE 000016C2 - 000016C7
Segment part 0.
__exit 000016C4 -
?C_EXIT 000016C4 -
?C_FUNCALL 000016C2 -
_exit 000016C2 ?cstartup_call_main (?C_STARTUP)
exit 000016C2 ?cstartup_call_main (?C_STARTUP)
?abs
Library module
CODE
Relative segment
CODE 000016C8 - 000016D7
Segment part 3.
abs
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
000016C8 JumperCheck (statefunc)
?RESET
Library module
INTVEC
Common segment
CODE 00000000 - 00000001
Segment part 0. ROOT.
__program_start 00000000 Absolute parts (?ABS_ENTRY_MOD)
?RESET 00000000 Segment part 2 (?C_STARTUP)
?C_STARTUP
Library module
CODE
Relative segment
CODE 000016D8
Segment part 2.
?C_STARTUP 000016D8 Segment part 0 (?RESET)
__RESTART 000016D8 -
CODE
Relative segment
CODE 000016D8 - 000016E3
Segment part 5.
Intra module refs   Segment part 2
CODE
Relative segment
CODE 000016E4 - 000016E5
Segment part 7.
Intra module refs   Segment part 5
?call_low_level_init 000016E4 -
CODE
Relative segment
CODE 000016E6 - 000016EB
Segment part 8.
?need_segment_init 000016E6 ?<Segment init: NEAR_I> (battery)
?<Segment init: NEAR_Z> (ADC)
CODE
Relative segment
CODE 000016EC - 000016F1
Segment part 9.
Intra module refs   ?call_low_level_init
?cstartup_call_main 000016EC -
?EEPROM_16
Library module
CODE
Relative segment
CODE 000016F2 - 000016F7
Segment part 0.
Intra module refs   Segment part 1
__eeput8_16
CODE
Relative segment
CODE 000016F8 - 00001705
Segment part 1.
Intra module refs   __eeget8_16
CODE
Relative segment
CODE 00001706 - 0000170B
Segment part 3.
__eeget8_16 00001706 ADC_ISR (ADC)
BatteryControl (statefunc)
Charge (NIMHcharge)
ConstantCurrent (chargefunc)
Error (statefunc)
HaltNow (chargefunc)
USI_OVF_ISR (USI)
CODE
Relative segment
CODE 0000170C - 0000171D
Segment part 8.
Intra module refs   __eeput8_16
CODE
Relative segment
CODE 0000171E - 00001725
Segment part 10.
__eeput8_16 0000171E BatteryDataRefresh (battery)
HaltNow (chargefunc)
Initialize (statefunc)
USI_OVF_ISR (USI)
?S_MUL_L02
Library module
CODE
Relative segment
CODE 00001726 - 00001745
Segment part 0.
?S_MUL_L02 00001726 BatteryDataRefresh (battery)
HaltNow (chargefunc)
Initialize (statefunc)
NTCLookUp (battery)
RIDLookUp (battery)
ScaleI (ADC)
ScaleU (ADC)
main (main)
?S_SHL_L02
Library module
CODE
Relative segment
CODE 00001746 - 00001751
Segment part 0.
?S_SHL_L02 00001746 EnableBattery (battery)
?US_SHR_L02
Library module
CODE
Relative segment
CODE 00001752 - 0000175D
Segment part 0.
?US_SHR_L02 00001752 ScaleI (ADC)
ScaleU (ADC)
?US_DIVMOD_L02
Library module
CODE
Relative segment
CODE 0000175E - 00001785
Segment part 0.
?US_DIVMOD_L02 0000175E ?SS_DIVMOD_L02 (?SS_DIVMOD_L02)
Charge (NIMHcharge)
NTCLookUp (battery)
?SS_DIVMOD_L02
Library module
CODE
Relative segment
CODE 00001786 - 000017B3
Segment part 0.
?SS_DIVMOD_L02 0000178E ADC_ISR (ADC)
Charge (NIMHcharge)
Error (statefunc)
?L_MUL_L03
Library module
CODE
Relative segment
CODE 000017B4 - 000017E5
Segment part 0.
?L_MUL_L03 000017B4 Time_Set (time)
?PROLOGUE_L09
Library module
CODE
Relative segment
CODE 000017E6 - 000017E7
Segment part 8.
?PROLOGUE8_L09 000017E6 BatteryDataRefresh (battery)
CODE
Relative segment
CODE 000017E8 - 000017E9
Segment part 9.
Intra module refs   ?PROLOGUE8_L09
?PROLOGUE7_L09 000017E8 Time_Set (time)
main (main)
CODE
Relative segment
CODE 000017EA - 000017EB
Segment part 10.
Intra module refs   ?PROLOGUE7_L09
?PROLOGUE6_L09 000017EA ScaleI (ADC)
ScaleU (ADC)
CODE
Relative segment
CODE 000017EC - 000017ED
Segment part 11.
Intra module refs   ?PROLOGUE6_L09
?PROLOGUE5_L09 000017EC -
CODE
Relative segment
CODE 000017EE - 000017EF
Segment part 12.
Intra module refs   ?PROLOGUE5_L09
?PROLOGUE4_L09 000017EE BatteryCheck (battery)
BatteryStatusRefresh (battery)
ConstantCurrent (chargefunc)
HaltNow (chargefunc)
Initialize (statefunc)
NTCLookUp (battery)
OWI_SendByte (OWI)
RIDLookUp (battery)
CODE
Relative segment
CODE 000017F0 - 000017F1
Segment part 13.
Intra module refs   ?PROLOGUE4_L09
?PROLOGUE3_L09 000017F0 BatteryControl (statefunc)
OWI_ReceiveByte (OWI)
CODE
Relative segment
CODE 000017F2 - 000017F3
Segment part 14.
Intra module refs   ?PROLOGUE3_L09
?PROLOGUE2_L09 000017F2 Charge (NIMHcharge)
Error (statefunc)
Sleep (statefunc)
CODE
Relative segment
CODE 000017F4 - 000017F5
Segment part 15.
Intra module refs   ?PROLOGUE2_L09
?PROLOGUE1_L09 000017F4 -
CODE
Relative segment
CODE 000017F6 - 000017F7
Segment part 16.
Intra module refs   ?PROLOGUE1_L09
?EPILOGUE_B_L09
Library module
CODE
Relative segment
CODE 000017F8 - 000017F9
Segment part 8.
?EPILOGUE_B8_L09 000017F8 BatteryDataRefresh (battery)
CODE
Relative segment
CODE 000017FA - 000017FB
Segment part 9.
Intra module refs   ?EPILOGUE_B8_L09
?EPILOGUE_B7_L09 000017FA Time_Set (time)
CODE
Relative segment
CODE 000017FC - 000017FD
Segment part 10.
Intra module refs   ?EPILOGUE_B7_L09
?EPILOGUE_B6_L09 000017FC ScaleI (ADC)
ScaleU (ADC)
CODE
Relative segment
CODE 000017FE - 000017FF
Segment part 11.
Intra module refs   ?EPILOGUE_B6_L09
?EPILOGUE_B5_L09 000017FE -
CODE
Relative segment
CODE 00001800 - 00001801
Segment part 12.
Intra module refs   ?EPILOGUE_B5_L09
?EPILOGUE_B4_L09 00001800 BatteryCheck (battery)
BatteryStatusRefresh (battery)
ConstantCurrent (chargefunc)
HaltNow (chargefunc)
Initialize (statefunc)
NTCLookUp (battery)
OWI_SendByte (OWI)
RIDLookUp (battery)
CODE
Relative segment
CODE 00001802 - 00001803
Segment part 13.
Intra module refs   ?EPILOGUE_B4_L09
?EPILOGUE_B3_L09 00001802 BatteryControl (statefunc)
OWI_ReceiveByte (OWI)
CODE
Relative segment
CODE 00001804 - 00001805
Segment part 14.
Intra module refs   ?EPILOGUE_B3_L09
?EPILOGUE_B2_L09 00001804 Charge (NIMHcharge)
Error (statefunc)
Sleep (statefunc)
CODE
Relative segment
CODE 00001806 - 00001807
Segment part 15.
Intra module refs   ?EPILOGUE_B2_L09
?EPILOGUE_B1_L09 00001806 -
CODE
Relative segment
CODE 00001808 - 00001815
Segment part 16.
Intra module refs   ?EPILOGUE_B1_L09
?EPILOGUE_B0_L09 00001808 -
?REGISTER_CGREGR4_L10
Library module
CODE
Relative segment
CODE 00001816
Segment part 0.
?Register_R4_is_cg_reg 00001816 ADC_ISR (ADC)
BatteryDataRefresh (battery)
ScaleI (ADC)
ScaleU (ADC)
Time_Set (time)
main (main)
?REGISTER_CGREGR5_L10
Library module
CODE
Relative segment
CODE 00001816
Segment part 0.
?Register_R5_is_cg_reg 00001816 ADC_ISR (ADC)
BatteryDataRefresh (battery)
ScaleI (ADC)
ScaleU (ADC)
Time_Set (time)
main (main)
?REGISTER_CGREGR6_L10
Library module
CODE
Relative segment
CODE 00001816
Segment part 0.
?Register_R6_is_cg_reg 00001816 BatteryDataRefresh (battery)
Time_Set (time)
main (main)
?REGISTER_CGREGR7_L10
Library module
CODE
Relative segment
CODE 00001816
Segment part 0.
?Register_R7_is_cg_reg 00001816 BatteryDataRefresh (battery)
?low_level_init
Library module
CODE
Relative segment
CODE 00001816 - 00001819
Segment part 3.
__low_level_init
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
00001816 ?call_low_level_init (?C_STARTUP)
?segment_init
Library module
CODE
Relative segment
CODE 0000181A - 00001821
Segment part 3.
Intra module refs   __segment_init
__memclr
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
0000181A
CODE
Relative segment
CODE 00001822 - 00001829
Segment part 4.
Intra module refs   __segment_init
__flashcpy
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
00001822
CODE
Relative segment
CODE 0000182A - 00001835
Segment part 5.
Intra module refs   __flashcpy
__memclr
CODE
Relative segment
CODE 00001836 - 00001869
Segment part 6.
__segment_init
calls direct
stack 1 = 00000000 ( 00000000 )
stack 2 = 00000000 ( 00000002 )
00001836 ?need_segment_init (?C_STARTUP)
?FILLER_BYTES
Program module
INTVEC
Common segment
CODE 00000000 - 0000001D
Segment part 1.
?FILL1
Relative segment
CODE 0000001E - 00000025
Segment part 0.


Module Summary

Module CODE DATA XDATA
  (Rel) (Rel) (Abs) (Rel)
?C_STARTUP 26      
?EEPROM_16 52      
?EPILOGUE_B_L09 30      
?FILLER_BYTES
  + common
8
30
     
?L_MUL_L03 50      
?PROLOGUE_L09 18      
?RESET
  + common

2
     
?SS_DIVMOD_L02 46      
?S_MUL_L02 32      
?S_SHL_L02 12      
?US_DIVMOD_L02 40      
?US_SHR_L02 12      
?__exit 6      
?abs 16      
?low_level_init 4      
?segment_init 80      
ADC
  + shared
  + common
946
6
24
25 4
3
1
NIMHcharge 356      
OWI 452   1  
PWM
  + shared
168   10
2
 
USI
  + shared
  + common
688
18
4 3
1
 
battery 1 186 129   130
chargefunc 690 22    
main 220 1    
menu 30      
statefunc 734 2 4  
time
  + common
428
30
16 5  
N/A (command line)   112    
N/A (alignment)        
Total:
  + common
6 336
30
311 33 131


Call Graph
Sub-tree of type: Interrupt function tree that does not make
indirect calls
Level Function Stack prev Stack locally
CSTACK RSTACK CSTACK RSTACK
Before 0 0
2     ScaleI * 0 0 6 4
2     ScaleI (to first) 0 0 6 4
2     ScaleU * 0 0 6 4
2     ScaleU (to first) 0 0 6 4
1   ADC_ISR * 6 4 14 2
After 1A 6
Sub-tree of type: Interrupt function tree that does not make
indirect calls
Level Function Stack prev Stack locally
CSTACK RSTACK CSTACK RSTACK
Before 1A 6
2     Time_Set * 1A 6 7 4
2     Time_Left * 1A 6 0 2
2     SPI_Put * 1A 6 0 2
2     SPI_Put (to first) 1A 6 0 2
2     SPI_Put (to first) 1A 6 0 2
2     SPI_Put (to first) 1A 6 0 2
2     SPI_Put (to first) 1A 6 0 2
2     SPI_Put (to first) 1A 6 0 2
2     SPI_Put (to first) 1A 6 0 2
2     SPI_Put (to first) 1A 6 0 2
1   USI_OVF_ISR * 21 A 11 2
After 32 C
Sub-tree of type: Interrupt function tree that does not make
indirect calls
Level Function Stack prev Stack locally
CSTACK RSTACK CSTACK RSTACK
Before 32 C
1   TICK_ISR * 32 C B 2
After 3D E
Sub-tree of type: Indirectly called function tree that does not make
indirect calls (Is not an interrupt and is not flagged
as not overlayable)
Level Function Stack prev Stack locally
CSTACK RSTACK CSTACK RSTACK
Before 3D E
2     Time_Set (to first) 1A 6 7 4
3       Time_Start * 3D E 0 2
3       Time_Stop * 3D E 0 2
3       SetErrorFlag * 3D E 0 2
4         Time_Set (to first) 1A 6 7 4
4         Time_Left (to first) 1A 6 0 2
4         SetErrorFlag (to first) 3D E 0 2
6             NTCLookUp * 3D E 4 4
6             RIDLookUp * 3D E 4 4
5           BatteryStatusRefresh * 41 12 4 2
4         BatteryCheck * 45 14 4 2
4         PWM_Stop * 3D E 0 2
4         ADC_Wait * 3D E 0 2
3       HaltNow * 49 16 4 2
3       PWM_DecrementDutyCycle * 3D E 0 2
3       PWM_IncrementDutyCycle * 3D E 0 2
3       ADC_Wait (to first) 3D E 0 2
2     ConstantCurrent * 4D 18 4 2
3       Time_Set (to first) 1A 6 7 4
3       Time_Left (to first) 1A 6 0 2
2     PWM_Start * 3D E 0 2
2     PWM_Stop (to first) 3D E 0 2
1   Charge * 51 1A 2 2
After 53 1C
Sub-tree of type: Indirectly called function tree that does not make
indirect calls (Is not an interrupt and is not flagged
as not overlayable)
Level Function Stack prev Stack locally
CSTACK RSTACK CSTACK RSTACK
Before 3D E
2     Time_Init * 3D E 0 2
2     DisableBatteries * 3D E 0 2
3       Time_Set (to first) 1A 6 7 4
3       Time_Left (to first) 1A 6 0 2
2     EnableBattery * 3D E 1 4
2     BatteryStatusRefresh (to first) 41 12 4 2
2     SPI_Init * 3D E 0 2
2     OWI_Init * 3D E 0 2
3       ADC_Wait (to first) 3D E 0 2
2     ADC_Init * 3D 10 1 2
2     ADC_Wait (to first) 3D E 0 2
1   Initialize * 45 14 4 2
After 49 16
Sub-tree of type: Indirectly called function tree that does not make
indirect calls (Is not an interrupt and is not flagged
as not overlayable)
Level Function Stack prev Stack locally
CSTACK RSTACK CSTACK RSTACK
Before 3D E
3       abs * 3D E 0 2
3       Time_Set (to first) 1A 6 7 4
3       Time_Left (to first) 1A 6 0 2
3       DisableBatteries (to first) 3D E 0 2
3       PWM_IncrementDutyCycle (to first) 3D E 0 2
3       PWM_Start (to first) 3D E 0 2
3       PWM_Stop (to first) 3D E 0 2
3       ADC_Wait (to first) 3D E 0 2
2     JumperCheck * 3D 10 0 2
2     SetErrorFlag (to first) 3D E 0 2
2     DisableBatteries (to first) 3D E 0 2
2     EnableBattery (to first) 3D E 1 4
3       OWI_ComputeCRC8 * 3D E 0 2
4         OWI_ReadBit * 3D E 0 2
3       OWI_ReceiveByte * 3D 10 3 2
4         OWI_WriteBit0 * 3D E 0 2
4         OWI_WriteBit1 * 3D E 0 2
3       OWI_SendByte * 3D 10 4 2
3       OWI_DetectPresence * 3D E 0 2
2     BatteryDataRefresh * 41 12 8 2
2     BatteryStatusRefresh (to first) 41 12 4 2
2     ADC_Wait (to first) 3D E 0 2
1   BatteryControl * 49 14 3 2
After 4C 16
Sub-tree of type: Indirectly called function tree that does not make
indirect calls (Is not an interrupt and is not flagged
as not overlayable)
Level Function Stack prev Stack locally
CSTACK RSTACK CSTACK RSTACK
Before 3D E
1   Discharge * 3D E 0 2
After 3D 10
Sub-tree of type: Indirectly called function tree that does not make
indirect calls (Is not an interrupt and is not flagged
as not overlayable)
Level Function Stack prev Stack locally
CSTACK RSTACK CSTACK RSTACK
Before 3D E
3       ADC_Wait (to first) 3D E 0 2
2     Doze * 3D 10 0 2
2     DisableBatteries (to first) 3D E 0 2
2     EnableBattery (to first) 3D E 1 4
2     BatteryStatusRefresh (to first) 41 12 4 2
2     ADC_Wait (to first) 3D E 0 2
1   Sleep * 45 14 2 2
After 47 16
Sub-tree of type: Indirectly called function tree that does not make
indirect calls (Is not an interrupt and is not flagged
as not overlayable)
Level Function Stack prev Stack locally
CSTACK RSTACK CSTACK RSTACK
Before 3D E
2     JumperCheck (to first) 3D 10 0 2
2     Doze (to first) 3D 10 0 2
2     DisableBatteries (to first) 3D E 0 2
2     PWM_Stop (to first) 3D E 0 2
1   Error * 3D 12 2 2
After 3F 14
Sub-tree of type: Function tree that makes indirect calls
Level Function Stack prev Stack locally
CSTACK RSTACK CSTACK RSTACK
Before 53 1C
1   main * 53 1C 7 4
After 5A 20
Sub-tree of type: Function tree
Level Function Stack prev Stack locally
CSTACK RSTACK CSTACK RSTACK
Before 5A 20
1   __low_level_init * 5A 20 0 2
After 5A 22
Sub-tree of type: Function tree
Level Function Stack prev Stack locally
CSTACK RSTACK CSTACK RSTACK
Before 5A 22
2     __flashcpy * 5A 22 0 2
2     __memclr * 5A 22 0 2
1   __segment_init * 5A 24 0 2
After 5A 26


Segments in Address Order
Segment Space Start End Size Kind Align
INTVEC CODE 00000000 - 0000001D 1E Common 1
?FILL1 CODE 0000001E - 00000025 8 Relative 0
NEAR_F CODE 00000026 - 00000043 1E Relative 0
INITTAB CODE 00000044 - 0000004F C Relative 0
CODE CODE 00000050 - 00001869 181A Relative 1
NEAR_ID CODE 0000186A - 000018DD 74 Relative 0
ABSOLUTE DATA 0000001C Relative 0
0000001D
0000001E
0000001F
00000020 - 00000020 1
00000023 - 00000027 5
0000002D - 0000002F 3
00000032 - 00000033 2
00000035 - 00000035 1
00000037 - 0000003B 5
00000041 - 00000041 1
00000044 - 00000044 1
00000046 - 0000004D 8
0000004F - 00000050 2
00000053 - 00000055 3
00000059 - 00000059 1
CSTACK DATA 00000060 - 0000009F 40 Predefined 0
RSTACK DATA 000000A0 - 000000CF 30 Predefined 0
NEAR_I DATA 000000D0 - 00000143 74 Relative 0
NEAR_Z DATA 00000144 - 00000196 53 Relative 0
EEPROM_I XDATA 00000000 - 00000082 83 Relative 0


6 358 bytes of CODE memory (+     8 range fill )
311 bytes of DATA memory (+ 33 absolute )
131 bytes of XDATA memory
Errors: none Warnings: none