   1              		.file	"watchdog.cpp"
   9              	.Ltext0:
  10              		.section	.text._ZN6TIMERS10regAddressENS_9RegistersE,"axG",%progbits,_ZN6TIMERS10regAddressENS_9Re
  11              		.align	2
  12              		.weak	_ZN6TIMERS10regAddressENS_9RegistersE
  14              	_ZN6TIMERS10regAddressENS_9RegistersE:
  15              	.LFB2:
  16              		.file 1 "timer_registers.h"
   1:timer_registers.h **** #ifndef __TIMER_REGISTERS_H__
   2:timer_registers.h **** #define __TIMER_REGISTERS_H__
   3:timer_registers.h **** 
   4:timer_registers.h **** #include <stdint.h>
   5:timer_registers.h **** #include "platform.h"
   6:timer_registers.h **** 
   7:timer_registers.h **** namespace TIMERS
   8:timer_registers.h **** {
   9:timer_registers.h **** 	static const uint32_t BaseAddress = (KS8695PX_IO_BASE + KS8695PX_TIMER_OFFSET);
  10:timer_registers.h **** 	
  11:timer_registers.h **** 	enum Registers
  12:timer_registers.h **** 	{
  13:timer_registers.h **** 		TMCON	= 0x0000,	// 0x00	- Timer Control Register (rw)
  14:timer_registers.h **** 		T1TC	= 0x0004,	// 0x04	- Timer 1 Timeout Count Register (rw)
  15:timer_registers.h **** 		T0TC	= 0x0008,	// 0x08	- Timer 0 Timeout Count Register (rw)
  16:timer_registers.h **** 		T1PD	= 0x000C,	// 0x0c	- Timer 1 Pulse Count Register (rw)
  17:timer_registers.h **** 		T0PD	= 0x0010	// 0x10	- Timer 0 Pulse Count Register (rw)
  18:timer_registers.h **** 	};
  19:timer_registers.h **** 	
  20:timer_registers.h **** 	inline volatile uint32_t *regAddress(Registers reg)
  17              	args = 0, pretend = 0, frame = 4
  18              		@ frame_needed = 1, uses_anonymous_args = 0
  19              		mov	ip, sp
  20 0000 0DC0A0E1 	.LCFI0:
  21              		stmfd	sp!, {fp, ip, lr, pc}
  22 0004 00D82DE9 	.LCFI1:
  23              		sub	fp, ip, #4
  24 0008 04B04CE2 	.LCFI2:
  25              		sub	sp, sp, #4
  26 000c 04D04DE2 	.LCFI3:
  27              		str	r0, [fp, #-16]
  28 0010 10000BE5 		.loc 1 22 0
  21:timer_registers.h **** 	{
  22:timer_registers.h **** 	    return reinterpret_cast<volatile uint32_t*>(BaseAddress + reg);
  29              	, #-16]
  30 0014 10301BE5 		add	r3, r3, #66846720
  31 0018 FF3783E2 		add	r3, r3, #254976
  32 001c F93B83E2 		.loc 1 23 0
  23:timer_registers.h **** 	}
  33              		r0, r3
  34 0020 0300A0E1 		ldmfd	sp, {r3, fp, sp, pc}
  35 0024 08A89DE8 	.LFE2:
  37              		.section	.text._ZN6TIMERS7regReadENS_9RegistersE,"axG",%progbits,_ZN6TIMERS7regReadENS_9RegistersE
  38              		.align	2
  39              		.weak	_ZN6TIMERS7regReadENS_9RegistersE
  41              	_ZN6TIMERS7regReadENS_9RegistersE:
  42              	.LFB3:
  43              		.loc 1 25 0
  24:timer_registers.h **** 	
  25:timer_registers.h **** 	inline uint32_t regRead(Registers reg)
  44              	, pretend = 0, frame = 4
  45              		@ frame_needed = 1, uses_anonymous_args = 0
  46              		mov	ip, sp
  47 0000 0DC0A0E1 	.LCFI4:
  48              		stmfd	sp!, {fp, ip, lr, pc}
  49 0004 00D82DE9 	.LCFI5:
  50              		sub	fp, ip, #4
  51 0008 04B04CE2 	.LCFI6:
  52              		sub	sp, sp, #4
  53 000c 04D04DE2 	.LCFI7:
  54              		str	r0, [fp, #-16]
  55 0010 10000BE5 		.loc 1 27 0
  26:timer_registers.h **** 	{
  27:timer_registers.h **** 	    return *regAddress(reg);
  56              	, #-16]
  57 0014 10001BE5 		ldr	r3, .L5
  58 0018 14309FE5 		mov	lr, pc
  59 001c 0FE0A0E1 		bx	r3
  60 0020 13FF2FE1 		mov	r3, r0
  61 0024 0030A0E1 		ldr	r3, [r3, #0]
  62 0028 003093E5 		.loc 1 28 0
  28:timer_registers.h **** 	}
  63              	, r3
  64 002c 0300A0E1 		ldmfd	sp, {r3, fp, sp, pc}
  65 0030 08A89DE8 	.L6:
  66              		.align	2
  67              	.L5:
  68              		.word	_ZN6TIMERS10regAddressENS_9RegistersE
  69 0034 00000000 	.LFE3:
  71              		.section	.text._ZN6TIMERS8regWriteENS_9RegistersEm,"axG",%progbits,_ZN6TIMERS8regWriteENS_9Registe
  72              		.align	2
  73              		.weak	_ZN6TIMERS8regWriteENS_9RegistersEm
  75              	_ZN6TIMERS8regWriteENS_9RegistersEm:
  76              	.LFB4:
  77              		.loc 1 30 0
  29:timer_registers.h **** 	
  30:timer_registers.h **** 	inline void regWrite(Registers reg, uint32_t value)
  78              	etend = 0, frame = 8
  79              		@ frame_needed = 1, uses_anonymous_args = 0
  80              		mov	ip, sp
  81 0000 0DC0A0E1 	.LCFI8:
  82              		stmfd	sp!, {fp, ip, lr, pc}
  83 0004 00D82DE9 	.LCFI9:
  84              		sub	fp, ip, #4
  85 0008 04B04CE2 	.LCFI10:
  86              		sub	sp, sp, #8
  87 000c 08D04DE2 	.LCFI11:
  88              		str	r0, [fp, #-16]
  89 0010 10000BE5 		str	r1, [fp, #-20]
  90 0014 14100BE5 		.loc 1 32 0
  31:timer_registers.h **** 	{
  32:timer_registers.h **** 	    *regAddress(reg) = value;
  91              	 #-16]
  92 0018 10001BE5 		ldr	r3, .L9
  93 001c 18309FE5 		mov	lr, pc
  94 0020 0FE0A0E1 		bx	r3
  95 0024 13FF2FE1 		mov	r2, r0
  96 0028 0020A0E1 		ldr	r3, [fp, #-20]
  97 002c 14301BE5 		str	r3, [r2, #0]
  98 0030 003082E5 		.loc 1 33 0
  33:timer_registers.h **** 	}
  99              	 fp, #12
 100 0034 0CD04BE2 		ldmfd	sp, {fp, sp, pc}
 101 0038 00A89DE8 	.L10:
 102              		.align	2
 103              	.L9:
 104              		.word	_ZN6TIMERS10regAddressENS_9RegistersE
 105 003c 00000000 	.LFE4:
 107              		.text
 108              		.align	2
 109              		.global	_ZN8Watchdog10InitializeEv
 111              	_ZN8Watchdog10InitializeEv:
 112              	.LFB5:
 113              		.file 2 "watchdog.cpp"
 114              		.loc 2 7 0
   1:watchdog.cpp  **** #include "watchdog.h"
   2:watchdog.cpp  **** #include "timer_registers.h"
   3:watchdog.cpp  **** 
   4:watchdog.cpp  **** const uint32_t Timer_0_Enable				= (1 << 0);
   5:watchdog.cpp  **** const uint32_t Timer_0_WatchdogEnableMask 	= 0xFF; 
   6:watchdog.cpp  **** 
   7:watchdog.cpp  **** void Watchdog::Initialize(void)
 115              	tend = 0, frame = 0
 116              		@ frame_needed = 1, uses_anonymous_args = 0
 117              		mov	ip, sp
 118 0000 0DC0A0E1 	.LCFI12:
 119              		stmfd	sp!, {fp, ip, lr, pc}
 120 0004 00D82DE9 	.LCFI13:
 121              		sub	fp, ip, #4
 122 0008 04B04CE2 	.LCFI14:
 123              		.loc 2 9 0
   8:watchdog.cpp  **** {
   9:watchdog.cpp  **** 	regWrite(TIMERS::TMCON, (regRead(TIMERS::TMCON) & ~Timer_0_Enable));
 124              	#0
 125 000c 0000A0E3 		ldr	r3, .L13
 126 0010 4C309FE5 		mov	lr, pc
 127 0014 0FE0A0E1 		bx	r3
 128 0018 13FF2FE1 		mov	r3, r0
 129 001c 0030A0E1 		bic	r3, r3, #1
 130 0020 0130C3E3 		mov	r0, #0
 131 0024 0000A0E3 		mov	r1, r3
 132 0028 0310A0E1 		ldr	r3, .L13+4
 133 002c 34309FE5 		mov	lr, pc
 134 0030 0FE0A0E1 		bx	r3
 135 0034 13FF2FE1 		.loc 2 10 0
  10:watchdog.cpp  **** 	regWrite(TIMERS::T0TC, 1);
 136              		mov	r1, #1
 137 0038 0800A0E3 		ldr	r3, .L13+4
 138 003c 0110A0E3 		mov	lr, pc
 139 0040 20309FE5 		bx	r3
 140 0044 0FE0A0E1 		.loc 2 11 0
 141 0048 13FF2FE1 		mov	r0, #16
  11:watchdog.cpp  **** 	regWrite(TIMERS::T0PD, 0);
 142              	1, #0
 143 004c 1000A0E3 		ldr	r3, .L13+4
 144 0050 0010A0E3 		mov	lr, pc
 145 0054 0C309FE5 		bx	r3
 146 0058 0FE0A0E1 		.loc 2 12 0
 147 005c 13FF2FE1 		ldmfd	sp, {fp, sp, pc}
  12:watchdog.cpp  **** }
 148              		.align	2
 149 0060 00A89DE8 	.L13:
 150              		.word	_ZN6TIMERS7regReadENS_9RegistersE
 151              		.word	_ZN6TIMERS8regWriteENS_9RegistersEm
 152              	.LFE5:
 154 0068 00000000 		.align	2
 155              		.global	_ZN8Watchdog11DrugEmDannoEm
 157              	_ZN8Watchdog11DrugEmDannoEm:
 158              	.LFB6:
 159              		.loc 2 14 0
 160              		@ args = 0, pretend = 0, frame = 8
 161              		@ frame_needed = 1, uses_anonymous_args = 0
  13:watchdog.cpp  **** 
  14:watchdog.cpp  **** void Watchdog::DrugEmDanno(uint32_t timeoutIntervalInSeconds)
 162              	CFI15:
 163              		stmfd	sp!, {fp, ip, lr, pc}
 164              	.LCFI16:
 165 006c 0DC0A0E1 		sub	fp, ip, #4
 166              	.LCFI17:
 167 0070 00D82DE9 		sub	sp, sp, #8
 168              	.LCFI18:
 169 0074 04B04CE2 		str	r0, [fp, #-20]
 170              	.LBB2:
 171 0078 08D04DE2 		.loc 2 16 0
 172              		mov	r0, #0
 173 007c 14000BE5 		ldr	r3, .L17
 174              		mov	lr, pc
  15:watchdog.cpp  **** {
  16:watchdog.cpp  **** 	regWrite(TIMERS::TMCON, (regRead(TIMERS::TMCON) & ~Timer_0_Enable));
 175              	3, r0
 176 0080 0000A0E3 		bic	r3, r3, #1
 177 0084 BC309FE5 		mov	r0, #0
 178 0088 0FE0A0E1 		mov	r1, r3
 179 008c 13FF2FE1 		ldr	r3, .L17+4
 180 0090 0030A0E1 		mov	lr, pc
 181 0094 0130C3E3 		bx	r3
 182 0098 0000A0E3 		.loc 2 17 0
 183 009c 0310A0E1 		ldr	r1, [fp, #-20]
 184 00a0 A4309FE5 		mov	r2, r1
 185 00a4 0FE0A0E1 		mov	r2, r2, asl #5
 186 00a8 13FF2FE1 		rsb	r2, r1, r2
  17:watchdog.cpp  **** 	uint32_t timeoutIntervalInTicks = timeoutIntervalInSeconds * TicksPerSecond;
 187              	 asl #6
 188 00ac 14101BE5 		rsb	r3, r2, r3
 189 00b0 0120A0E1 		mov	r3, r3, asl #3
 190 00b4 8222A0E1 		add	r3, r3, r1
 191 00b8 022061E0 		mov	r2, r3, asl #2
 192 00bc 0233A0E1 		add	r3, r3, r2
 193 00c0 033062E0 		mov	r2, r3, asl #2
 194 00c4 8331A0E1 		add	r3, r3, r2
 195 00c8 013083E0 		mov	r3, r3, asl #6
 196 00cc 0321A0E1 		str	r3, [fp, #-16]
 197 00d0 023083E0 		.loc 2 18 0
 198 00d4 0321A0E1 		ldr	r3, [fp, #-16]
 199 00d8 023083E0 		orr	r3, r3, #255
 200 00dc 0333A0E1 		mov	r0, #8
 201 00e0 10300BE5 		mov	r1, r3
  18:watchdog.cpp  **** 	regWrite(TIMERS::T0TC, (timeoutIntervalInTicks | Timer_0_WatchdogEnableMask));
 202              	
 203 00e4 10301BE5 		mov	lr, pc
 204 00e8 FF3083E3 		bx	r3
 205 00ec 0800A0E3 		.loc 2 19 0
 206 00f0 0310A0E1 		mov	r0, #16
 207 00f4 50309FE5 		mov	r1, #0
 208 00f8 0FE0A0E1 		ldr	r3, .L17+4
 209 00fc 13FF2FE1 		mov	lr, pc
  19:watchdog.cpp  **** 	regWrite(TIMERS::T0PD, 0);
 210              		.loc 2 20 0
 211 0100 1000A0E3 		mov	r0, #0
 212 0104 0010A0E3 		ldr	r3, .L17
 213 0108 3C309FE5 		mov	lr, pc
 214 010c 0FE0A0E1 		bx	r3
 215 0110 13FF2FE1 		mov	r3, r0
  20:watchdog.cpp  **** 	regWrite(TIMERS::TMCON, (regRead(TIMERS::TMCON) |  Timer_0_Enable));
 216              	3, r3, #1
 217 0114 0000A0E3 		mov	r0, #0
 218 0118 28309FE5 		mov	r1, r3
 219 011c 0FE0A0E1 		ldr	r3, .L17+4
 220 0120 13FF2FE1 		mov	lr, pc
 221 0124 0030A0E1 		bx	r3
 222 0128 013083E3 	.LBE2:
 223 012c 0000A0E3 		.loc 2 21 0
 224 0130 0310A0E1 		sub	sp, fp, #12
 225 0134 10309FE5 		ldmfd	sp, {fp, sp, pc}
 226 0138 0FE0A0E1 	.L18:
 227 013c 13FF2FE1 		.align	2
 228              	.L17:
  21:watchdog.cpp  **** }
 229              	MERS7regReadENS_9RegistersE
 230 0140 0CD04BE2 		.word	_ZN6TIMERS8regWriteENS_9RegistersEm
 231 0144 00A89DE8 	.LFE6:
 233              		.section	.debug_frame,"",%progbits
 234              	.Lframe0:
 235 0148 00000000 		.4byte	.LECIE0-.LSCIE0
 236 014c 00000000 	.LSCIE0:
 237              		.4byte	0xffffffff
 238              		.byte	0x1
 384              		.2byte	0x1
DEFINED SYMBOLS
                            *ABS*:00000000 watchdog.cpp
C:\DOCUME~1\RAWA~1.LAG\LOCALS~1\Temp/ccA5daaa.s:14     .text._ZN6TIMERS10regAddressENS_9RegistersE:00000000 _ZN6TIMERS10regAddressENS_9RegistersE
C:\DOCUME~1\RAWA~1.LAG\LOCALS~1\Temp/ccA5daaa.s:20     .text._ZN6TIMERS10regAddressENS_9RegistersE:00000000 $a
C:\DOCUME~1\RAWA~1.LAG\LOCALS~1\Temp/ccA5daaa.s:42     .text._ZN6TIMERS7regReadENS_9RegistersE:00000000 _ZN6TIMERS7regReadENS_9RegistersE
C:\DOCUME~1\RAWA~1.LAG\LOCALS~1\Temp/ccA5daaa.s:47     .text._ZN6TIMERS7regReadENS_9RegistersE:00000000 $a
C:\DOCUME~1\RAWA~1.LAG\LOCALS~1\Temp/ccA5daaa.s:69     .text._ZN6TIMERS7regReadENS_9RegistersE:00000034 $d
C:\DOCUME~1\RAWA~1.LAG\LOCALS~1\Temp/ccA5daaa.s:76     .text._ZN6TIMERS8regWriteENS_9RegistersEm:00000000 _ZN6TIMERS8regWriteENS_9RegistersEm
C:\DOCUME~1\RAWA~1.LAG\LOCALS~1\Temp/ccA5daaa.s:81     .text._ZN6TIMERS8regWriteENS_9RegistersEm:00000000 $a
C:\DOCUME~1\RAWA~1.LAG\LOCALS~1\Temp/ccA5daaa.s:105    .text._ZN6TIMERS8regWriteENS_9RegistersEm:0000003c $d
C:\DOCUME~1\RAWA~1.LAG\LOCALS~1\Temp/ccA5daaa.s:112    .text:00000000 _ZN8Watchdog10InitializeEv
C:\DOCUME~1\RAWA~1.LAG\LOCALS~1\Temp/ccA5daaa.s:118    .text:00000000 $a
C:\DOCUME~1\RAWA~1.LAG\LOCALS~1\Temp/ccA5daaa.s:153    .text:00000064 $d
C:\DOCUME~1\RAWA~1.LAG\LOCALS~1\Temp/ccA5daaa.s:160    .text:0000006c _ZN8Watchdog11DrugEmDannoEm
C:\DOCUME~1\RAWA~1.LAG\LOCALS~1\Temp/ccA5daaa.s:165    .text:0000006c $a
C:\DOCUME~1\RAWA~1.LAG\LOCALS~1\Temp/ccA5daaa.s:235    .text:00000148 $d

NO UNDEFINED SYMBOLS
