
.//Obj/BLV_C8_PLC_MASTER_V07_20260117.elf:     file format elf32-csky-little


Disassembly of section .text:

00000000 <vector_table>:
   0:	0000010c 	.long	0x0000010c
   4:	00002e06 	.long	0x00002e06
   8:	00002df6 	.long	0x00002df6
   c:	00000184 	.long	0x00000184
  10:	00002dfe 	.long	0x00002dfe
  14:	00002dbc 	.long	0x00002dbc
  18:	00000184 	.long	0x00000184
  1c:	00002dee 	.long	0x00002dee
  20:	00002de6 	.long	0x00002de6
  24:	00000184 	.long	0x00000184
  28:	00000184 	.long	0x00000184
  2c:	00000184 	.long	0x00000184
  30:	00000184 	.long	0x00000184
  34:	00000184 	.long	0x00000184
  38:	00000184 	.long	0x00000184
  3c:	00000184 	.long	0x00000184
  40:	00002dde 	.long	0x00002dde
  44:	00002dd6 	.long	0x00002dd6
  48:	00002dce 	.long	0x00002dce
  4c:	00002dc6 	.long	0x00002dc6
  50:	00000184 	.long	0x00000184
  54:	00000184 	.long	0x00000184
  58:	00000184 	.long	0x00000184
  5c:	00000184 	.long	0x00000184
  60:	00000184 	.long	0x00000184
  64:	00000184 	.long	0x00000184
  68:	00000184 	.long	0x00000184
  6c:	00000184 	.long	0x00000184
  70:	00000184 	.long	0x00000184
  74:	00000184 	.long	0x00000184
  78:	00000184 	.long	0x00000184
  7c:	00002dbe 	.long	0x00002dbe
  80:	00002e26 	.long	0x00002e26
  84:	00002488 	.long	0x00002488
  88:	00002578 	.long	0x00002578
  8c:	000025e0 	.long	0x000025e0
  90:	00002648 	.long	0x00002648
  94:	00000184 	.long	0x00000184
  98:	000027f0 	.long	0x000027f0
  9c:	00002b6c 	.long	0x00002b6c
  a0:	00002b9c 	.long	0x00002b9c
  a4:	00002824 	.long	0x00002824
  a8:	00000184 	.long	0x00000184
  ac:	00000184 	.long	0x00000184
  b0:	000028b0 	.long	0x000028b0
  b4:	00002920 	.long	0x00002920
  b8:	00002974 	.long	0x00002974
  bc:	000029c4 	.long	0x000029c4
  c0:	00000184 	.long	0x00000184
  c4:	00002e1e 	.long	0x00002e1e
  c8:	00000184 	.long	0x00000184
  cc:	00002a00 	.long	0x00002a00
  d0:	00002ae8 	.long	0x00002ae8
  d4:	00002bd8 	.long	0x00002bd8
  d8:	00002c20 	.long	0x00002c20
  dc:	00002c7c 	.long	0x00002c7c
  e0:	00002e16 	.long	0x00002e16
  e4:	00002e0e 	.long	0x00002e0e
  e8:	00002cdc 	.long	0x00002cdc
  ec:	00000184 	.long	0x00000184
  f0:	00002d10 	.long	0x00002d10
  f4:	00002d4c 	.long	0x00002d4c
  f8:	00000184 	.long	0x00000184
  fc:	00000184 	.long	0x00000184
 100:	55aa0005 	.long	0x55aa0005
	...

0000010c <__start>:
//  .long __start
__start:

	
  //initialize all registers
  movi r0, 0
 10c:	3000      	movi      	r0, 0
  movi r1, 0
 10e:	3100      	movi      	r1, 0
  movi r2, 0
 110:	3200      	movi      	r2, 0
  movi r3, 0
 112:	3300      	movi      	r3, 0
  movi r4, 0
 114:	3400      	movi      	r4, 0
  movi r5, 0
 116:	3500      	movi      	r5, 0
  movi r6, 0
 118:	3600      	movi      	r6, 0
  movi r7, 0
 11a:	3700      	movi      	r7, 0
  //movi r13, 0
  //movi r14, 0
  //movi r15, 0

//set VBR
  lrw r2, vector_table
 11c:	105b      	lrw      	r2, 0x0	// 188 <DummyHandler+0x4>
  mtcr r2, cr<1,0>
 11e:	c0026421 	mtcr      	r2, cr<1, 0>

//enable EE bit of psr
  mfcr r2, cr<0,0>
 122:	c0006022 	mfcr      	r2, cr<0, 0>
  bseti r2, r2, 8
 126:	3aa8      	bseti      	r2, 8
  mtcr r2, cr<0,0>
 128:	c0026420 	mtcr      	r2, cr<0, 0>
//  st.w    r2, (r1,0x4)
//  movi    r2, 0x1
//  st.w    r2, (r1,0x0)

//disable power peak 
  lrw     r1, 0xe000ef90
 12c:	1038      	lrw      	r1, 0xe000ef90	// 18c <DummyHandler+0x8>
  movi    r2, 0x0
 12e:	3200      	movi      	r2, 0
  st.w    r2, (r1, 0x0)
 130:	b140      	st.w      	r2, (r1, 0x0)



//initialize kernel stack
  lrw  r7, __kernel_stack
 132:	10f8      	lrw      	r7, 0x20000ff8	// 190 <DummyHandler+0xc>
  mov r14,r7
 134:	6f9f      	mov      	r14, r7
  subi r6,r7,0x4
 136:	5fcf      	subi      	r6, r7, 4

  //lrw  r3, 0x40
  lrw  r3, 0x04
 138:	3304      	movi      	r3, 4
	
  subu r4, r7, r3
 13a:	5f8d      	subu      	r4, r7, r3
  lrw  r5, 0x0
 13c:	3500      	movi      	r5, 0

0000013e <INIT_KERLE_STACK>:
INIT_KERLE_STACK:
  addi r4, 0x4
 13e:	2403      	addi      	r4, 4
  st.w r5, (r4)
 140:	b4a0      	st.w      	r5, (r4, 0x0)
  //cmphs r7, r4
  cmphs r6, r4
 142:	6518      	cmphs      	r6, r4
  bt  INIT_KERLE_STACK
 144:	0bfd      	bt      	0x13e	// 13e <INIT_KERLE_STACK>

00000146 <__to_main>:
        
__to_main:
  lrw r0,__main
 146:	1014      	lrw      	r0, 0xce0	// 194 <DummyHandler+0x10>
  jsr r0
 148:	7bc1      	jsr      	r0
  mov r0, r0
 14a:	6c03      	mov      	r0, r0
  mov r0, r0
 14c:	6c03      	mov      	r0, r0


  
  lrw r15, __exit
 14e:	ea8f0013 	lrw      	r15, 0x160	// 198 <DummyHandler+0x14>
  lrw r0,main
 152:	1013      	lrw      	r0, 0x2064	// 19c <DummyHandler+0x18>
  jmp r0
 154:	7800      	jmp      	r0
  mov r0, r0
 156:	6c03      	mov      	r0, r0
  mov r0, r0
 158:	6c03      	mov      	r0, r0
  mov r0, r0
 15a:	6c03      	mov      	r0, r0
  mov r0, r0
 15c:	6c03      	mov      	r0, r0
  mov r0, r0
 15e:	6c03      	mov      	r0, r0

00000160 <__exit>:

.export __exit
__exit:

  lrw r4, 0x20003000
 160:	1090      	lrw      	r4, 0x20003000	// 1a0 <DummyHandler+0x1c>
  //lrw r5, 0x0
  mov r5, r0
 162:	6d43      	mov      	r5, r0
  st.w r5, (r4)
 164:	b4a0      	st.w      	r5, (r4, 0x0)

  mfcr r1, cr<0,0>
 166:	c0006021 	mfcr      	r1, cr<0, 0>
  lrw  r1, 0xFFFF
 16a:	102f      	lrw      	r1, 0xffff	// 1a4 <DummyHandler+0x20>
  mtcr r1, cr<11,0>
 16c:	c001642b 	mtcr      	r1, cr<11, 0>
  lrw     r1, 0xFFF
 170:	102e      	lrw      	r1, 0xfff	// 1a8 <DummyHandler+0x24>
  movi    r0, 0x0
 172:	3000      	movi      	r0, 0
  st      r1, (r0)
 174:	b020      	st.w      	r1, (r0, 0x0)

00000176 <__fail>:

.export __fail
__fail:
  lrw  r1, 0xEEEE
 176:	102e      	lrw      	r1, 0xeeee	// 1ac <DummyHandler+0x28>
  mtcr r1, cr<11,0>
 178:	c001642b 	mtcr      	r1, cr<11, 0>
  lrw     r1, 0xEEE
 17c:	102d      	lrw      	r1, 0xeee	// 1b0 <DummyHandler+0x2c>
  movi    r0, 0x0
 17e:	3000      	movi      	r0, 0
  st      r1, (r0)
 180:	b020      	st.w      	r1, (r0, 0x0)

00000182 <__dummy>:

__dummy:
  br      __fail
 182:	07fa      	br      	0x176	// 176 <__fail>

00000184 <DummyHandler>:

.export DummyHandler
DummyHandler:
  br      __fail
 184:	07f9      	br      	0x176	// 176 <__fail>
 186:	0000      	.short	0x0000
 188:	00000000 	.long	0x00000000
 18c:	e000ef90 	.long	0xe000ef90
 190:	20000ff8 	.long	0x20000ff8
 194:	00000ce0 	.long	0x00000ce0
 198:	00000160 	.long	0x00000160
 19c:	00002064 	.long	0x00002064
 1a0:	20003000 	.long	0x20003000
 1a4:	0000ffff 	.long	0x0000ffff
 1a8:	00000fff 	.long	0x00000fff
 1ac:	0000eeee 	.long	0x0000eeee
 1b0:	00000eee 	.long	0x00000eee

000001b4 <___gnu_csky_case_uqi>:
 1b4:	1421      	subi      	r14, r14, 4
 1b6:	b820      	st.w      	r1, (r14, 0x0)
 1b8:	6c7f      	mov      	r1, r15
 1ba:	6040      	addu      	r1, r0
 1bc:	8120      	ld.b      	r1, (r1, 0x0)
 1be:	4121      	lsli      	r1, r1, 1
 1c0:	63c4      	addu      	r15, r1
 1c2:	9820      	ld.w      	r1, (r14, 0x0)
 1c4:	1401      	addi      	r14, r14, 4
 1c6:	783c      	jmp      	r15

000001c8 <___gnu_csky_case_shi>:
 1c8:	1422      	subi      	r14, r14, 8
 1ca:	b801      	st.w      	r0, (r14, 0x4)
 1cc:	b820      	st.w      	r1, (r14, 0x0)
 1ce:	6c7f      	mov      	r1, r15
 1d0:	4001      	lsli      	r0, r0, 1
 1d2:	6040      	addu      	r1, r0
 1d4:	8920      	ld.h      	r1, (r1, 0x0)
 1d6:	7447      	sexth      	r1, r1
 1d8:	4121      	lsli      	r1, r1, 1
 1da:	63c4      	addu      	r15, r1
 1dc:	9801      	ld.w      	r0, (r14, 0x4)
 1de:	9820      	ld.w      	r1, (r14, 0x0)
 1e0:	1402      	addi      	r14, r14, 8
 1e2:	783c      	jmp      	r15

000001e4 <__fixunssfsi>:
 1e4:	14d1      	push      	r4, r15
 1e6:	319e      	movi      	r1, 158
 1e8:	4137      	lsli      	r1, r1, 23
 1ea:	6d03      	mov      	r4, r0
 1ec:	e00000ea 	bsr      	0x3c0	// 3c0 <__gesf2>
 1f0:	38df      	btsti      	r0, 31
 1f2:	0c05      	bf      	0x1fc	// 1fc <__fixunssfsi+0x18>
 1f4:	6c13      	mov      	r0, r4
 1f6:	e000014f 	bsr      	0x494	// 494 <__fixsfsi>
 1fa:	1491      	pop      	r4, r15
 1fc:	319e      	movi      	r1, 158
 1fe:	4137      	lsli      	r1, r1, 23
 200:	6c13      	mov      	r0, r4
 202:	e00000c5 	bsr      	0x38c	// 38c <__subsf3>
 206:	e0000147 	bsr      	0x494	// 494 <__fixsfsi>
 20a:	3380      	movi      	r3, 128
 20c:	4378      	lsli      	r3, r3, 24
 20e:	600c      	addu      	r0, r3
 210:	1491      	pop      	r4, r15
	...

00000214 <_fpadd_parts>:
 214:	14c4      	push      	r4-r7
 216:	1421      	subi      	r14, r14, 4
 218:	9060      	ld.w      	r3, (r0, 0x0)
 21a:	3b01      	cmphsi      	r3, 2
 21c:	0c3b      	bf      	0x292	// 292 <_fpadd_parts+0x7e>
 21e:	9180      	ld.w      	r4, (r1, 0x0)
 220:	3c01      	cmphsi      	r4, 2
 222:	0c3a      	bf      	0x296	// 296 <_fpadd_parts+0x82>
 224:	3b44      	cmpnei      	r3, 4
 226:	0c76      	bf      	0x312	// 312 <_fpadd_parts+0xfe>
 228:	3c44      	cmpnei      	r4, 4
 22a:	0c36      	bf      	0x296	// 296 <_fpadd_parts+0x82>
 22c:	3c42      	cmpnei      	r4, 2
 22e:	0c5c      	bf      	0x2e6	// 2e6 <_fpadd_parts+0xd2>
 230:	3b42      	cmpnei      	r3, 2
 232:	0c32      	bf      	0x296	// 296 <_fpadd_parts+0x82>
 234:	90a2      	ld.w      	r5, (r0, 0x8)
 236:	91e2      	ld.w      	r7, (r1, 0x8)
 238:	5d9d      	subu      	r4, r5, r7
 23a:	9063      	ld.w      	r3, (r0, 0xc)
 23c:	3cdf      	btsti      	r4, 31
 23e:	b860      	st.w      	r3, (r14, 0x0)
 240:	6d93      	mov      	r6, r4
 242:	9163      	ld.w      	r3, (r1, 0xc)
 244:	086f      	bt      	0x322	// 322 <_fpadd_parts+0x10e>
 246:	3e3f      	cmplti      	r6, 32
 248:	082a      	bt      	0x29c	// 29c <_fpadd_parts+0x88>
 24a:	655d      	cmplt      	r7, r5
 24c:	0c5f      	bf      	0x30a	// 30a <_fpadd_parts+0xf6>
 24e:	3300      	movi      	r3, 0
 250:	9001      	ld.w      	r0, (r0, 0x4)
 252:	9121      	ld.w      	r1, (r1, 0x4)
 254:	6442      	cmpne      	r0, r1
 256:	0c33      	bf      	0x2bc	// 2bc <_fpadd_parts+0xa8>
 258:	3840      	cmpnei      	r0, 0
 25a:	9820      	ld.w      	r1, (r14, 0x0)
 25c:	0c54      	bf      	0x304	// 304 <_fpadd_parts+0xf0>
 25e:	60c6      	subu      	r3, r1
 260:	3bdf      	btsti      	r3, 31
 262:	0863      	bt      	0x328	// 328 <_fpadd_parts+0x114>
 264:	3100      	movi      	r1, 0
 266:	b221      	st.w      	r1, (r2, 0x4)
 268:	b2a2      	st.w      	r5, (r2, 0x8)
 26a:	b263      	st.w      	r3, (r2, 0xc)
 26c:	5b23      	subi      	r1, r3, 1
 26e:	119b      	lrw      	r4, 0x3fffffff	// 358 <_fpadd_parts+0x144>
 270:	6504      	cmphs      	r1, r4
 272:	080b      	bt      	0x288	// 288 <_fpadd_parts+0x74>
 274:	9222      	ld.w      	r1, (r2, 0x8)
 276:	2900      	subi      	r1, 1
 278:	4361      	lsli      	r3, r3, 1
 27a:	5b03      	subi      	r0, r3, 1
 27c:	6410      	cmphs      	r4, r0
 27e:	6d47      	mov      	r5, r1
 280:	2900      	subi      	r1, 1
 282:	0bfb      	bt      	0x278	// 278 <_fpadd_parts+0x64>
 284:	b263      	st.w      	r3, (r2, 0xc)
 286:	b2a2      	st.w      	r5, (r2, 0x8)
 288:	3103      	movi      	r1, 3
 28a:	3bdf      	btsti      	r3, 31
 28c:	b220      	st.w      	r1, (r2, 0x0)
 28e:	0821      	bt      	0x2d0	// 2d0 <_fpadd_parts+0xbc>
 290:	6c0b      	mov      	r0, r2
 292:	1401      	addi      	r14, r14, 4
 294:	1484      	pop      	r4-r7
 296:	6c07      	mov      	r0, r1
 298:	1401      	addi      	r14, r14, 4
 29a:	1484      	pop      	r4-r7
 29c:	3c20      	cmplti      	r4, 1
 29e:	084c      	bt      	0x336	// 336 <_fpadd_parts+0x122>
 2a0:	3401      	movi      	r4, 1
 2a2:	7118      	lsl      	r4, r6
 2a4:	2c00      	subi      	r4, 1
 2a6:	6dcf      	mov      	r7, r3
 2a8:	68d0      	and      	r3, r4
 2aa:	3b40      	cmpnei      	r3, 0
 2ac:	9001      	ld.w      	r0, (r0, 0x4)
 2ae:	3300      	movi      	r3, 0
 2b0:	9121      	ld.w      	r1, (r1, 0x4)
 2b2:	60cd      	addc      	r3, r3
 2b4:	71d9      	lsr      	r7, r6
 2b6:	6442      	cmpne      	r0, r1
 2b8:	6cdc      	or      	r3, r7
 2ba:	0bcf      	bt      	0x258	// 258 <_fpadd_parts+0x44>
 2bc:	9820      	ld.w      	r1, (r14, 0x0)
 2be:	604c      	addu      	r1, r3
 2c0:	6cc7      	mov      	r3, r1
 2c2:	b223      	st.w      	r1, (r2, 0xc)
 2c4:	3bdf      	btsti      	r3, 31
 2c6:	3103      	movi      	r1, 3
 2c8:	b201      	st.w      	r0, (r2, 0x4)
 2ca:	b2a2      	st.w      	r5, (r2, 0x8)
 2cc:	b220      	st.w      	r1, (r2, 0x0)
 2ce:	0fe1      	bf      	0x290	// 290 <_fpadd_parts+0x7c>
 2d0:	3001      	movi      	r0, 1
 2d2:	4b21      	lsri      	r1, r3, 1
 2d4:	68c0      	and      	r3, r0
 2d6:	6cc4      	or      	r3, r1
 2d8:	b263      	st.w      	r3, (r2, 0xc)
 2da:	9262      	ld.w      	r3, (r2, 0x8)
 2dc:	2300      	addi      	r3, 1
 2de:	6c0b      	mov      	r0, r2
 2e0:	b262      	st.w      	r3, (r2, 0x8)
 2e2:	1401      	addi      	r14, r14, 4
 2e4:	1484      	pop      	r4-r7
 2e6:	3b42      	cmpnei      	r3, 2
 2e8:	0bd5      	bt      	0x292	// 292 <_fpadd_parts+0x7e>
 2ea:	b260      	st.w      	r3, (r2, 0x0)
 2ec:	9061      	ld.w      	r3, (r0, 0x4)
 2ee:	b261      	st.w      	r3, (r2, 0x4)
 2f0:	9062      	ld.w      	r3, (r0, 0x8)
 2f2:	b262      	st.w      	r3, (r2, 0x8)
 2f4:	9063      	ld.w      	r3, (r0, 0xc)
 2f6:	9121      	ld.w      	r1, (r1, 0x4)
 2f8:	b263      	st.w      	r3, (r2, 0xc)
 2fa:	9061      	ld.w      	r3, (r0, 0x4)
 2fc:	68c4      	and      	r3, r1
 2fe:	b261      	st.w      	r3, (r2, 0x4)
 300:	6c0b      	mov      	r0, r2
 302:	07c8      	br      	0x292	// 292 <_fpadd_parts+0x7e>
 304:	604e      	subu      	r1, r3
 306:	6cc7      	mov      	r3, r1
 308:	07ac      	br      	0x260	// 260 <_fpadd_parts+0x4c>
 30a:	3400      	movi      	r4, 0
 30c:	6d5f      	mov      	r5, r7
 30e:	b880      	st.w      	r4, (r14, 0x0)
 310:	07a0      	br      	0x250	// 250 <_fpadd_parts+0x3c>
 312:	3c44      	cmpnei      	r4, 4
 314:	0bbf      	bt      	0x292	// 292 <_fpadd_parts+0x7e>
 316:	9041      	ld.w      	r2, (r0, 0x4)
 318:	9161      	ld.w      	r3, (r1, 0x4)
 31a:	64ca      	cmpne      	r2, r3
 31c:	0fbb      	bf      	0x292	// 292 <_fpadd_parts+0x7e>
 31e:	1010      	lrw      	r0, 0x58e8	// 35c <_fpadd_parts+0x148>
 320:	07b9      	br      	0x292	// 292 <_fpadd_parts+0x7e>
 322:	3600      	movi      	r6, 0
 324:	6192      	subu      	r6, r4
 326:	0790      	br      	0x246	// 246 <_fpadd_parts+0x32>
 328:	3101      	movi      	r1, 1
 32a:	b221      	st.w      	r1, (r2, 0x4)
 32c:	3100      	movi      	r1, 0
 32e:	596d      	subu      	r3, r1, r3
 330:	b2a2      	st.w      	r5, (r2, 0x8)
 332:	b263      	st.w      	r3, (r2, 0xc)
 334:	079c      	br      	0x26c	// 26c <_fpadd_parts+0x58>
 336:	3c40      	cmpnei      	r4, 0
 338:	0f8c      	bf      	0x250	// 250 <_fpadd_parts+0x3c>
 33a:	3401      	movi      	r4, 1
 33c:	98e0      	ld.w      	r7, (r14, 0x0)
 33e:	7118      	lsl      	r4, r6
 340:	71d9      	lsr      	r7, r6
 342:	6158      	addu      	r5, r6
 344:	2c00      	subi      	r4, 1
 346:	98c0      	ld.w      	r6, (r14, 0x0)
 348:	6918      	and      	r4, r6
 34a:	3c40      	cmpnei      	r4, 0
 34c:	3400      	movi      	r4, 0
 34e:	6111      	addc      	r4, r4
 350:	6dd0      	or      	r7, r4
 352:	b8e0      	st.w      	r7, (r14, 0x0)
 354:	077e      	br      	0x250	// 250 <_fpadd_parts+0x3c>
 356:	0000      	bkpt
 358:	3fffffff 	.long	0x3fffffff
 35c:	000058e8 	.long	0x000058e8

00000360 <__addsf3>:
 360:	14d0      	push      	r15
 362:	142e      	subi      	r14, r14, 56
 364:	b800      	st.w      	r0, (r14, 0x0)
 366:	b821      	st.w      	r1, (r14, 0x4)
 368:	6c3b      	mov      	r0, r14
 36a:	1902      	addi      	r1, r14, 8
 36c:	e000028a 	bsr      	0x880	// 880 <__unpack_f>
 370:	1906      	addi      	r1, r14, 24
 372:	1801      	addi      	r0, r14, 4
 374:	e0000286 	bsr      	0x880	// 880 <__unpack_f>
 378:	1a0a      	addi      	r2, r14, 40
 37a:	1906      	addi      	r1, r14, 24
 37c:	1802      	addi      	r0, r14, 8
 37e:	e3ffff4b 	bsr      	0x214	// 214 <_fpadd_parts>
 382:	e0000223 	bsr      	0x7c8	// 7c8 <__pack_f>
 386:	140e      	addi      	r14, r14, 56
 388:	1490      	pop      	r15
	...

0000038c <__subsf3>:
 38c:	14d0      	push      	r15
 38e:	142e      	subi      	r14, r14, 56
 390:	b800      	st.w      	r0, (r14, 0x0)
 392:	b821      	st.w      	r1, (r14, 0x4)
 394:	6c3b      	mov      	r0, r14
 396:	1902      	addi      	r1, r14, 8
 398:	e0000274 	bsr      	0x880	// 880 <__unpack_f>
 39c:	1906      	addi      	r1, r14, 24
 39e:	1801      	addi      	r0, r14, 4
 3a0:	e0000270 	bsr      	0x880	// 880 <__unpack_f>
 3a4:	9867      	ld.w      	r3, (r14, 0x1c)
 3a6:	3201      	movi      	r2, 1
 3a8:	6cc9      	xor      	r3, r2
 3aa:	1906      	addi      	r1, r14, 24
 3ac:	1a0a      	addi      	r2, r14, 40
 3ae:	1802      	addi      	r0, r14, 8
 3b0:	b867      	st.w      	r3, (r14, 0x1c)
 3b2:	e3ffff31 	bsr      	0x214	// 214 <_fpadd_parts>
 3b6:	e0000209 	bsr      	0x7c8	// 7c8 <__pack_f>
 3ba:	140e      	addi      	r14, r14, 56
 3bc:	1490      	pop      	r15
	...

000003c0 <__gesf2>:
 3c0:	14d0      	push      	r15
 3c2:	142a      	subi      	r14, r14, 40
 3c4:	b800      	st.w      	r0, (r14, 0x0)
 3c6:	b821      	st.w      	r1, (r14, 0x4)
 3c8:	6c3b      	mov      	r0, r14
 3ca:	1902      	addi      	r1, r14, 8
 3cc:	e000025a 	bsr      	0x880	// 880 <__unpack_f>
 3d0:	1906      	addi      	r1, r14, 24
 3d2:	1801      	addi      	r0, r14, 4
 3d4:	e0000256 	bsr      	0x880	// 880 <__unpack_f>
 3d8:	9862      	ld.w      	r3, (r14, 0x8)
 3da:	3b01      	cmphsi      	r3, 2
 3dc:	0c0a      	bf      	0x3f0	// 3f0 <__gesf2+0x30>
 3de:	9866      	ld.w      	r3, (r14, 0x18)
 3e0:	3b01      	cmphsi      	r3, 2
 3e2:	0c07      	bf      	0x3f0	// 3f0 <__gesf2+0x30>
 3e4:	1906      	addi      	r1, r14, 24
 3e6:	1802      	addi      	r0, r14, 8
 3e8:	e000028e 	bsr      	0x904	// 904 <__fpcmp_parts_f>
 3ec:	140a      	addi      	r14, r14, 40
 3ee:	1490      	pop      	r15
 3f0:	3000      	movi      	r0, 0
 3f2:	2800      	subi      	r0, 1
 3f4:	140a      	addi      	r14, r14, 40
 3f6:	1490      	pop      	r15

000003f8 <__lesf2>:
 3f8:	14d0      	push      	r15
 3fa:	142a      	subi      	r14, r14, 40
 3fc:	b800      	st.w      	r0, (r14, 0x0)
 3fe:	b821      	st.w      	r1, (r14, 0x4)
 400:	6c3b      	mov      	r0, r14
 402:	1902      	addi      	r1, r14, 8
 404:	e000023e 	bsr      	0x880	// 880 <__unpack_f>
 408:	1906      	addi      	r1, r14, 24
 40a:	1801      	addi      	r0, r14, 4
 40c:	e000023a 	bsr      	0x880	// 880 <__unpack_f>
 410:	9862      	ld.w      	r3, (r14, 0x8)
 412:	3b01      	cmphsi      	r3, 2
 414:	0c0a      	bf      	0x428	// 428 <__lesf2+0x30>
 416:	9866      	ld.w      	r3, (r14, 0x18)
 418:	3b01      	cmphsi      	r3, 2
 41a:	0c07      	bf      	0x428	// 428 <__lesf2+0x30>
 41c:	1906      	addi      	r1, r14, 24
 41e:	1802      	addi      	r0, r14, 8
 420:	e0000272 	bsr      	0x904	// 904 <__fpcmp_parts_f>
 424:	140a      	addi      	r14, r14, 40
 426:	1490      	pop      	r15
 428:	3001      	movi      	r0, 1
 42a:	140a      	addi      	r14, r14, 40
 42c:	1490      	pop      	r15
	...

00000430 <__floatsisf>:
 430:	14d1      	push      	r4, r15
 432:	1424      	subi      	r14, r14, 16
 434:	3303      	movi      	r3, 3
 436:	b860      	st.w      	r3, (r14, 0x0)
 438:	3840      	cmpnei      	r0, 0
 43a:	487f      	lsri      	r3, r0, 31
 43c:	b861      	st.w      	r3, (r14, 0x4)
 43e:	0808      	bt      	0x44e	// 44e <__floatsisf+0x1e>
 440:	3302      	movi      	r3, 2
 442:	b860      	st.w      	r3, (r14, 0x0)
 444:	6c3b      	mov      	r0, r14
 446:	e00001c1 	bsr      	0x7c8	// 7c8 <__pack_f>
 44a:	1404      	addi      	r14, r14, 16
 44c:	1491      	pop      	r4, r15
 44e:	331e      	movi      	r3, 30
 450:	38df      	btsti      	r0, 31
 452:	b862      	st.w      	r3, (r14, 0x8)
 454:	080f      	bt      	0x472	// 472 <__floatsisf+0x42>
 456:	6d03      	mov      	r4, r0
 458:	6c13      	mov      	r0, r4
 45a:	e0000197 	bsr      	0x788	// 788 <__clzsi2>
 45e:	5863      	subi      	r3, r0, 1
 460:	3b40      	cmpnei      	r3, 0
 462:	0c14      	bf      	0x48a	// 48a <__floatsisf+0x5a>
 464:	6c13      	mov      	r0, r4
 466:	321e      	movi      	r2, 30
 468:	700c      	lsl      	r0, r3
 46a:	5a6d      	subu      	r3, r2, r3
 46c:	b803      	st.w      	r0, (r14, 0xc)
 46e:	b862      	st.w      	r3, (r14, 0x8)
 470:	07ea      	br      	0x444	// 444 <__floatsisf+0x14>
 472:	3380      	movi      	r3, 128
 474:	4378      	lsli      	r3, r3, 24
 476:	64c2      	cmpne      	r0, r3
 478:	0c0b      	bf      	0x48e	// 48e <__floatsisf+0x5e>
 47a:	3400      	movi      	r4, 0
 47c:	6102      	subu      	r4, r0
 47e:	6c13      	mov      	r0, r4
 480:	e0000184 	bsr      	0x788	// 788 <__clzsi2>
 484:	5863      	subi      	r3, r0, 1
 486:	3b40      	cmpnei      	r3, 0
 488:	0bee      	bt      	0x464	// 464 <__floatsisf+0x34>
 48a:	b883      	st.w      	r4, (r14, 0xc)
 48c:	07dc      	br      	0x444	// 444 <__floatsisf+0x14>
 48e:	30cf      	movi      	r0, 207
 490:	4018      	lsli      	r0, r0, 24
 492:	07dc      	br      	0x44a	// 44a <__floatsisf+0x1a>

00000494 <__fixsfsi>:
 494:	14d0      	push      	r15
 496:	1425      	subi      	r14, r14, 20
 498:	b800      	st.w      	r0, (r14, 0x0)
 49a:	1901      	addi      	r1, r14, 4
 49c:	6c3b      	mov      	r0, r14
 49e:	e00001f1 	bsr      	0x880	// 880 <__unpack_f>
 4a2:	9861      	ld.w      	r3, (r14, 0x4)
 4a4:	3b02      	cmphsi      	r3, 3
 4a6:	0c1b      	bf      	0x4dc	// 4dc <__fixsfsi+0x48>
 4a8:	3b44      	cmpnei      	r3, 4
 4aa:	0c06      	bf      	0x4b6	// 4b6 <__fixsfsi+0x22>
 4ac:	9863      	ld.w      	r3, (r14, 0xc)
 4ae:	3bdf      	btsti      	r3, 31
 4b0:	0816      	bt      	0x4dc	// 4dc <__fixsfsi+0x48>
 4b2:	3b3e      	cmplti      	r3, 31
 4b4:	0809      	bt      	0x4c6	// 4c6 <__fixsfsi+0x32>
 4b6:	9862      	ld.w      	r3, (r14, 0x8)
 4b8:	3b40      	cmpnei      	r3, 0
 4ba:	3000      	movi      	r0, 0
 4bc:	6001      	addc      	r0, r0
 4be:	106a      	lrw      	r3, 0x7fffffff	// 4e4 <__fixsfsi+0x50>
 4c0:	600c      	addu      	r0, r3
 4c2:	1405      	addi      	r14, r14, 20
 4c4:	1490      	pop      	r15
 4c6:	321e      	movi      	r2, 30
 4c8:	5a6d      	subu      	r3, r2, r3
 4ca:	9804      	ld.w      	r0, (r14, 0x10)
 4cc:	700d      	lsr      	r0, r3
 4ce:	9862      	ld.w      	r3, (r14, 0x8)
 4d0:	3b40      	cmpnei      	r3, 0
 4d2:	0ff8      	bf      	0x4c2	// 4c2 <__fixsfsi+0x2e>
 4d4:	3300      	movi      	r3, 0
 4d6:	5b01      	subu      	r0, r3, r0
 4d8:	1405      	addi      	r14, r14, 20
 4da:	1490      	pop      	r15
 4dc:	3000      	movi      	r0, 0
 4de:	1405      	addi      	r14, r14, 20
 4e0:	1490      	pop      	r15
 4e2:	0000      	bkpt
 4e4:	7fffffff 	.long	0x7fffffff

000004e8 <__extendsfdf2>:
 4e8:	14d1      	push      	r4, r15
 4ea:	1426      	subi      	r14, r14, 24
 4ec:	b801      	st.w      	r0, (r14, 0x4)
 4ee:	1902      	addi      	r1, r14, 8
 4f0:	1801      	addi      	r0, r14, 4
 4f2:	e00001c7 	bsr      	0x880	// 880 <__unpack_f>
 4f6:	9865      	ld.w      	r3, (r14, 0x14)
 4f8:	4b82      	lsri      	r4, r3, 2
 4fa:	9844      	ld.w      	r2, (r14, 0x10)
 4fc:	437e      	lsli      	r3, r3, 30
 4fe:	9823      	ld.w      	r1, (r14, 0xc)
 500:	9802      	ld.w      	r0, (r14, 0x8)
 502:	b880      	st.w      	r4, (r14, 0x0)
 504:	e0000116 	bsr      	0x730	// 730 <__make_dp>
 508:	1406      	addi      	r14, r14, 24
 50a:	1491      	pop      	r4, r15

0000050c <__floatunsisf>:
 50c:	14d2      	push      	r4-r5, r15
 50e:	1424      	subi      	r14, r14, 16
 510:	3840      	cmpnei      	r0, 0
 512:	3300      	movi      	r3, 0
 514:	6d03      	mov      	r4, r0
 516:	b861      	st.w      	r3, (r14, 0x4)
 518:	0c15      	bf      	0x542	// 542 <__floatunsisf+0x36>
 51a:	3303      	movi      	r3, 3
 51c:	351e      	movi      	r5, 30
 51e:	b860      	st.w      	r3, (r14, 0x0)
 520:	b8a2      	st.w      	r5, (r14, 0x8)
 522:	e0000133 	bsr      	0x788	// 788 <__clzsi2>
 526:	3840      	cmpnei      	r0, 0
 528:	5863      	subi      	r3, r0, 1
 52a:	0c13      	bf      	0x550	// 550 <__floatunsisf+0x44>
 52c:	3b40      	cmpnei      	r3, 0
 52e:	0c1d      	bf      	0x568	// 568 <__floatunsisf+0x5c>
 530:	710c      	lsl      	r4, r3
 532:	614e      	subu      	r5, r3
 534:	b883      	st.w      	r4, (r14, 0xc)
 536:	b8a2      	st.w      	r5, (r14, 0x8)
 538:	6c3b      	mov      	r0, r14
 53a:	e0000147 	bsr      	0x7c8	// 7c8 <__pack_f>
 53e:	1404      	addi      	r14, r14, 16
 540:	1492      	pop      	r4-r5, r15
 542:	3302      	movi      	r3, 2
 544:	6c3b      	mov      	r0, r14
 546:	b860      	st.w      	r3, (r14, 0x0)
 548:	e0000140 	bsr      	0x7c8	// 7c8 <__pack_f>
 54c:	1404      	addi      	r14, r14, 16
 54e:	1492      	pop      	r4-r5, r15
 550:	3301      	movi      	r3, 1
 552:	68d0      	and      	r3, r4
 554:	4c81      	lsri      	r4, r4, 1
 556:	6d0c      	or      	r4, r3
 558:	6c3b      	mov      	r0, r14
 55a:	331f      	movi      	r3, 31
 55c:	b883      	st.w      	r4, (r14, 0xc)
 55e:	b862      	st.w      	r3, (r14, 0x8)
 560:	e0000134 	bsr      	0x7c8	// 7c8 <__pack_f>
 564:	1404      	addi      	r14, r14, 16
 566:	1492      	pop      	r4-r5, r15
 568:	b883      	st.w      	r4, (r14, 0xc)
 56a:	07e7      	br      	0x538	// 538 <__floatunsisf+0x2c>

0000056c <__divdf3>:
 56c:	14d4      	push      	r4-r7, r15
 56e:	1432      	subi      	r14, r14, 72
 570:	b804      	st.w      	r0, (r14, 0x10)
 572:	b825      	st.w      	r1, (r14, 0x14)
 574:	1804      	addi      	r0, r14, 16
 576:	1908      	addi      	r1, r14, 32
 578:	b867      	st.w      	r3, (r14, 0x1c)
 57a:	b846      	st.w      	r2, (r14, 0x18)
 57c:	e00002da 	bsr      	0xb30	// b30 <__unpack_d>
 580:	190d      	addi      	r1, r14, 52
 582:	1806      	addi      	r0, r14, 24
 584:	e00002d6 	bsr      	0xb30	// b30 <__unpack_d>
 588:	9868      	ld.w      	r3, (r14, 0x20)
 58a:	3b01      	cmphsi      	r3, 2
 58c:	0c66      	bf      	0x658	// 658 <__divdf3+0xec>
 58e:	982d      	ld.w      	r1, (r14, 0x34)
 590:	3901      	cmphsi      	r1, 2
 592:	0c92      	bf      	0x6b6	// 6b6 <__divdf3+0x14a>
 594:	9849      	ld.w      	r2, (r14, 0x24)
 596:	980e      	ld.w      	r0, (r14, 0x38)
 598:	6c81      	xor      	r2, r0
 59a:	3b44      	cmpnei      	r3, 4
 59c:	b849      	st.w      	r2, (r14, 0x24)
 59e:	0c62      	bf      	0x662	// 662 <__divdf3+0xf6>
 5a0:	3b42      	cmpnei      	r3, 2
 5a2:	0c60      	bf      	0x662	// 662 <__divdf3+0xf6>
 5a4:	3944      	cmpnei      	r1, 4
 5a6:	0c62      	bf      	0x66a	// 66a <__divdf3+0xfe>
 5a8:	3942      	cmpnei      	r1, 2
 5aa:	0c82      	bf      	0x6ae	// 6ae <__divdf3+0x142>
 5ac:	982a      	ld.w      	r1, (r14, 0x28)
 5ae:	986f      	ld.w      	r3, (r14, 0x3c)
 5b0:	604e      	subu      	r1, r3
 5b2:	9890      	ld.w      	r4, (r14, 0x40)
 5b4:	98b1      	ld.w      	r5, (r14, 0x44)
 5b6:	984b      	ld.w      	r2, (r14, 0x2c)
 5b8:	986c      	ld.w      	r3, (r14, 0x30)
 5ba:	654c      	cmphs      	r3, r5
 5bc:	b82a      	st.w      	r1, (r14, 0x28)
 5be:	6d93      	mov      	r6, r4
 5c0:	6dd7      	mov      	r7, r5
 5c2:	0c05      	bf      	0x5cc	// 5cc <__divdf3+0x60>
 5c4:	64d6      	cmpne      	r5, r3
 5c6:	080b      	bt      	0x5dc	// 5dc <__divdf3+0x70>
 5c8:	6508      	cmphs      	r2, r4
 5ca:	0809      	bt      	0x5dc	// 5dc <__divdf3+0x70>
 5cc:	4a9f      	lsri      	r4, r2, 31
 5ce:	4301      	lsli      	r0, r3, 1
 5d0:	42a1      	lsli      	r5, r2, 1
 5d2:	6d00      	or      	r4, r0
 5d4:	2900      	subi      	r1, 1
 5d6:	6c97      	mov      	r2, r5
 5d8:	6cd3      	mov      	r3, r4
 5da:	b82a      	st.w      	r1, (r14, 0x28)
 5dc:	3000      	movi      	r0, 0
 5de:	3100      	movi      	r1, 0
 5e0:	b802      	st.w      	r0, (r14, 0x8)
 5e2:	b823      	st.w      	r1, (r14, 0xc)
 5e4:	3180      	movi      	r1, 128
 5e6:	343d      	movi      	r4, 61
 5e8:	3000      	movi      	r0, 0
 5ea:	4135      	lsli      	r1, r1, 21
 5ec:	b8c0      	st.w      	r6, (r14, 0x0)
 5ee:	b8e1      	st.w      	r7, (r14, 0x4)
 5f0:	98a0      	ld.w      	r5, (r14, 0x0)
 5f2:	98c1      	ld.w      	r6, (r14, 0x4)
 5f4:	658c      	cmphs      	r3, r6
 5f6:	0c10      	bf      	0x616	// 616 <__divdf3+0xaa>
 5f8:	64da      	cmpne      	r6, r3
 5fa:	0803      	bt      	0x600	// 600 <__divdf3+0x94>
 5fc:	6548      	cmphs      	r2, r5
 5fe:	0c0c      	bf      	0x616	// 616 <__divdf3+0xaa>
 600:	98a2      	ld.w      	r5, (r14, 0x8)
 602:	98c3      	ld.w      	r6, (r14, 0xc)
 604:	6d40      	or      	r5, r0
 606:	6d84      	or      	r6, r1
 608:	b8a2      	st.w      	r5, (r14, 0x8)
 60a:	b8c3      	st.w      	r6, (r14, 0xc)
 60c:	98a0      	ld.w      	r5, (r14, 0x0)
 60e:	98c1      	ld.w      	r6, (r14, 0x4)
 610:	6488      	cmphs      	r2, r2
 612:	6097      	subc      	r2, r5
 614:	60db      	subc      	r3, r6
 616:	41bf      	lsli      	r5, r1, 31
 618:	48e1      	lsri      	r7, r0, 1
 61a:	6d97      	mov      	r6, r5
 61c:	49a1      	lsri      	r5, r1, 1
 61e:	6d9c      	or      	r6, r7
 620:	6c57      	mov      	r1, r5
 622:	4abf      	lsri      	r5, r2, 31
 624:	6c1b      	mov      	r0, r6
 626:	2c00      	subi      	r4, 1
 628:	6d97      	mov      	r6, r5
 62a:	43a1      	lsli      	r5, r3, 1
 62c:	6d94      	or      	r6, r5
 62e:	4261      	lsli      	r3, r2, 1
 630:	3c40      	cmpnei      	r4, 0
 632:	6dcf      	mov      	r7, r3
 634:	6c8f      	mov      	r2, r3
 636:	6cdb      	mov      	r3, r6
 638:	0bdc      	bt      	0x5f0	// 5f0 <__divdf3+0x84>
 63a:	30ff      	movi      	r0, 255
 63c:	3100      	movi      	r1, 0
 63e:	9882      	ld.w      	r4, (r14, 0x8)
 640:	98a3      	ld.w      	r5, (r14, 0xc)
 642:	6900      	and      	r4, r0
 644:	6944      	and      	r5, r1
 646:	6c13      	mov      	r0, r4
 648:	6c57      	mov      	r1, r5
 64a:	3480      	movi      	r4, 128
 64c:	6502      	cmpne      	r0, r4
 64e:	0c15      	bf      	0x678	// 678 <__divdf3+0x10c>
 650:	9862      	ld.w      	r3, (r14, 0x8)
 652:	9883      	ld.w      	r4, (r14, 0xc)
 654:	b86b      	st.w      	r3, (r14, 0x2c)
 656:	b88c      	st.w      	r4, (r14, 0x30)
 658:	1808      	addi      	r0, r14, 32
 65a:	e000019d 	bsr      	0x994	// 994 <__pack_d>
 65e:	1412      	addi      	r14, r14, 72
 660:	1494      	pop      	r4-r7, r15
 662:	644e      	cmpne      	r3, r1
 664:	0bfa      	bt      	0x658	// 658 <__divdf3+0xec>
 666:	1016      	lrw      	r0, 0x58f8	// 6bc <__divdf3+0x150>
 668:	07f9      	br      	0x65a	// 65a <__divdf3+0xee>
 66a:	3300      	movi      	r3, 0
 66c:	3400      	movi      	r4, 0
 66e:	b86b      	st.w      	r3, (r14, 0x2c)
 670:	b88c      	st.w      	r4, (r14, 0x30)
 672:	b86a      	st.w      	r3, (r14, 0x28)
 674:	1808      	addi      	r0, r14, 32
 676:	07f2      	br      	0x65a	// 65a <__divdf3+0xee>
 678:	3940      	cmpnei      	r1, 0
 67a:	0beb      	bt      	0x650	// 650 <__divdf3+0xe4>
 67c:	3180      	movi      	r1, 128
 67e:	4121      	lsli      	r1, r1, 1
 680:	9882      	ld.w      	r4, (r14, 0x8)
 682:	98a3      	ld.w      	r5, (r14, 0xc)
 684:	6850      	and      	r1, r4
 686:	3940      	cmpnei      	r1, 0
 688:	0be4      	bt      	0x650	// 650 <__divdf3+0xe4>
 68a:	6c98      	or      	r2, r6
 68c:	3a40      	cmpnei      	r2, 0
 68e:	0fe1      	bf      	0x650	// 650 <__divdf3+0xe4>
 690:	3280      	movi      	r2, 128
 692:	3300      	movi      	r3, 0
 694:	6c13      	mov      	r0, r4
 696:	6c57      	mov      	r1, r5
 698:	6401      	cmplt      	r0, r0
 69a:	6009      	addc      	r0, r2
 69c:	604d      	addc      	r1, r3
 69e:	6c83      	mov      	r2, r0
 6a0:	6cc7      	mov      	r3, r1
 6a2:	6c0b      	mov      	r0, r2
 6a4:	31ff      	movi      	r1, 255
 6a6:	6805      	andn      	r0, r1
 6a8:	b802      	st.w      	r0, (r14, 0x8)
 6aa:	b863      	st.w      	r3, (r14, 0xc)
 6ac:	07d2      	br      	0x650	// 650 <__divdf3+0xe4>
 6ae:	3304      	movi      	r3, 4
 6b0:	b868      	st.w      	r3, (r14, 0x20)
 6b2:	1808      	addi      	r0, r14, 32
 6b4:	07d3      	br      	0x65a	// 65a <__divdf3+0xee>
 6b6:	180d      	addi      	r0, r14, 52
 6b8:	07d1      	br      	0x65a	// 65a <__divdf3+0xee>
 6ba:	0000      	bkpt
 6bc:	000058f8 	.long	0x000058f8

000006c0 <__floatsidf>:
 6c0:	14d1      	push      	r4, r15
 6c2:	1425      	subi      	r14, r14, 20
 6c4:	3303      	movi      	r3, 3
 6c6:	b860      	st.w      	r3, (r14, 0x0)
 6c8:	3840      	cmpnei      	r0, 0
 6ca:	487f      	lsri      	r3, r0, 31
 6cc:	b861      	st.w      	r3, (r14, 0x4)
 6ce:	0808      	bt      	0x6de	// 6de <__floatsidf+0x1e>
 6d0:	3302      	movi      	r3, 2
 6d2:	b860      	st.w      	r3, (r14, 0x0)
 6d4:	6c3b      	mov      	r0, r14
 6d6:	e000015f 	bsr      	0x994	// 994 <__pack_d>
 6da:	1405      	addi      	r14, r14, 20
 6dc:	1491      	pop      	r4, r15
 6de:	38df      	btsti      	r0, 31
 6e0:	0812      	bt      	0x704	// 704 <__floatsidf+0x44>
 6e2:	6d03      	mov      	r4, r0
 6e4:	6c13      	mov      	r0, r4
 6e6:	e0000051 	bsr      	0x788	// 788 <__clzsi2>
 6ea:	321d      	movi      	r2, 29
 6ec:	6080      	addu      	r2, r0
 6ee:	2802      	subi      	r0, 3
 6f0:	38df      	btsti      	r0, 31
 6f2:	0810      	bt      	0x712	// 712 <__floatsidf+0x52>
 6f4:	7100      	lsl      	r4, r0
 6f6:	3300      	movi      	r3, 0
 6f8:	b884      	st.w      	r4, (r14, 0x10)
 6fa:	b863      	st.w      	r3, (r14, 0xc)
 6fc:	333c      	movi      	r3, 60
 6fe:	60ca      	subu      	r3, r2
 700:	b862      	st.w      	r3, (r14, 0x8)
 702:	07e9      	br      	0x6d4	// 6d4 <__floatsidf+0x14>
 704:	3380      	movi      	r3, 128
 706:	4378      	lsli      	r3, r3, 24
 708:	64c2      	cmpne      	r0, r3
 70a:	0c0d      	bf      	0x724	// 724 <__floatsidf+0x64>
 70c:	3400      	movi      	r4, 0
 70e:	6102      	subu      	r4, r0
 710:	07ea      	br      	0x6e4	// 6e4 <__floatsidf+0x24>
 712:	311f      	movi      	r1, 31
 714:	4c61      	lsri      	r3, r4, 1
 716:	604a      	subu      	r1, r2
 718:	6c13      	mov      	r0, r4
 71a:	70c5      	lsr      	r3, r1
 71c:	7008      	lsl      	r0, r2
 71e:	b864      	st.w      	r3, (r14, 0x10)
 720:	b803      	st.w      	r0, (r14, 0xc)
 722:	07ed      	br      	0x6fc	// 6fc <__floatsidf+0x3c>
 724:	3000      	movi      	r0, 0
 726:	1022      	lrw      	r1, 0xc1e00000	// 72c <__floatsidf+0x6c>
 728:	07d9      	br      	0x6da	// 6da <__floatsidf+0x1a>
 72a:	0000      	bkpt
 72c:	c1e00000 	.long	0xc1e00000

00000730 <__make_dp>:
 730:	1421      	subi      	r14, r14, 4
 732:	14d1      	push      	r4, r15
 734:	1425      	subi      	r14, r14, 20
 736:	b867      	st.w      	r3, (r14, 0x1c)
 738:	9867      	ld.w      	r3, (r14, 0x1c)
 73a:	9888      	ld.w      	r4, (r14, 0x20)
 73c:	b800      	st.w      	r0, (r14, 0x0)
 73e:	6c3b      	mov      	r0, r14
 740:	b821      	st.w      	r1, (r14, 0x4)
 742:	b842      	st.w      	r2, (r14, 0x8)
 744:	b863      	st.w      	r3, (r14, 0xc)
 746:	b884      	st.w      	r4, (r14, 0x10)
 748:	e0000126 	bsr      	0x994	// 994 <__pack_d>
 74c:	1405      	addi      	r14, r14, 20
 74e:	d9ee2001 	ld.w      	r15, (r14, 0x4)
 752:	9880      	ld.w      	r4, (r14, 0x0)
 754:	1403      	addi      	r14, r14, 12
 756:	783c      	jmp      	r15

00000758 <__truncdfsf2>:
 758:	14d0      	push      	r15
 75a:	1427      	subi      	r14, r14, 28
 75c:	b800      	st.w      	r0, (r14, 0x0)
 75e:	b821      	st.w      	r1, (r14, 0x4)
 760:	6c3b      	mov      	r0, r14
 762:	1902      	addi      	r1, r14, 8
 764:	e00001e6 	bsr      	0xb30	// b30 <__unpack_d>
 768:	9845      	ld.w      	r2, (r14, 0x14)
 76a:	4a3e      	lsri      	r1, r2, 30
 76c:	9866      	ld.w      	r3, (r14, 0x18)
 76e:	4242      	lsli      	r2, r2, 2
 770:	4362      	lsli      	r3, r3, 2
 772:	3a40      	cmpnei      	r2, 0
 774:	6cc4      	or      	r3, r1
 776:	0c02      	bf      	0x77a	// 77a <__truncdfsf2+0x22>
 778:	3ba0      	bseti      	r3, 0
 77a:	9844      	ld.w      	r2, (r14, 0x10)
 77c:	9823      	ld.w      	r1, (r14, 0xc)
 77e:	9802      	ld.w      	r0, (r14, 0x8)
 780:	e00000fe 	bsr      	0x97c	// 97c <__make_fp>
 784:	1407      	addi      	r14, r14, 28
 786:	1490      	pop      	r15

00000788 <__clzsi2>:
 788:	106d      	lrw      	r3, 0xffff	// 7bc <__clzsi2+0x34>
 78a:	640c      	cmphs      	r3, r0
 78c:	0c07      	bf      	0x79a	// 79a <__clzsi2+0x12>
 78e:	33ff      	movi      	r3, 255
 790:	640c      	cmphs      	r3, r0
 792:	0c0f      	bf      	0x7b0	// 7b0 <__clzsi2+0x28>
 794:	3320      	movi      	r3, 32
 796:	3200      	movi      	r2, 0
 798:	0406      	br      	0x7a4	// 7a4 <__clzsi2+0x1c>
 79a:	106a      	lrw      	r3, 0xffffff	// 7c0 <__clzsi2+0x38>
 79c:	640c      	cmphs      	r3, r0
 79e:	080c      	bt      	0x7b6	// 7b6 <__clzsi2+0x2e>
 7a0:	3308      	movi      	r3, 8
 7a2:	3218      	movi      	r2, 24
 7a4:	7009      	lsr      	r0, r2
 7a6:	1048      	lrw      	r2, 0x590c	// 7c4 <__clzsi2+0x3c>
 7a8:	6008      	addu      	r0, r2
 7aa:	8040      	ld.b      	r2, (r0, 0x0)
 7ac:	5b09      	subu      	r0, r3, r2
 7ae:	783c      	jmp      	r15
 7b0:	3318      	movi      	r3, 24
 7b2:	3208      	movi      	r2, 8
 7b4:	07f8      	br      	0x7a4	// 7a4 <__clzsi2+0x1c>
 7b6:	3310      	movi      	r3, 16
 7b8:	3210      	movi      	r2, 16
 7ba:	07f5      	br      	0x7a4	// 7a4 <__clzsi2+0x1c>
 7bc:	0000ffff 	.long	0x0000ffff
 7c0:	00ffffff 	.long	0x00ffffff
 7c4:	0000590c 	.long	0x0000590c

000007c8 <__pack_f>:
 7c8:	14c2      	push      	r4-r5
 7ca:	9040      	ld.w      	r2, (r0, 0x0)
 7cc:	3a01      	cmphsi      	r2, 2
 7ce:	9063      	ld.w      	r3, (r0, 0xc)
 7d0:	9021      	ld.w      	r1, (r0, 0x4)
 7d2:	0c27      	bf      	0x820	// 820 <__pack_f+0x58>
 7d4:	3a44      	cmpnei      	r2, 4
 7d6:	0c22      	bf      	0x81a	// 81a <__pack_f+0x52>
 7d8:	3a42      	cmpnei      	r2, 2
 7da:	0c1d      	bf      	0x814	// 814 <__pack_f+0x4c>
 7dc:	3b40      	cmpnei      	r3, 0
 7de:	0c1b      	bf      	0x814	// 814 <__pack_f+0x4c>
 7e0:	3400      	movi      	r4, 0
 7e2:	9042      	ld.w      	r2, (r0, 0x8)
 7e4:	2c7d      	subi      	r4, 126
 7e6:	6509      	cmplt      	r2, r4
 7e8:	082a      	bt      	0x83c	// 83c <__pack_f+0x74>
 7ea:	347f      	movi      	r4, 127
 7ec:	6491      	cmplt      	r4, r2
 7ee:	0816      	bt      	0x81a	// 81a <__pack_f+0x52>
 7f0:	690c      	and      	r4, r3
 7f2:	3540      	movi      	r5, 64
 7f4:	6552      	cmpne      	r4, r5
 7f6:	0c1a      	bf      	0x82a	// 82a <__pack_f+0x62>
 7f8:	233e      	addi      	r3, 63
 7fa:	3bdf      	btsti      	r3, 31
 7fc:	081d      	bt      	0x836	// 836 <__pack_f+0x6e>
 7fe:	227e      	addi      	r2, 127
 800:	4302      	lsli      	r0, r3, 2
 802:	4809      	lsri      	r0, r0, 9
 804:	74c8      	zextb      	r3, r2
 806:	4009      	lsli      	r0, r0, 9
 808:	4377      	lsli      	r3, r3, 23
 80a:	4809      	lsri      	r0, r0, 9
 80c:	413f      	lsli      	r1, r1, 31
 80e:	6c0c      	or      	r0, r3
 810:	6c04      	or      	r0, r1
 812:	1482      	pop      	r4-r5
 814:	3300      	movi      	r3, 0
 816:	3000      	movi      	r0, 0
 818:	07f7      	br      	0x806	// 806 <__pack_f+0x3e>
 81a:	33ff      	movi      	r3, 255
 81c:	3000      	movi      	r0, 0
 81e:	07f4      	br      	0x806	// 806 <__pack_f+0x3e>
 820:	4303      	lsli      	r0, r3, 3
 822:	480a      	lsri      	r0, r0, 10
 824:	38b6      	bseti      	r0, 22
 826:	33ff      	movi      	r3, 255
 828:	07ef      	br      	0x806	// 806 <__pack_f+0x3e>
 82a:	3080      	movi      	r0, 128
 82c:	680c      	and      	r0, r3
 82e:	3840      	cmpnei      	r0, 0
 830:	0fe5      	bf      	0x7fa	// 7fa <__pack_f+0x32>
 832:	60d0      	addu      	r3, r4
 834:	07e3      	br      	0x7fa	// 7fa <__pack_f+0x32>
 836:	4b61      	lsri      	r3, r3, 1
 838:	227f      	addi      	r2, 128
 83a:	07e3      	br      	0x800	// 800 <__pack_f+0x38>
 83c:	610a      	subu      	r4, r2
 83e:	3c39      	cmplti      	r4, 26
 840:	0fea      	bf      	0x814	// 814 <__pack_f+0x4c>
 842:	3201      	movi      	r2, 1
 844:	7090      	lsl      	r2, r4
 846:	2a00      	subi      	r2, 1
 848:	6c0f      	mov      	r0, r3
 84a:	68c8      	and      	r3, r2
 84c:	3b40      	cmpnei      	r3, 0
 84e:	3300      	movi      	r3, 0
 850:	7011      	lsr      	r0, r4
 852:	60cd      	addc      	r3, r3
 854:	6cc0      	or      	r3, r0
 856:	307f      	movi      	r0, 127
 858:	680c      	and      	r0, r3
 85a:	3240      	movi      	r2, 64
 85c:	6482      	cmpne      	r0, r2
 85e:	080d      	bt      	0x878	// 878 <__pack_f+0xb0>
 860:	3280      	movi      	r2, 128
 862:	688c      	and      	r2, r3
 864:	3a40      	cmpnei      	r2, 0
 866:	0c02      	bf      	0x86a	// 86a <__pack_f+0xa2>
 868:	60c0      	addu      	r3, r0
 86a:	1045      	lrw      	r2, 0x3fffffff	// 87c <__pack_f+0xb4>
 86c:	64c8      	cmphs      	r2, r3
 86e:	4302      	lsli      	r0, r3, 2
 870:	64c3      	mvcv      	r3
 872:	4809      	lsri      	r0, r0, 9
 874:	74cc      	zextb      	r3, r3
 876:	07c8      	br      	0x806	// 806 <__pack_f+0x3e>
 878:	233e      	addi      	r3, 63
 87a:	07f8      	br      	0x86a	// 86a <__pack_f+0xa2>
 87c:	3fffffff 	.long	0x3fffffff

00000880 <__unpack_f>:
 880:	14c1      	push      	r4
 882:	8861      	ld.h      	r3, (r0, 0x2)
 884:	4371      	lsli      	r3, r3, 17
 886:	9040      	ld.w      	r2, (r0, 0x0)
 888:	4b78      	lsri      	r3, r3, 24
 88a:	8003      	ld.b      	r0, (r0, 0x3)
 88c:	4249      	lsli      	r2, r2, 9
 88e:	4807      	lsri      	r0, r0, 7
 890:	3b40      	cmpnei      	r3, 0
 892:	4a49      	lsri      	r2, r2, 9
 894:	b101      	st.w      	r0, (r1, 0x4)
 896:	0811      	bt      	0x8b8	// 8b8 <__unpack_f+0x38>
 898:	3a40      	cmpnei      	r2, 0
 89a:	0c1a      	bf      	0x8ce	// 8ce <__unpack_f+0x4e>
 89c:	3303      	movi      	r3, 3
 89e:	b160      	st.w      	r3, (r1, 0x0)
 8a0:	3300      	movi      	r3, 0
 8a2:	4247      	lsli      	r2, r2, 7
 8a4:	2b7e      	subi      	r3, 127
 8a6:	1096      	lrw      	r4, 0x3fffffff	// 8fc <__unpack_f+0x7c>
 8a8:	4241      	lsli      	r2, r2, 1
 8aa:	6490      	cmphs      	r4, r2
 8ac:	6c0f      	mov      	r0, r3
 8ae:	2b00      	subi      	r3, 1
 8b0:	0bfc      	bt      	0x8a8	// 8a8 <__unpack_f+0x28>
 8b2:	b102      	st.w      	r0, (r1, 0x8)
 8b4:	b143      	st.w      	r2, (r1, 0xc)
 8b6:	1481      	pop      	r4
 8b8:	30ff      	movi      	r0, 255
 8ba:	640e      	cmpne      	r3, r0
 8bc:	0c0c      	bf      	0x8d4	// 8d4 <__unpack_f+0x54>
 8be:	2b7e      	subi      	r3, 127
 8c0:	4247      	lsli      	r2, r2, 7
 8c2:	b162      	st.w      	r3, (r1, 0x8)
 8c4:	3abe      	bseti      	r2, 30
 8c6:	3303      	movi      	r3, 3
 8c8:	b160      	st.w      	r3, (r1, 0x0)
 8ca:	b143      	st.w      	r2, (r1, 0xc)
 8cc:	1481      	pop      	r4
 8ce:	3302      	movi      	r3, 2
 8d0:	b160      	st.w      	r3, (r1, 0x0)
 8d2:	1481      	pop      	r4
 8d4:	3a40      	cmpnei      	r2, 0
 8d6:	0c0d      	bf      	0x8f0	// 8f0 <__unpack_f+0x70>
 8d8:	3380      	movi      	r3, 128
 8da:	436f      	lsli      	r3, r3, 15
 8dc:	68c8      	and      	r3, r2
 8de:	3b40      	cmpnei      	r3, 0
 8e0:	0c0b      	bf      	0x8f6	// 8f6 <__unpack_f+0x76>
 8e2:	3301      	movi      	r3, 1
 8e4:	b160      	st.w      	r3, (r1, 0x0)
 8e6:	1067      	lrw      	r3, 0x2000007f	// 900 <__unpack_f+0x80>
 8e8:	4247      	lsli      	r2, r2, 7
 8ea:	688d      	andn      	r2, r3
 8ec:	b143      	st.w      	r2, (r1, 0xc)
 8ee:	1481      	pop      	r4
 8f0:	3304      	movi      	r3, 4
 8f2:	b160      	st.w      	r3, (r1, 0x0)
 8f4:	1481      	pop      	r4
 8f6:	b160      	st.w      	r3, (r1, 0x0)
 8f8:	07f7      	br      	0x8e6	// 8e6 <__unpack_f+0x66>
 8fa:	0000      	bkpt
 8fc:	3fffffff 	.long	0x3fffffff
 900:	2000007f 	.long	0x2000007f

00000904 <__fpcmp_parts_f>:
 904:	14c1      	push      	r4
 906:	9060      	ld.w      	r3, (r0, 0x0)
 908:	3b01      	cmphsi      	r3, 2
 90a:	0c12      	bf      	0x92e	// 92e <__fpcmp_parts_f+0x2a>
 90c:	9140      	ld.w      	r2, (r1, 0x0)
 90e:	3a01      	cmphsi      	r2, 2
 910:	0c0f      	bf      	0x92e	// 92e <__fpcmp_parts_f+0x2a>
 912:	3b44      	cmpnei      	r3, 4
 914:	0c17      	bf      	0x942	// 942 <__fpcmp_parts_f+0x3e>
 916:	3a44      	cmpnei      	r2, 4
 918:	0c0f      	bf      	0x936	// 936 <__fpcmp_parts_f+0x32>
 91a:	3b42      	cmpnei      	r3, 2
 91c:	0c0b      	bf      	0x932	// 932 <__fpcmp_parts_f+0x2e>
 91e:	3a42      	cmpnei      	r2, 2
 920:	0c13      	bf      	0x946	// 946 <__fpcmp_parts_f+0x42>
 922:	9061      	ld.w      	r3, (r0, 0x4)
 924:	9141      	ld.w      	r2, (r1, 0x4)
 926:	648e      	cmpne      	r3, r2
 928:	0c14      	bf      	0x950	// 950 <__fpcmp_parts_f+0x4c>
 92a:	3b40      	cmpnei      	r3, 0
 92c:	0808      	bt      	0x93c	// 93c <__fpcmp_parts_f+0x38>
 92e:	3001      	movi      	r0, 1
 930:	1481      	pop      	r4
 932:	3a42      	cmpnei      	r2, 2
 934:	0c1e      	bf      	0x970	// 970 <__fpcmp_parts_f+0x6c>
 936:	9161      	ld.w      	r3, (r1, 0x4)
 938:	3b40      	cmpnei      	r3, 0
 93a:	0bfa      	bt      	0x92e	// 92e <__fpcmp_parts_f+0x2a>
 93c:	3000      	movi      	r0, 0
 93e:	2800      	subi      	r0, 1
 940:	1481      	pop      	r4
 942:	3a44      	cmpnei      	r2, 4
 944:	0c18      	bf      	0x974	// 974 <__fpcmp_parts_f+0x70>
 946:	9061      	ld.w      	r3, (r0, 0x4)
 948:	3b40      	cmpnei      	r3, 0
 94a:	0bf9      	bt      	0x93c	// 93c <__fpcmp_parts_f+0x38>
 94c:	3001      	movi      	r0, 1
 94e:	07f1      	br      	0x930	// 930 <__fpcmp_parts_f+0x2c>
 950:	9082      	ld.w      	r4, (r0, 0x8)
 952:	9142      	ld.w      	r2, (r1, 0x8)
 954:	6509      	cmplt      	r2, r4
 956:	0bea      	bt      	0x92a	// 92a <__fpcmp_parts_f+0x26>
 958:	6491      	cmplt      	r4, r2
 95a:	0807      	bt      	0x968	// 968 <__fpcmp_parts_f+0x64>
 95c:	9003      	ld.w      	r0, (r0, 0xc)
 95e:	9143      	ld.w      	r2, (r1, 0xc)
 960:	6408      	cmphs      	r2, r0
 962:	0fe4      	bf      	0x92a	// 92a <__fpcmp_parts_f+0x26>
 964:	6480      	cmphs      	r0, r2
 966:	0805      	bt      	0x970	// 970 <__fpcmp_parts_f+0x6c>
 968:	3b40      	cmpnei      	r3, 0
 96a:	0fe9      	bf      	0x93c	// 93c <__fpcmp_parts_f+0x38>
 96c:	3001      	movi      	r0, 1
 96e:	07e1      	br      	0x930	// 930 <__fpcmp_parts_f+0x2c>
 970:	3000      	movi      	r0, 0
 972:	1481      	pop      	r4
 974:	9161      	ld.w      	r3, (r1, 0x4)
 976:	9041      	ld.w      	r2, (r0, 0x4)
 978:	5b09      	subu      	r0, r3, r2
 97a:	1481      	pop      	r4

0000097c <__make_fp>:
 97c:	14d0      	push      	r15
 97e:	1424      	subi      	r14, r14, 16
 980:	b800      	st.w      	r0, (r14, 0x0)
 982:	6c3b      	mov      	r0, r14
 984:	b821      	st.w      	r1, (r14, 0x4)
 986:	b842      	st.w      	r2, (r14, 0x8)
 988:	b863      	st.w      	r3, (r14, 0xc)
 98a:	e3ffff1f 	bsr      	0x7c8	// 7c8 <__pack_f>
 98e:	1404      	addi      	r14, r14, 16
 990:	1490      	pop      	r15
	...

00000994 <__pack_d>:
 994:	14c4      	push      	r4-r7
 996:	1422      	subi      	r14, r14, 8
 998:	9060      	ld.w      	r3, (r0, 0x0)
 99a:	3b01      	cmphsi      	r3, 2
 99c:	90c3      	ld.w      	r6, (r0, 0xc)
 99e:	90e4      	ld.w      	r7, (r0, 0x10)
 9a0:	9021      	ld.w      	r1, (r0, 0x4)
 9a2:	0c46      	bf      	0xa2e	// a2e <__pack_d+0x9a>
 9a4:	3b44      	cmpnei      	r3, 4
 9a6:	0c40      	bf      	0xa26	// a26 <__pack_d+0x92>
 9a8:	3b42      	cmpnei      	r3, 2
 9aa:	0c27      	bf      	0x9f8	// 9f8 <__pack_d+0x64>
 9ac:	6cdb      	mov      	r3, r6
 9ae:	6cdc      	or      	r3, r7
 9b0:	3b40      	cmpnei      	r3, 0
 9b2:	0c23      	bf      	0x9f8	// 9f8 <__pack_d+0x64>
 9b4:	9062      	ld.w      	r3, (r0, 0x8)
 9b6:	125a      	lrw      	r2, 0xfffffc02	// b1c <__pack_d+0x188>
 9b8:	648d      	cmplt      	r3, r2
 9ba:	0855      	bt      	0xa64	// a64 <__pack_d+0xd0>
 9bc:	1259      	lrw      	r2, 0x3ff	// b20 <__pack_d+0x18c>
 9be:	64c9      	cmplt      	r2, r3
 9c0:	0833      	bt      	0xa26	// a26 <__pack_d+0x92>
 9c2:	34ff      	movi      	r4, 255
 9c4:	3500      	movi      	r5, 0
 9c6:	6918      	and      	r4, r6
 9c8:	695c      	and      	r5, r7
 9ca:	3280      	movi      	r2, 128
 9cc:	6492      	cmpne      	r4, r2
 9ce:	0c3f      	bf      	0xa4c	// a4c <__pack_d+0xb8>
 9d0:	347f      	movi      	r4, 127
 9d2:	3500      	movi      	r5, 0
 9d4:	6599      	cmplt      	r6, r6
 9d6:	6191      	addc      	r6, r4
 9d8:	61d5      	addc      	r7, r5
 9da:	1253      	lrw      	r2, 0x1fffffff	// b24 <__pack_d+0x190>
 9dc:	65c8      	cmphs      	r2, r7
 9de:	0c1a      	bf      	0xa12	// a12 <__pack_d+0x7e>
 9e0:	1290      	lrw      	r4, 0x3ff	// b20 <__pack_d+0x18c>
 9e2:	610c      	addu      	r4, r3
 9e4:	4718      	lsli      	r0, r7, 24
 9e6:	4f68      	lsri      	r3, r7, 8
 9e8:	4e48      	lsri      	r2, r6, 8
 9ea:	6c80      	or      	r2, r0
 9ec:	430c      	lsli      	r0, r3, 12
 9ee:	486c      	lsri      	r3, r0, 12
 9f0:	120e      	lrw      	r0, 0x7ff	// b28 <__pack_d+0x194>
 9f2:	6d4b      	mov      	r5, r2
 9f4:	6900      	and      	r4, r0
 9f6:	0404      	br      	0x9fe	// 9fe <__pack_d+0x6a>
 9f8:	3400      	movi      	r4, 0
 9fa:	3200      	movi      	r2, 0
 9fc:	3300      	movi      	r3, 0
 9fe:	430c      	lsli      	r0, r3, 12
 a00:	480c      	lsri      	r0, r0, 12
 a02:	4474      	lsli      	r3, r4, 20
 a04:	419f      	lsli      	r4, r1, 31
 a06:	6c43      	mov      	r1, r0
 a08:	6c4c      	or      	r1, r3
 a0a:	6c50      	or      	r1, r4
 a0c:	6c0b      	mov      	r0, r2
 a0e:	1402      	addi      	r14, r14, 8
 a10:	1484      	pop      	r4-r7
 a12:	479f      	lsli      	r4, r7, 31
 a14:	4e01      	lsri      	r0, r6, 1
 a16:	6d00      	or      	r4, r0
 a18:	6d93      	mov      	r6, r4
 a1a:	3480      	movi      	r4, 128
 a1c:	4f41      	lsri      	r2, r7, 1
 a1e:	4483      	lsli      	r4, r4, 3
 a20:	6dcb      	mov      	r7, r2
 a22:	610c      	addu      	r4, r3
 a24:	07e0      	br      	0x9e4	// 9e4 <__pack_d+0x50>
 a26:	1281      	lrw      	r4, 0x7ff	// b28 <__pack_d+0x194>
 a28:	3200      	movi      	r2, 0
 a2a:	3300      	movi      	r3, 0
 a2c:	07e9      	br      	0x9fe	// 9fe <__pack_d+0x6a>
 a2e:	4e08      	lsri      	r0, r6, 8
 a30:	4798      	lsli      	r4, r7, 24
 a32:	6d00      	or      	r4, r0
 a34:	3580      	movi      	r5, 128
 a36:	4705      	lsli      	r0, r7, 5
 a38:	6c93      	mov      	r2, r4
 a3a:	486d      	lsri      	r3, r0, 13
 a3c:	3400      	movi      	r4, 0
 a3e:	45ac      	lsli      	r5, r5, 12
 a40:	6c90      	or      	r2, r4
 a42:	6cd4      	or      	r3, r5
 a44:	430c      	lsli      	r0, r3, 12
 a46:	486c      	lsri      	r3, r0, 12
 a48:	1198      	lrw      	r4, 0x7ff	// b28 <__pack_d+0x194>
 a4a:	07da      	br      	0x9fe	// 9fe <__pack_d+0x6a>
 a4c:	3d40      	cmpnei      	r5, 0
 a4e:	0bc1      	bt      	0x9d0	// 9d0 <__pack_d+0x3c>
 a50:	4241      	lsli      	r2, r2, 1
 a52:	6898      	and      	r2, r6
 a54:	3a40      	cmpnei      	r2, 0
 a56:	0fc2      	bf      	0x9da	// 9da <__pack_d+0x46>
 a58:	3480      	movi      	r4, 128
 a5a:	3500      	movi      	r5, 0
 a5c:	6599      	cmplt      	r6, r6
 a5e:	6191      	addc      	r6, r4
 a60:	61d5      	addc      	r7, r5
 a62:	07bc      	br      	0x9da	// 9da <__pack_d+0x46>
 a64:	5a6d      	subu      	r3, r2, r3
 a66:	3238      	movi      	r2, 56
 a68:	64c9      	cmplt      	r2, r3
 a6a:	0bc7      	bt      	0x9f8	// 9f8 <__pack_d+0x64>
 a6c:	3200      	movi      	r2, 0
 a6e:	2a1f      	subi      	r2, 32
 a70:	608c      	addu      	r2, r3
 a72:	3adf      	btsti      	r2, 31
 a74:	0848      	bt      	0xb04	// b04 <__pack_d+0x170>
 a76:	6c1f      	mov      	r0, r7
 a78:	7009      	lsr      	r0, r2
 a7a:	b800      	st.w      	r0, (r14, 0x0)
 a7c:	3000      	movi      	r0, 0
 a7e:	b801      	st.w      	r0, (r14, 0x4)
 a80:	3adf      	btsti      	r2, 31
 a82:	083c      	bt      	0xafa	// afa <__pack_d+0x166>
 a84:	3301      	movi      	r3, 1
 a86:	70c8      	lsl      	r3, r2
 a88:	6d4f      	mov      	r5, r3
 a8a:	3300      	movi      	r3, 0
 a8c:	6d0f      	mov      	r4, r3
 a8e:	3200      	movi      	r2, 0
 a90:	3300      	movi      	r3, 0
 a92:	2a00      	subi      	r2, 1
 a94:	2b00      	subi      	r3, 1
 a96:	6511      	cmplt      	r4, r4
 a98:	6109      	addc      	r4, r2
 a9a:	614d      	addc      	r5, r3
 a9c:	6990      	and      	r6, r4
 a9e:	69d4      	and      	r7, r5
 aa0:	6d9c      	or      	r6, r7
 aa2:	3e40      	cmpnei      	r6, 0
 aa4:	3000      	movi      	r0, 0
 aa6:	6001      	addc      	r0, r0
 aa8:	6c83      	mov      	r2, r0
 aaa:	3300      	movi      	r3, 0
 aac:	9880      	ld.w      	r4, (r14, 0x0)
 aae:	98a1      	ld.w      	r5, (r14, 0x4)
 ab0:	6d08      	or      	r4, r2
 ab2:	6d4c      	or      	r5, r3
 ab4:	32ff      	movi      	r2, 255
 ab6:	3300      	movi      	r3, 0
 ab8:	6890      	and      	r2, r4
 aba:	68d4      	and      	r3, r5
 abc:	3080      	movi      	r0, 128
 abe:	640a      	cmpne      	r2, r0
 ac0:	081b      	bt      	0xaf6	// af6 <__pack_d+0x162>
 ac2:	3b40      	cmpnei      	r3, 0
 ac4:	0819      	bt      	0xaf6	// af6 <__pack_d+0x162>
 ac6:	3380      	movi      	r3, 128
 ac8:	4361      	lsli      	r3, r3, 1
 aca:	68d0      	and      	r3, r4
 acc:	3b40      	cmpnei      	r3, 0
 ace:	0c06      	bf      	0xada	// ada <__pack_d+0x146>
 ad0:	3280      	movi      	r2, 128
 ad2:	3300      	movi      	r3, 0
 ad4:	6511      	cmplt      	r4, r4
 ad6:	6109      	addc      	r4, r2
 ad8:	614d      	addc      	r5, r3
 ada:	4518      	lsli      	r0, r5, 24
 adc:	4c48      	lsri      	r2, r4, 8
 ade:	4d68      	lsri      	r3, r5, 8
 ae0:	1093      	lrw      	r4, 0xfffffff	// b2c <__pack_d+0x198>
 ae2:	6c80      	or      	r2, r0
 ae4:	6550      	cmphs      	r4, r5
 ae6:	430c      	lsli      	r0, r3, 12
 ae8:	486c      	lsri      	r3, r0, 12
 aea:	3001      	movi      	r0, 1
 aec:	0c02      	bf      	0xaf0	// af0 <__pack_d+0x15c>
 aee:	3000      	movi      	r0, 0
 af0:	108e      	lrw      	r4, 0x7ff	// b28 <__pack_d+0x194>
 af2:	6900      	and      	r4, r0
 af4:	0785      	br      	0x9fe	// 9fe <__pack_d+0x6a>
 af6:	327f      	movi      	r2, 127
 af8:	07ed      	br      	0xad2	// ad2 <__pack_d+0x13e>
 afa:	3201      	movi      	r2, 1
 afc:	708c      	lsl      	r2, r3
 afe:	3500      	movi      	r5, 0
 b00:	6d0b      	mov      	r4, r2
 b02:	07c6      	br      	0xa8e	// a8e <__pack_d+0xfa>
 b04:	341f      	movi      	r4, 31
 b06:	610e      	subu      	r4, r3
 b08:	4701      	lsli      	r0, r7, 1
 b0a:	7010      	lsl      	r0, r4
 b0c:	6d1b      	mov      	r4, r6
 b0e:	710d      	lsr      	r4, r3
 b10:	6d00      	or      	r4, r0
 b12:	6c1f      	mov      	r0, r7
 b14:	700d      	lsr      	r0, r3
 b16:	b880      	st.w      	r4, (r14, 0x0)
 b18:	b801      	st.w      	r0, (r14, 0x4)
 b1a:	07b3      	br      	0xa80	// a80 <__pack_d+0xec>
 b1c:	fffffc02 	.long	0xfffffc02
 b20:	000003ff 	.long	0x000003ff
 b24:	1fffffff 	.long	0x1fffffff
 b28:	000007ff 	.long	0x000007ff
 b2c:	0fffffff 	.long	0x0fffffff

00000b30 <__unpack_d>:
 b30:	1423      	subi      	r14, r14, 12
 b32:	b880      	st.w      	r4, (r14, 0x0)
 b34:	b8c1      	st.w      	r6, (r14, 0x4)
 b36:	b8e2      	st.w      	r7, (r14, 0x8)
 b38:	8843      	ld.h      	r2, (r0, 0x6)
 b3a:	4251      	lsli      	r2, r2, 17
 b3c:	9061      	ld.w      	r3, (r0, 0x4)
 b3e:	9080      	ld.w      	r4, (r0, 0x0)
 b40:	4a55      	lsri      	r2, r2, 21
 b42:	8007      	ld.b      	r0, (r0, 0x7)
 b44:	436c      	lsli      	r3, r3, 12
 b46:	4807      	lsri      	r0, r0, 7
 b48:	3a40      	cmpnei      	r2, 0
 b4a:	4b6c      	lsri      	r3, r3, 12
 b4c:	b101      	st.w      	r0, (r1, 0x4)
 b4e:	0819      	bt      	0xb80	// b80 <__unpack_d+0x50>
 b50:	6c93      	mov      	r2, r4
 b52:	6c8c      	or      	r2, r3
 b54:	3a40      	cmpnei      	r2, 0
 b56:	0c2d      	bf      	0xbb0	// bb0 <__unpack_d+0x80>
 b58:	4c58      	lsri      	r2, r4, 24
 b5a:	4368      	lsli      	r3, r3, 8
 b5c:	6cc8      	or      	r3, r2
 b5e:	3203      	movi      	r2, 3
 b60:	4408      	lsli      	r0, r4, 8
 b62:	b140      	st.w      	r2, (r1, 0x0)
 b64:	1181      	lrw      	r4, 0xfffffc01	// be8 <__unpack_d+0xb8>
 b66:	11c2      	lrw      	r6, 0xfffffff	// bec <__unpack_d+0xbc>
 b68:	485f      	lsri      	r2, r0, 31
 b6a:	4361      	lsli      	r3, r3, 1
 b6c:	6cc8      	or      	r3, r2
 b6e:	64d8      	cmphs      	r6, r3
 b70:	6c93      	mov      	r2, r4
 b72:	4001      	lsli      	r0, r0, 1
 b74:	2c00      	subi      	r4, 1
 b76:	0bf9      	bt      	0xb68	// b68 <__unpack_d+0x38>
 b78:	b142      	st.w      	r2, (r1, 0x8)
 b7a:	b103      	st.w      	r0, (r1, 0xc)
 b7c:	b164      	st.w      	r3, (r1, 0x10)
 b7e:	0414      	br      	0xba6	// ba6 <__unpack_d+0x76>
 b80:	101c      	lrw      	r0, 0x7ff	// bf0 <__unpack_d+0xc0>
 b82:	640a      	cmpne      	r2, r0
 b84:	0c19      	bf      	0xbb6	// bb6 <__unpack_d+0x86>
 b86:	1019      	lrw      	r0, 0xfffffc01	// be8 <__unpack_d+0xb8>
 b88:	6080      	addu      	r2, r0
 b8a:	b142      	st.w      	r2, (r1, 0x8)
 b8c:	3203      	movi      	r2, 3
 b8e:	43e8      	lsli      	r7, r3, 8
 b90:	b140      	st.w      	r2, (r1, 0x0)
 b92:	3380      	movi      	r3, 128
 b94:	4c58      	lsri      	r2, r4, 24
 b96:	6dc8      	or      	r7, r2
 b98:	44c8      	lsli      	r6, r4, 8
 b9a:	3200      	movi      	r2, 0
 b9c:	4375      	lsli      	r3, r3, 21
 b9e:	6d88      	or      	r6, r2
 ba0:	6dcc      	or      	r7, r3
 ba2:	b1c3      	st.w      	r6, (r1, 0xc)
 ba4:	b1e4      	st.w      	r7, (r1, 0x10)
 ba6:	98e2      	ld.w      	r7, (r14, 0x8)
 ba8:	98c1      	ld.w      	r6, (r14, 0x4)
 baa:	9880      	ld.w      	r4, (r14, 0x0)
 bac:	1403      	addi      	r14, r14, 12
 bae:	783c      	jmp      	r15
 bb0:	3302      	movi      	r3, 2
 bb2:	b160      	st.w      	r3, (r1, 0x0)
 bb4:	07f9      	br      	0xba6	// ba6 <__unpack_d+0x76>
 bb6:	6c93      	mov      	r2, r4
 bb8:	6c8c      	or      	r2, r3
 bba:	3a40      	cmpnei      	r2, 0
 bbc:	0c10      	bf      	0xbdc	// bdc <__unpack_d+0xac>
 bbe:	3280      	movi      	r2, 128
 bc0:	424c      	lsli      	r2, r2, 12
 bc2:	688c      	and      	r2, r3
 bc4:	3a40      	cmpnei      	r2, 0
 bc6:	0c0e      	bf      	0xbe2	// be2 <__unpack_d+0xb2>
 bc8:	3201      	movi      	r2, 1
 bca:	b140      	st.w      	r2, (r1, 0x0)
 bcc:	4c58      	lsri      	r2, r4, 24
 bce:	4368      	lsli      	r3, r3, 8
 bd0:	6cc8      	or      	r3, r2
 bd2:	4408      	lsli      	r0, r4, 8
 bd4:	3b9b      	bclri      	r3, 27
 bd6:	b103      	st.w      	r0, (r1, 0xc)
 bd8:	b164      	st.w      	r3, (r1, 0x10)
 bda:	07e6      	br      	0xba6	// ba6 <__unpack_d+0x76>
 bdc:	3304      	movi      	r3, 4
 bde:	b160      	st.w      	r3, (r1, 0x0)
 be0:	07e3      	br      	0xba6	// ba6 <__unpack_d+0x76>
 be2:	b140      	st.w      	r2, (r1, 0x0)
 be4:	07f4      	br      	0xbcc	// bcc <__unpack_d+0x9c>
 be6:	0000      	bkpt
 be8:	fffffc01 	.long	0xfffffc01
 bec:	0fffffff 	.long	0x0fffffff
 bf0:	000007ff 	.long	0x000007ff

00000bf4 <__memset_fast>:
 bf4:	14c3      	push      	r4-r6
 bf6:	7444      	zextb      	r1, r1
 bf8:	3a40      	cmpnei      	r2, 0
 bfa:	0c1f      	bf      	0xc38	// c38 <__memset_fast+0x44>
 bfc:	6d43      	mov      	r5, r0
 bfe:	6d03      	mov      	r4, r0
 c00:	3603      	movi      	r6, 3
 c02:	6918      	and      	r4, r6
 c04:	3c40      	cmpnei      	r4, 0
 c06:	0c1a      	bf      	0xc3a	// c3a <__memset_fast+0x46>
 c08:	a520      	st.b      	r1, (r5, 0x0)
 c0a:	2a00      	subi      	r2, 1
 c0c:	3a40      	cmpnei      	r2, 0
 c0e:	0c15      	bf      	0xc38	// c38 <__memset_fast+0x44>
 c10:	2500      	addi      	r5, 1
 c12:	6d17      	mov      	r4, r5
 c14:	3603      	movi      	r6, 3
 c16:	6918      	and      	r4, r6
 c18:	3c40      	cmpnei      	r4, 0
 c1a:	0c10      	bf      	0xc3a	// c3a <__memset_fast+0x46>
 c1c:	a520      	st.b      	r1, (r5, 0x0)
 c1e:	2a00      	subi      	r2, 1
 c20:	3a40      	cmpnei      	r2, 0
 c22:	0c0b      	bf      	0xc38	// c38 <__memset_fast+0x44>
 c24:	2500      	addi      	r5, 1
 c26:	6d17      	mov      	r4, r5
 c28:	3603      	movi      	r6, 3
 c2a:	6918      	and      	r4, r6
 c2c:	3c40      	cmpnei      	r4, 0
 c2e:	0c06      	bf      	0xc3a	// c3a <__memset_fast+0x46>
 c30:	a520      	st.b      	r1, (r5, 0x0)
 c32:	2a00      	subi      	r2, 1
 c34:	2500      	addi      	r5, 1
 c36:	0402      	br      	0xc3a	// c3a <__memset_fast+0x46>
 c38:	1483      	pop      	r4-r6
 c3a:	4168      	lsli      	r3, r1, 8
 c3c:	6c4c      	or      	r1, r3
 c3e:	4170      	lsli      	r3, r1, 16
 c40:	6c4c      	or      	r1, r3
 c42:	3a2f      	cmplti      	r2, 16
 c44:	0809      	bt      	0xc56	// c56 <__memset_fast+0x62>
 c46:	b520      	st.w      	r1, (r5, 0x0)
 c48:	b521      	st.w      	r1, (r5, 0x4)
 c4a:	b522      	st.w      	r1, (r5, 0x8)
 c4c:	b523      	st.w      	r1, (r5, 0xc)
 c4e:	2a0f      	subi      	r2, 16
 c50:	250f      	addi      	r5, 16
 c52:	3a2f      	cmplti      	r2, 16
 c54:	0ff9      	bf      	0xc46	// c46 <__memset_fast+0x52>
 c56:	3a23      	cmplti      	r2, 4
 c58:	0806      	bt      	0xc64	// c64 <__memset_fast+0x70>
 c5a:	2a03      	subi      	r2, 4
 c5c:	b520      	st.w      	r1, (r5, 0x0)
 c5e:	2503      	addi      	r5, 4
 c60:	3a23      	cmplti      	r2, 4
 c62:	0ffc      	bf      	0xc5a	// c5a <__memset_fast+0x66>
 c64:	3a40      	cmpnei      	r2, 0
 c66:	0fe9      	bf      	0xc38	// c38 <__memset_fast+0x44>
 c68:	2a00      	subi      	r2, 1
 c6a:	a520      	st.b      	r1, (r5, 0x0)
 c6c:	3a40      	cmpnei      	r2, 0
 c6e:	0fe5      	bf      	0xc38	// c38 <__memset_fast+0x44>
 c70:	2a00      	subi      	r2, 1
 c72:	a521      	st.b      	r1, (r5, 0x1)
 c74:	3a40      	cmpnei      	r2, 0
 c76:	0fe1      	bf      	0xc38	// c38 <__memset_fast+0x44>
 c78:	a522      	st.b      	r1, (r5, 0x2)
 c7a:	1483      	pop      	r4-r6

00000c7c <__memcpy_fast>:
 c7c:	14c3      	push      	r4-r6
 c7e:	6d83      	mov      	r6, r0
 c80:	6d07      	mov      	r4, r1
 c82:	6d18      	or      	r4, r6
 c84:	3303      	movi      	r3, 3
 c86:	690c      	and      	r4, r3
 c88:	3c40      	cmpnei      	r4, 0
 c8a:	0c0b      	bf      	0xca0	// ca0 <__memcpy_fast+0x24>
 c8c:	3a40      	cmpnei      	r2, 0
 c8e:	0c08      	bf      	0xc9e	// c9e <__memcpy_fast+0x22>
 c90:	8160      	ld.b      	r3, (r1, 0x0)
 c92:	2100      	addi      	r1, 1
 c94:	2a00      	subi      	r2, 1
 c96:	a660      	st.b      	r3, (r6, 0x0)
 c98:	2600      	addi      	r6, 1
 c9a:	3a40      	cmpnei      	r2, 0
 c9c:	0bfa      	bt      	0xc90	// c90 <__memcpy_fast+0x14>
 c9e:	1483      	pop      	r4-r6
 ca0:	3a2f      	cmplti      	r2, 16
 ca2:	080e      	bt      	0xcbe	// cbe <__memcpy_fast+0x42>
 ca4:	91a0      	ld.w      	r5, (r1, 0x0)
 ca6:	9161      	ld.w      	r3, (r1, 0x4)
 ca8:	9182      	ld.w      	r4, (r1, 0x8)
 caa:	b6a0      	st.w      	r5, (r6, 0x0)
 cac:	91a3      	ld.w      	r5, (r1, 0xc)
 cae:	b661      	st.w      	r3, (r6, 0x4)
 cb0:	b682      	st.w      	r4, (r6, 0x8)
 cb2:	b6a3      	st.w      	r5, (r6, 0xc)
 cb4:	2a0f      	subi      	r2, 16
 cb6:	210f      	addi      	r1, 16
 cb8:	260f      	addi      	r6, 16
 cba:	3a2f      	cmplti      	r2, 16
 cbc:	0ff4      	bf      	0xca4	// ca4 <__memcpy_fast+0x28>
 cbe:	3a23      	cmplti      	r2, 4
 cc0:	0808      	bt      	0xcd0	// cd0 <__memcpy_fast+0x54>
 cc2:	9160      	ld.w      	r3, (r1, 0x0)
 cc4:	2a03      	subi      	r2, 4
 cc6:	2103      	addi      	r1, 4
 cc8:	b660      	st.w      	r3, (r6, 0x0)
 cca:	2603      	addi      	r6, 4
 ccc:	3a23      	cmplti      	r2, 4
 cce:	0ffa      	bf      	0xcc2	// cc2 <__memcpy_fast+0x46>
 cd0:	3a40      	cmpnei      	r2, 0
 cd2:	0fe6      	bf      	0xc9e	// c9e <__memcpy_fast+0x22>
 cd4:	8160      	ld.b      	r3, (r1, 0x0)
 cd6:	2100      	addi      	r1, 1
 cd8:	2a00      	subi      	r2, 1
 cda:	a660      	st.b      	r3, (r6, 0x0)
 cdc:	2600      	addi      	r6, 1
 cde:	07f9      	br      	0xcd0	// cd0 <__memcpy_fast+0x54>

Disassembly of section .text.__main:

00000ce0 <__main>:
extern char _bss_start[];
extern char _ebss[];


void __main( void ) 
{
 ce0:	14d0      	push      	r15

  /* if the start of data (dst)
     is not equal to end of text (src) then
     copy it, else it's already in the right place
     */
  if( _start_data != _end_rodata ) {
 ce2:	1009      	lrw      	r0, 0x20000000	// d04 <__main+0x24>
 ce4:	1029      	lrw      	r1, 0x60dc	// d08 <__main+0x28>
 ce6:	6442      	cmpne      	r0, r1
 ce8:	0c05      	bf      	0xcf2	// cf2 <__main+0x12>
//    __memcpy_fast( dst, src, (_end_data - _start_data));
    memcpy( dst, src, (_end_data - _start_data));
 cea:	1049      	lrw      	r2, 0x20000068	// d0c <__main+0x2c>
 cec:	6082      	subu      	r2, r0
 cee:	e3ffffc7 	bsr      	0xc7c	// c7c <__memcpy_fast>
  }

  /* zero the bss 
   */
  if( _ebss - _bss_start ) {
 cf2:	1048      	lrw      	r2, 0x200007bc	// d10 <__main+0x30>
 cf4:	1008      	lrw      	r0, 0x20000068	// d14 <__main+0x34>
 cf6:	640a      	cmpne      	r2, r0
 cf8:	0c05      	bf      	0xd02	// d02 <__main+0x22>
//    __memset_fast( _bss_start, 0x00, ( _ebss - _bss_start ));
    memset( _bss_start, 0x00, ( _ebss - _bss_start ));
 cfa:	6082      	subu      	r2, r0
 cfc:	3100      	movi      	r1, 0
 cfe:	e3ffff7b 	bsr      	0xbf4	// bf4 <__memset_fast>
  }

	
}
 d02:	1490      	pop      	r15
 d04:	20000000 	.long	0x20000000
 d08:	000060dc 	.long	0x000060dc
 d0c:	20000068 	.long	0x20000068
 d10:	200007bc 	.long	0x200007bc
 d14:	20000068 	.long	0x20000068

Disassembly of section .text.SYSCON_General_CMD.part.0:

00000d18 <SYSCON_General_CMD.part.0>:
/*************************************************************/  
void SYSCON_General_CMD(FunctionalStatus NewState, SYSCON_General_CMD_TypeDef ENDIS_X )
{
	if (NewState != DISABLE)
	{
		if(ENDIS_X==ENDIS_EMOSC) 
 d18:	3848      	cmpnei      	r0, 8
 d1a:	080a      	bt      	0xd2e	// d2e <SYSCON_General_CMD.part.0+0x16>
		GPIOA0->CONLR=(GPIOA0->CONLR & 0XFFF00FFF)|0x00044000;					//enable EMOSC PIN
 d1c:	107a      	lrw      	r3, 0x2000004c	// d84 <SYSCON_General_CMD.part.0+0x6c>
 d1e:	32ff      	movi      	r2, 255
 d20:	9320      	ld.w      	r1, (r3, 0x0)
 d22:	9160      	ld.w      	r3, (r1, 0x0)
 d24:	424c      	lsli      	r2, r2, 12
 d26:	68c9      	andn      	r3, r2
 d28:	3bae      	bseti      	r3, 14
 d2a:	3bb2      	bseti      	r3, 18
 d2c:	b160      	st.w      	r3, (r1, 0x0)
		SYSCON->GCER|=ENDIS_X;													//enable SYSCON General Control
 d2e:	1077      	lrw      	r3, 0x2000005c	// d88 <SYSCON_General_CMD.part.0+0x70>
 d30:	9360      	ld.w      	r3, (r3, 0x0)
 d32:	9341      	ld.w      	r2, (r3, 0x4)
 d34:	6c80      	or      	r2, r0
 d36:	b341      	st.w      	r2, (r3, 0x4)
		while(!(SYSCON->GCSR&ENDIS_X));											//check  Enable?	
 d38:	9343      	ld.w      	r2, (r3, 0xc)
 d3a:	6880      	and      	r2, r0
 d3c:	3a40      	cmpnei      	r2, 0
 d3e:	0ffd      	bf      	0xd38	// d38 <SYSCON_General_CMD.part.0+0x20>
		switch(ENDIS_X)
 d40:	3842      	cmpnei      	r0, 2
 d42:	0807      	bt      	0xd50	// d50 <SYSCON_General_CMD.part.0+0x38>
		{
			case ENDIS_IMOSC:
				while (!(SYSCON->CKST & ENDIS_IMOSC)); 	
 d44:	3102      	movi      	r1, 2
 d46:	9344      	ld.w      	r2, (r3, 0x10)
 d48:	6884      	and      	r2, r1
 d4a:	3a40      	cmpnei      	r2, 0
 d4c:	0ffd      	bf      	0xd46	// d46 <SYSCON_General_CMD.part.0+0x2e>
	{
		SYSCON->GCDR|=ENDIS_X;													//disable SYSCON General Control
		while(SYSCON->GCSR&ENDIS_X);											//check Disable?
		SYSCON->ICR|=ENDIS_X;													//Clear ENDIS_X stable bit
	}
}
 d4e:	783c      	jmp      	r15
		switch(ENDIS_X)
 d50:	3802      	cmphsi      	r0, 3
 d52:	0809      	bt      	0xd64	// d64 <SYSCON_General_CMD.part.0+0x4c>
 d54:	3841      	cmpnei      	r0, 1
 d56:	0bfc      	bt      	0xd4e	// d4e <SYSCON_General_CMD.part.0+0x36>
				while (!(SYSCON->CKST & ENDIS_ISOSC)); 
 d58:	3101      	movi      	r1, 1
 d5a:	9344      	ld.w      	r2, (r3, 0x10)
 d5c:	6884      	and      	r2, r1
 d5e:	3a40      	cmpnei      	r2, 0
 d60:	0ffd      	bf      	0xd5a	// d5a <SYSCON_General_CMD.part.0+0x42>
 d62:	07f6      	br      	0xd4e	// d4e <SYSCON_General_CMD.part.0+0x36>
		switch(ENDIS_X)
 d64:	3848      	cmpnei      	r0, 8
 d66:	0807      	bt      	0xd74	// d74 <SYSCON_General_CMD.part.0+0x5c>
				while (!(SYSCON->CKST & ENDIS_EMOSC)); 
 d68:	3108      	movi      	r1, 8
 d6a:	9344      	ld.w      	r2, (r3, 0x10)
 d6c:	6884      	and      	r2, r1
 d6e:	3a40      	cmpnei      	r2, 0
 d70:	0ffd      	bf      	0xd6a	// d6a <SYSCON_General_CMD.part.0+0x52>
 d72:	07ee      	br      	0xd4e	// d4e <SYSCON_General_CMD.part.0+0x36>
		switch(ENDIS_X)
 d74:	3850      	cmpnei      	r0, 16
 d76:	0bec      	bt      	0xd4e	// d4e <SYSCON_General_CMD.part.0+0x36>
				while (!(SYSCON->CKST & ENDIS_HFOSC)); 
 d78:	3110      	movi      	r1, 16
 d7a:	9344      	ld.w      	r2, (r3, 0x10)
 d7c:	6884      	and      	r2, r1
 d7e:	3a40      	cmpnei      	r2, 0
 d80:	0ffd      	bf      	0xd7a	// d7a <SYSCON_General_CMD.part.0+0x62>
 d82:	07e6      	br      	0xd4e	// d4e <SYSCON_General_CMD.part.0+0x36>
 d84:	2000004c 	.long	0x2000004c
 d88:	2000005c 	.long	0x2000005c

Disassembly of section .text.SYSCON_RST_VALUE:

00000d8c <SYSCON_RST_VALUE>:
	SYSCON->RAMCHK=SYSCON_RAMCHK_RST;
 d8c:	106f      	lrw      	r3, 0x2000005c	// dc8 <SYSCON_RST_VALUE+0x3c>
 d8e:	1050      	lrw      	r2, 0xffff	// dcc <SYSCON_RST_VALUE+0x40>
 d90:	9360      	ld.w      	r3, (r3, 0x0)
 d92:	b345      	st.w      	r2, (r3, 0x14)
	SYSCON->EFLCHK=SYSCON_EFLCHK_RST;
 d94:	104f      	lrw      	r2, 0xffffff	// dd0 <SYSCON_RST_VALUE+0x44>
 d96:	b346      	st.w      	r2, (r3, 0x18)
	SYSCON->SCLKCR=SYSCON_SCLKCR_RST;
 d98:	104f      	lrw      	r2, 0xd22d0000	// dd4 <SYSCON_RST_VALUE+0x48>
 d9a:	b347      	st.w      	r2, (r3, 0x1c)
	SYSCON->OSTR=SYSCON_OSTR_RST;
 d9c:	104f      	lrw      	r2, 0x70ff3bff	// dd8 <SYSCON_RST_VALUE+0x4c>
 d9e:	b350      	st.w      	r2, (r3, 0x40)
	SYSCON->EXIRT=SYSCON_EXIRT_RST;
 da0:	3180      	movi      	r1, 128
	SYSCON->LVDCR=SYSCON_LVDCR_RST;
 da2:	320a      	movi      	r2, 10
 da4:	b353      	st.w      	r2, (r3, 0x4c)
	SYSCON->EXIRT=SYSCON_EXIRT_RST;
 da6:	604c      	addu      	r1, r3
 da8:	3200      	movi      	r2, 0
	SYSCON->IWDCR=SYSCON_IWDCR_RST;
 daa:	100d      	lrw      	r0, 0x70c	// ddc <SYSCON_RST_VALUE+0x50>
	SYSCON->EXIRT=SYSCON_EXIRT_RST;
 dac:	b145      	st.w      	r2, (r1, 0x14)
	SYSCON->UREG0=SYSCON_UREG0_RST;
 dae:	23ff      	addi      	r3, 256
	SYSCON->EXIFT=SYSCON_EXIFT_RST;
 db0:	b146      	st.w      	r2, (r1, 0x18)
	SYSCON->IWDCR=SYSCON_IWDCR_RST;
 db2:	b10d      	st.w      	r0, (r1, 0x34)
	SYSCON->IWDCNT=SYSCON_IWDCNT_RST;
 db4:	100b      	lrw      	r0, 0x3fe	// de0 <SYSCON_RST_VALUE+0x54>
 db6:	b10e      	st.w      	r0, (r1, 0x38)
	SYSCON->EVTRG=SYSCON_EVTRG_RST;
 db8:	b15d      	st.w      	r2, (r1, 0x74)
	SYSCON->EVPS=SYSCON_EVPS_RST;
 dba:	b15e      	st.w      	r2, (r1, 0x78)
	SYSCON->EVSWF=SYSCON_EVSWF_RST;
 dbc:	b15f      	st.w      	r2, (r1, 0x7c)
	SYSCON->UREG0=SYSCON_UREG0_RST;
 dbe:	b340      	st.w      	r2, (r3, 0x0)
	SYSCON->UREG1=SYSCON_UREG1_RST;
 dc0:	b341      	st.w      	r2, (r3, 0x4)
	SYSCON->UREG2=SYSCON_UREG2_RST;
 dc2:	b342      	st.w      	r2, (r3, 0x8)
	SYSCON->UREG3=SYSCON_UREG3_RST;
 dc4:	b343      	st.w      	r2, (r3, 0xc)
}
 dc6:	783c      	jmp      	r15
 dc8:	2000005c 	.long	0x2000005c
 dcc:	0000ffff 	.long	0x0000ffff
 dd0:	00ffffff 	.long	0x00ffffff
 dd4:	d22d0000 	.long	0xd22d0000
 dd8:	70ff3bff 	.long	0x70ff3bff
 ddc:	0000070c 	.long	0x0000070c
 de0:	000003fe 	.long	0x000003fe

Disassembly of section .text.SYSCON_General_CMD:

00000de4 <SYSCON_General_CMD>:
{
 de4:	14d0      	push      	r15
	if (NewState != DISABLE)
 de6:	3840      	cmpnei      	r0, 0
 de8:	0c05      	bf      	0xdf2	// df2 <SYSCON_General_CMD+0xe>
 dea:	6c07      	mov      	r0, r1
 dec:	e3ffff96 	bsr      	0xd18	// d18 <SYSCON_General_CMD.part.0>
}
 df0:	1490      	pop      	r15
		SYSCON->GCDR|=ENDIS_X;													//disable SYSCON General Control
 df2:	1068      	lrw      	r3, 0x2000005c	// e10 <SYSCON_General_CMD+0x2c>
 df4:	9360      	ld.w      	r3, (r3, 0x0)
 df6:	9342      	ld.w      	r2, (r3, 0x8)
 df8:	6c84      	or      	r2, r1
 dfa:	b342      	st.w      	r2, (r3, 0x8)
		while(SYSCON->GCSR&ENDIS_X);											//check Disable?
 dfc:	9343      	ld.w      	r2, (r3, 0xc)
 dfe:	6884      	and      	r2, r1
 e00:	3a40      	cmpnei      	r2, 0
 e02:	0bfd      	bt      	0xdfc	// dfc <SYSCON_General_CMD+0x18>
		SYSCON->ICR|=ENDIS_X;													//Clear ENDIS_X stable bit
 e04:	237f      	addi      	r3, 128
 e06:	9301      	ld.w      	r0, (r3, 0x4)
 e08:	6c40      	or      	r1, r0
 e0a:	b321      	st.w      	r1, (r3, 0x4)
}
 e0c:	07f2      	br      	0xdf0	// df0 <SYSCON_General_CMD+0xc>
 e0e:	0000      	bkpt
 e10:	2000005c 	.long	0x2000005c

Disassembly of section .text.SystemCLK_HCLKDIV_PCLKDIV_Config:

00000e14 <SystemCLK_HCLKDIV_PCLKDIV_Config>:
//SystemClk_data_x:EMOSC_24M,EMOSC_16M,EMOSC_12M,EMOSC_8M,EMOSC_4M,EMOSC_36K,
//ISOSC,IMOSC,HFOSC_48M,HFOSC_24M,HFOSC_12M,HFOSC_6M
//ReturnValue:NONE
/*************************************************************/ 
void SystemCLK_HCLKDIV_PCLKDIV_Config(SystemCLK_TypeDef SYSCLK_X , SystemCLK_Div_TypeDef HCLK_DIV_X , PCLK_Div_TypeDef PCLK_DIV_X , SystemClk_data_TypeDef SystemClk_data_x )
{
 e14:	14c2      	push      	r4-r5
	if(SystemClk_data_x==HFOSC_48M)
 e16:	3b48      	cmpnei      	r3, 8
 e18:	0828      	bt      	0xe68	// e68 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x54>
	{
		IFC->CEDR=0X01;						//CLKEN
 e1a:	109d      	lrw      	r4, 0x20000060	// e8c <SystemCLK_HCLKDIV_PCLKDIV_Config+0x78>
 e1c:	3501      	movi      	r5, 1
 e1e:	9480      	ld.w      	r4, (r4, 0x0)
 e20:	b4a1      	st.w      	r5, (r4, 0x4)
		IFC->MR=0X04|(0X00<<16);			//High speed mode
 e22:	3504      	movi      	r5, 4
 e24:	b4a5      	st.w      	r5, (r4, 0x14)
	if((SystemClk_data_x==EMOSC_24M)||(SystemClk_data_x==HFOSC_24M))
	{
		IFC->CEDR=0X01;						//CLKEN
		IFC->MR=0X02|(0X00<<16);			//Medium speed mode
	}
	if((SystemClk_data_x==EMOSC_12M)||(SystemClk_data_x==HFOSC_12M)||(SystemClk_data_x==EMOSC_16M))
 e26:	5b83      	subi      	r4, r3, 1
 e28:	3c01      	cmphsi      	r4, 2
 e2a:	0c2b      	bf      	0xe80	// e80 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x6c>
	{
		IFC->CEDR=0X01;						//CLKEN
		IFC->MR=0X01|(0X00<<16);			//Low speed mode
	}
	if((SystemClk_data_x==EMOSC_8M)||(SystemClk_data_x==EMOSC_4M)||(SystemClk_data_x==EMOSC_36K)
		||(SystemClk_data_x==IMOSC)||(SystemClk_data_x==ISOSC)||(SystemClk_data_x==HFOSC_6M))
 e2c:	5b8b      	subi      	r4, r3, 3
	if((SystemClk_data_x==EMOSC_8M)||(SystemClk_data_x==EMOSC_4M)||(SystemClk_data_x==EMOSC_36K)
 e2e:	3c04      	cmphsi      	r4, 5
 e30:	0c03      	bf      	0xe36	// e36 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x22>
		||(SystemClk_data_x==IMOSC)||(SystemClk_data_x==ISOSC)||(SystemClk_data_x==HFOSC_6M))
 e32:	3b4b      	cmpnei      	r3, 11
 e34:	0807      	bt      	0xe42	// e42 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x2e>
	{
		IFC->CEDR=0X01;						//CLKEN
 e36:	1076      	lrw      	r3, 0x20000060	// e8c <SystemCLK_HCLKDIV_PCLKDIV_Config+0x78>
 e38:	3401      	movi      	r4, 1
 e3a:	9360      	ld.w      	r3, (r3, 0x0)
 e3c:	b381      	st.w      	r4, (r3, 0x4)
		IFC->MR=0X00|(0X00<<16);			//Low speed mode
 e3e:	3400      	movi      	r4, 0
 e40:	b385      	st.w      	r4, (r3, 0x14)
	}
	SYSCON->SCLKCR=SYSCLK_KEY | HCLK_DIV_X| SYSCLK_X;
 e42:	1094      	lrw      	r4, 0xd22d0000	// e90 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x7c>
 e44:	6c10      	or      	r0, r4
 e46:	1074      	lrw      	r3, 0x2000005c	// e94 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x80>
 e48:	6c40      	or      	r1, r0
 e4a:	9360      	ld.w      	r3, (r3, 0x0)
	while (!(SYSCON->CKST & (1<<8))); 											// waiting for sysclk stable
 e4c:	3080      	movi      	r0, 128
	SYSCON->SCLKCR=SYSCLK_KEY | HCLK_DIV_X| SYSCLK_X;
 e4e:	b327      	st.w      	r1, (r3, 0x1c)
	while (!(SYSCON->CKST & (1<<8))); 											// waiting for sysclk stable
 e50:	4001      	lsli      	r0, r0, 1
 e52:	9324      	ld.w      	r1, (r3, 0x10)
 e54:	6840      	and      	r1, r0
 e56:	3940      	cmpnei      	r1, 0
 e58:	0ffd      	bf      	0xe52	// e52 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x3e>
	SYSCON->PCLKCR=PCLK_KEY|PCLK_DIV_X;											//PCLK DIV 1 2 4 6 8 16		
 e5a:	1030      	lrw      	r1, 0xc33c0000	// e98 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x84>
 e5c:	6c48      	or      	r1, r2
 e5e:	b328      	st.w      	r1, (r3, 0x20)
	while(SYSCON->PCLKCR!=PCLK_DIV_X);											//Wait PCLK DIV
 e60:	9328      	ld.w      	r1, (r3, 0x20)
 e62:	644a      	cmpne      	r2, r1
 e64:	0bfe      	bt      	0xe60	// e60 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x4c>
}
 e66:	1482      	pop      	r4-r5
	if((SystemClk_data_x==EMOSC_24M)||(SystemClk_data_x==HFOSC_24M))
 e68:	3b40      	cmpnei      	r3, 0
 e6a:	0c03      	bf      	0xe70	// e70 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x5c>
 e6c:	3b49      	cmpnei      	r3, 9
 e6e:	0807      	bt      	0xe7c	// e7c <SystemCLK_HCLKDIV_PCLKDIV_Config+0x68>
		IFC->CEDR=0X01;						//CLKEN
 e70:	1087      	lrw      	r4, 0x20000060	// e8c <SystemCLK_HCLKDIV_PCLKDIV_Config+0x78>
 e72:	3501      	movi      	r5, 1
 e74:	9480      	ld.w      	r4, (r4, 0x0)
 e76:	b4a1      	st.w      	r5, (r4, 0x4)
		IFC->MR=0X02|(0X00<<16);			//Medium speed mode
 e78:	3502      	movi      	r5, 2
 e7a:	b4a5      	st.w      	r5, (r4, 0x14)
	if((SystemClk_data_x==EMOSC_12M)||(SystemClk_data_x==HFOSC_12M)||(SystemClk_data_x==EMOSC_16M))
 e7c:	3b4a      	cmpnei      	r3, 10
 e7e:	0bd4      	bt      	0xe26	// e26 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x12>
		IFC->CEDR=0X01;						//CLKEN
 e80:	1083      	lrw      	r4, 0x20000060	// e8c <SystemCLK_HCLKDIV_PCLKDIV_Config+0x78>
 e82:	3501      	movi      	r5, 1
 e84:	9480      	ld.w      	r4, (r4, 0x0)
 e86:	b4a1      	st.w      	r5, (r4, 0x4)
		IFC->MR=0X01|(0X00<<16);			//Low speed mode
 e88:	b4a5      	st.w      	r5, (r4, 0x14)
 e8a:	07d1      	br      	0xe2c	// e2c <SystemCLK_HCLKDIV_PCLKDIV_Config+0x18>
 e8c:	20000060 	.long	0x20000060
 e90:	d22d0000 	.long	0xd22d0000
 e94:	2000005c 	.long	0x2000005c
 e98:	c33c0000 	.long	0xc33c0000

Disassembly of section .text.SYSCON_HFOSC_SELECTE:

00000e9c <SYSCON_HFOSC_SELECTE>:
//EntryParameter:HFOSC_SELECTE_X
//HFOSC_SELECTE_X:HFOSC_SELECTE_48M,HFOSC_SELECTE_24M;HFOSC_SELECTE_12M;HFOSC_SELECTE_6M
//ReturnValue:NONE
/*************************************************************/  
void SYSCON_HFOSC_SELECTE(HFOSC_SELECTE_TypeDef HFOSC_SELECTE_X)
{		
 e9c:	14d1      	push      	r4, r15
 e9e:	6d03      	mov      	r4, r0
	SYSCON_General_CMD(DISABLE,ENDIS_HFOSC);					//disable HFOSC
 ea0:	3110      	movi      	r1, 16
 ea2:	3000      	movi      	r0, 0
 ea4:	e3ffffa0 	bsr      	0xde4	// de4 <SYSCON_General_CMD>
	SYSCON->OPT1 = (SYSCON->OPT1 & 0XFFFFFFCF)|HFOSC_SELECTE_X;
 ea8:	1066      	lrw      	r3, 0x2000005c	// ec0 <SYSCON_HFOSC_SELECTE+0x24>
 eaa:	9360      	ld.w      	r3, (r3, 0x0)
 eac:	9319      	ld.w      	r0, (r3, 0x64)
 eae:	3884      	bclri      	r0, 4
 eb0:	3885      	bclri      	r0, 5
 eb2:	6c10      	or      	r0, r4
 eb4:	b319      	st.w      	r0, (r3, 0x64)
 eb6:	3010      	movi      	r0, 16
 eb8:	e3ffff30 	bsr      	0xd18	// d18 <SYSCON_General_CMD.part.0>
	SYSCON_General_CMD(ENABLE,ENDIS_HFOSC);						//enable HFOSC
}
 ebc:	1491      	pop      	r4, r15
 ebe:	0000      	bkpt
 ec0:	2000005c 	.long	0x2000005c

Disassembly of section .text.SYSCON_WDT_CMD:

00000ec4 <SYSCON_WDT_CMD>:
//EntryParameter:,NewState
//NewState:ENABLE,DISABLE
//ReturnValue:NONE
/*************************************************************/
void SYSCON_WDT_CMD(FunctionalStatus NewState)
{
 ec4:	106c      	lrw      	r3, 0x2000005c	// ef4 <SYSCON_WDT_CMD+0x30>
	if(NewState != DISABLE)
 ec6:	3840      	cmpnei      	r0, 0
	{
		SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT;
 ec8:	9360      	ld.w      	r3, (r3, 0x0)
 eca:	237f      	addi      	r3, 128
	if(NewState != DISABLE)
 ecc:	0c0a      	bf      	0xee0	// ee0 <SYSCON_WDT_CMD+0x1c>
		SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT;
 ece:	104b      	lrw      	r2, 0x78870000	// ef8 <SYSCON_WDT_CMD+0x34>
		while(!(SYSCON->IWDCR&Check_IWDT_BUSY));
 ed0:	3180      	movi      	r1, 128
		SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT;
 ed2:	b34f      	st.w      	r2, (r3, 0x3c)
		while(!(SYSCON->IWDCR&Check_IWDT_BUSY));
 ed4:	4125      	lsli      	r1, r1, 5
 ed6:	934d      	ld.w      	r2, (r3, 0x34)
 ed8:	6884      	and      	r2, r1
 eda:	3a40      	cmpnei      	r2, 0
 edc:	0ffd      	bf      	0xed6	// ed6 <SYSCON_WDT_CMD+0x12>
	else
	{
		SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT;
		while(SYSCON->IWDCR&Check_IWDT_BUSY);
	}
}
 ede:	783c      	jmp      	r15
		SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT;
 ee0:	1047      	lrw      	r2, 0x788755aa	// efc <SYSCON_WDT_CMD+0x38>
		while(SYSCON->IWDCR&Check_IWDT_BUSY);
 ee2:	3180      	movi      	r1, 128
		SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT;
 ee4:	b34f      	st.w      	r2, (r3, 0x3c)
		while(SYSCON->IWDCR&Check_IWDT_BUSY);
 ee6:	4125      	lsli      	r1, r1, 5
 ee8:	934d      	ld.w      	r2, (r3, 0x34)
 eea:	6884      	and      	r2, r1
 eec:	3a40      	cmpnei      	r2, 0
 eee:	0bfd      	bt      	0xee8	// ee8 <SYSCON_WDT_CMD+0x24>
 ef0:	07f7      	br      	0xede	// ede <SYSCON_WDT_CMD+0x1a>
 ef2:	0000      	bkpt
 ef4:	2000005c 	.long	0x2000005c
 ef8:	78870000 	.long	0x78870000
 efc:	788755aa 	.long	0x788755aa

Disassembly of section .text.SYSCON_IWDCNT_Reload:

00000f00 <SYSCON_IWDCNT_Reload>:
//EntryParameter:NONE
//ReturnValue: NONE
/*************************************************************/
void SYSCON_IWDCNT_Reload(void)
{
	SYSCON->IWDCNT=CLR_IWDT;
 f00:	1064      	lrw      	r3, 0x2000005c	// f10 <SYSCON_IWDCNT_Reload+0x10>
 f02:	32b4      	movi      	r2, 180
 f04:	9360      	ld.w      	r3, (r3, 0x0)
 f06:	237f      	addi      	r3, 128
 f08:	4257      	lsli      	r2, r2, 23
 f0a:	b34e      	st.w      	r2, (r3, 0x38)
}
 f0c:	783c      	jmp      	r15
 f0e:	0000      	bkpt
 f10:	2000005c 	.long	0x2000005c

Disassembly of section .text.SYSCON_IWDCNT_Config:

00000f14 <SYSCON_IWDCNT_Config>:
//IWDT_INTW_DIV_X:IWDT_INTW_DIV_1/2/3/4/4/5/6
//ReturnValue: NONE
/*************************************************************/
void SYSCON_IWDCNT_Config(IWDT_TIME_TypeDef IWDT_TIME_X , IWDT_TIMEDIV_TypeDef IWDT_INTW_DIV_X )
{
	SYSCON->IWDCR=IWDT_KEY|IWDT_TIME_X|IWDT_INTW_DIV_X;
 f14:	1044      	lrw      	r2, 0x87780000	// f24 <SYSCON_IWDCNT_Config+0x10>
 f16:	1065      	lrw      	r3, 0x2000005c	// f28 <SYSCON_IWDCNT_Config+0x14>
 f18:	6c48      	or      	r1, r2
 f1a:	9360      	ld.w      	r3, (r3, 0x0)
 f1c:	6c04      	or      	r0, r1
 f1e:	237f      	addi      	r3, 128
 f20:	b30d      	st.w      	r0, (r3, 0x34)
}
 f22:	783c      	jmp      	r15
 f24:	87780000 	.long	0x87780000
 f28:	2000005c 	.long	0x2000005c

Disassembly of section .text.SYSCON_LVD_Config:

00000f2c <SYSCON_LVD_Config>:
//X_LVD_INT:ENABLE_LVD_INT,DISABLE_LVD_INT
//INTDET_POL_X:INTDET_POL_fall,INTDET_POL_X_rise,INTDET_POL_X_riseORfall
//ReturnValue: NONE
/*************************************************************/
void SYSCON_LVD_Config(X_LVDEN_TypeDef X_LVDEN , INTDET_LVL_X_TypeDef INTDET_LVL_X , RSTDET_LVL_X_TypeDef RSTDET_LVL_X , X_LVD_INT_TypeDef X_LVD_INT , INTDET_POL_X_TypeDef INTDET_POL_X)
{
 f2c:	14c3      	push      	r4-r6
 f2e:	9883      	ld.w      	r4, (r14, 0xc)
	//SYSCON->LVDCR=LVD_KEY;
	SYSCON->LVDCR=LVD_KEY|X_LVDEN|INTDET_LVL_X|RSTDET_LVL_X|X_LVD_INT|INTDET_POL_X;
 f30:	10c5      	lrw      	r6, 0xb44b0000	// f44 <SYSCON_LVD_Config+0x18>
 f32:	6d18      	or      	r4, r6
 f34:	6cd0      	or      	r3, r4
 f36:	6c8c      	or      	r2, r3
 f38:	6c48      	or      	r1, r2
 f3a:	10a4      	lrw      	r5, 0x2000005c	// f48 <SYSCON_LVD_Config+0x1c>
 f3c:	6c04      	or      	r0, r1
 f3e:	95a0      	ld.w      	r5, (r5, 0x0)
 f40:	b513      	st.w      	r0, (r5, 0x4c)
}
 f42:	1483      	pop      	r4-r6
 f44:	b44b0000 	.long	0xb44b0000
 f48:	2000005c 	.long	0x2000005c

Disassembly of section .text.LVD_Int_Enable:

00000f4c <LVD_Int_Enable>:
//EntryParameter:NONE
//ReturnValue: NONE
/*************************************************************/
void LVD_Int_Enable(void)
{
	SYSCON->ICR = LVD_INT_ST;				//clear LVD INT status
 f4c:	1066      	lrw      	r3, 0x2000005c	// f64 <LVD_Int_Enable+0x18>
 f4e:	3180      	movi      	r1, 128
 f50:	9360      	ld.w      	r3, (r3, 0x0)
 f52:	3280      	movi      	r2, 128
 f54:	604c      	addu      	r1, r3
 f56:	4244      	lsli      	r2, r2, 4
 f58:	b141      	st.w      	r2, (r1, 0x4)
	SYSCON->IMER  |= LVD_INT_ST;
 f5a:	935d      	ld.w      	r2, (r3, 0x74)
 f5c:	3aab      	bseti      	r2, 11
 f5e:	b35d      	st.w      	r2, (r3, 0x74)
}
 f60:	783c      	jmp      	r15
 f62:	0000      	bkpt
 f64:	2000005c 	.long	0x2000005c

Disassembly of section .text.IWDT_Int_Enable:

00000f68 <IWDT_Int_Enable>:
//EntryParameter:NONE
//ReturnValue: NONE
/*************************************************************/
void IWDT_Int_Enable(void)
{
	SYSCON->ICR = IWDT_INT_ST;				//clear LVD INT status
 f68:	1066      	lrw      	r3, 0x2000005c	// f80 <IWDT_Int_Enable+0x18>
 f6a:	3180      	movi      	r1, 128
 f6c:	9360      	ld.w      	r3, (r3, 0x0)
 f6e:	3280      	movi      	r2, 128
 f70:	604c      	addu      	r1, r3
 f72:	4241      	lsli      	r2, r2, 1
 f74:	b141      	st.w      	r2, (r1, 0x4)
	SYSCON->IMER  |= IWDT_INT_ST;
 f76:	935d      	ld.w      	r2, (r3, 0x74)
 f78:	3aa8      	bseti      	r2, 8
 f7a:	b35d      	st.w      	r2, (r3, 0x74)
}
 f7c:	783c      	jmp      	r15
 f7e:	0000      	bkpt
 f80:	2000005c 	.long	0x2000005c

Disassembly of section .text.EXTI_trigger_CMD:

00000f84 <EXTI_trigger_CMD>:
//EXI_tringer_mode:_EXIRT,_EXIFT
//ReturnValue: LVD detection flag
/*************************************************************/
void EXTI_trigger_CMD(FunctionalStatus NewState , SYSCON_EXIPIN_TypeDef  EXIPIN , EXI_tringer_mode_TypeDef EXI_tringer_mode)
{
	switch(EXI_tringer_mode)
 f84:	3a40      	cmpnei      	r2, 0
 f86:	0c04      	bf      	0xf8e	// f8e <EXTI_trigger_CMD+0xa>
 f88:	3a41      	cmpnei      	r2, 1
 f8a:	0c0e      	bf      	0xfa6	// fa6 <EXTI_trigger_CMD+0x22>
		{
			SYSCON->EXIFT &=~EXIPIN;	
		}
		break;
	}	
}
 f8c:	783c      	jmp      	r15
 f8e:	106d      	lrw      	r3, 0x2000005c	// fc0 <EXTI_trigger_CMD+0x3c>
		if(NewState != DISABLE)
 f90:	3840      	cmpnei      	r0, 0
			SYSCON->EXIRT |=EXIPIN;
 f92:	9360      	ld.w      	r3, (r3, 0x0)
 f94:	237f      	addi      	r3, 128
 f96:	9345      	ld.w      	r2, (r3, 0x14)
		if(NewState != DISABLE)
 f98:	0c04      	bf      	0xfa0	// fa0 <EXTI_trigger_CMD+0x1c>
			SYSCON->EXIRT |=EXIPIN;
 f9a:	6c48      	or      	r1, r2
 f9c:	b325      	st.w      	r1, (r3, 0x14)
 f9e:	07f7      	br      	0xf8c	// f8c <EXTI_trigger_CMD+0x8>
			SYSCON->EXIRT &=~EXIPIN;	
 fa0:	6885      	andn      	r2, r1
 fa2:	b345      	st.w      	r2, (r3, 0x14)
 fa4:	07f4      	br      	0xf8c	// f8c <EXTI_trigger_CMD+0x8>
 fa6:	1067      	lrw      	r3, 0x2000005c	// fc0 <EXTI_trigger_CMD+0x3c>
		if(NewState != DISABLE)
 fa8:	3840      	cmpnei      	r0, 0
			SYSCON->EXIFT |=EXIPIN;
 faa:	9360      	ld.w      	r3, (r3, 0x0)
 fac:	237f      	addi      	r3, 128
 fae:	9346      	ld.w      	r2, (r3, 0x18)
		if(NewState != DISABLE)
 fb0:	0c04      	bf      	0xfb8	// fb8 <EXTI_trigger_CMD+0x34>
			SYSCON->EXIFT |=EXIPIN;
 fb2:	6c48      	or      	r1, r2
 fb4:	b326      	st.w      	r1, (r3, 0x18)
 fb6:	07eb      	br      	0xf8c	// f8c <EXTI_trigger_CMD+0x8>
			SYSCON->EXIFT &=~EXIPIN;	
 fb8:	6885      	andn      	r2, r1
 fba:	b346      	st.w      	r2, (r3, 0x18)
}
 fbc:	07e8      	br      	0xf8c	// f8c <EXTI_trigger_CMD+0x8>
 fbe:	0000      	bkpt
 fc0:	2000005c 	.long	0x2000005c

Disassembly of section .text.EXTI_interrupt_CMD:

00000fc4 <EXTI_interrupt_CMD>:
//NewState:ENABLE,DISABLE
//ReturnValue:NONE
/*************************************************************/
void EXTI_interrupt_CMD(FunctionalStatus NewState , SYSCON_EXIPIN_TypeDef  EXIPIN)
{
	SYSCON->EXICR = 0X3FFF;									//Claer EXI INT status
 fc4:	106b      	lrw      	r3, 0x2000005c	// ff0 <EXTI_interrupt_CMD+0x2c>
 fc6:	104c      	lrw      	r2, 0x3fff	// ff4 <EXTI_interrupt_CMD+0x30>
 fc8:	9360      	ld.w      	r3, (r3, 0x0)
 fca:	237f      	addi      	r3, 128
	if(NewState != DISABLE)
 fcc:	3840      	cmpnei      	r0, 0
	SYSCON->EXICR = 0X3FFF;									//Claer EXI INT status
 fce:	b34b      	st.w      	r2, (r3, 0x2c)
	if(NewState != DISABLE)
 fd0:	0c0c      	bf      	0xfe8	// fe8 <EXTI_interrupt_CMD+0x24>
	{
		SYSCON->EXIER|=EXIPIN;								//EXI4 interrupt enable
 fd2:	9347      	ld.w      	r2, (r3, 0x1c)
 fd4:	6c84      	or      	r2, r1
 fd6:	b347      	st.w      	r2, (r3, 0x1c)
		while(!(SYSCON->EXIMR&EXIPIN));						//Check EXI is enabled or not
 fd8:	9349      	ld.w      	r2, (r3, 0x24)
 fda:	6884      	and      	r2, r1
 fdc:	3a40      	cmpnei      	r2, 0
 fde:	0ffd      	bf      	0xfd8	// fd8 <EXTI_interrupt_CMD+0x14>
		SYSCON->EXICR |=EXIPIN;								// Clear EXI status bit
 fe0:	934b      	ld.w      	r2, (r3, 0x2c)
 fe2:	6c48      	or      	r1, r2
 fe4:	b32b      	st.w      	r1, (r3, 0x2c)
	}
	else
	{
		SYSCON->EXIDR|=EXIPIN;
	}
}
 fe6:	783c      	jmp      	r15
		SYSCON->EXIDR|=EXIPIN;
 fe8:	9348      	ld.w      	r2, (r3, 0x20)
 fea:	6c48      	or      	r1, r2
 fec:	b328      	st.w      	r1, (r3, 0x20)
}
 fee:	07fc      	br      	0xfe6	// fe6 <EXTI_interrupt_CMD+0x22>
 ff0:	2000005c 	.long	0x2000005c
 ff4:	00003fff 	.long	0x00003fff

Disassembly of section .text.GPIO_EXTI_interrupt:

00000ff8 <GPIO_EXTI_interrupt>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void GPIO_EXTI_interrupt(CSP_GPIO_T * GPIOX,U32_T GPIO_IECR_VALUE)
{
	GPIOX->IECR=GPIO_IECR_VALUE;
 ff8:	b02b      	st.w      	r1, (r0, 0x2c)
}
 ffa:	783c      	jmp      	r15

Disassembly of section .text.EXI1_Int_Enable:

00000ffc <EXI1_Int_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI1_Int_Enable(void)
{
	INTC_ISER_WRITE(EXI1_INT);    
     ffc:	3380      	movi      	r3, 128
     ffe:	4361      	lsli      	r3, r3, 1
    1000:	1042      	lrw      	r2, 0xe000e100	// 1008 <EXI1_Int_Enable+0xc>
    1002:	b260      	st.w      	r3, (r2, 0x0)
}
    1004:	783c      	jmp      	r15
    1006:	0000      	bkpt
    1008:	e000e100 	.long	0xe000e100

Disassembly of section .text.SYSCON_Int_Enable:

0000100c <SYSCON_Int_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void SYSCON_Int_Enable(void)
{
    INTC_ISER_WRITE(SYSCON_INT);    
    100c:	3202      	movi      	r2, 2
    100e:	1062      	lrw      	r3, 0xe000e100	// 1014 <SYSCON_Int_Enable+0x8>
    1010:	b340      	st.w      	r2, (r3, 0x0)
}
    1012:	783c      	jmp      	r15
    1014:	e000e100 	.long	0xe000e100

Disassembly of section .text.SYSCON_INT_Priority:

00001018 <SYSCON_INT_Priority>:
//80:Priority 2
//C0:Priority 3		lowest
/*************************************************************/
void SYSCON_INT_Priority(void)
{
	INTC_IPR0_WRITE(0XC0C0C0C0);   //IQR0-3  low bit-->high bit
    1018:	1066      	lrw      	r3, 0xe000e400	// 1030 <SYSCON_INT_Priority+0x18>
    101a:	1047      	lrw      	r2, 0xc0c0c0c0	// 1034 <SYSCON_INT_Priority+0x1c>
	INTC_IPR1_WRITE(0XC0C0C0C0);   //IQR4-7  
	INTC_IPR2_WRITE(0XC0C0C0C0);   //IQR8-11  
	INTC_IPR3_WRITE(0XC0C0C0C0);   //IQR12-15  
	INTC_IPR4_WRITE(0XC0C0C0C0);   //IQR16-19  
	INTC_IPR5_WRITE(0XC0C0C0C0);   //IQR20-23 
	INTC_IPR6_WRITE(0XC0C000C0);   //IQR24-27  
    101c:	1027      	lrw      	r1, 0xc0c000c0	// 1038 <SYSCON_INT_Priority+0x20>
	INTC_IPR0_WRITE(0XC0C0C0C0);   //IQR0-3  low bit-->high bit
    101e:	b340      	st.w      	r2, (r3, 0x0)
	INTC_IPR1_WRITE(0XC0C0C0C0);   //IQR4-7  
    1020:	b341      	st.w      	r2, (r3, 0x4)
	INTC_IPR2_WRITE(0XC0C0C0C0);   //IQR8-11  
    1022:	b342      	st.w      	r2, (r3, 0x8)
	INTC_IPR3_WRITE(0XC0C0C0C0);   //IQR12-15  
    1024:	b343      	st.w      	r2, (r3, 0xc)
	INTC_IPR4_WRITE(0XC0C0C0C0);   //IQR16-19  
    1026:	b344      	st.w      	r2, (r3, 0x10)
	INTC_IPR5_WRITE(0XC0C0C0C0);   //IQR20-23 
    1028:	b345      	st.w      	r2, (r3, 0x14)
	INTC_IPR6_WRITE(0XC0C000C0);   //IQR24-27  
    102a:	b326      	st.w      	r1, (r3, 0x18)
	INTC_IPR7_WRITE(0XC0C0C0C0);   //IQR28-31
    102c:	b347      	st.w      	r2, (r3, 0x1c)
}
    102e:	783c      	jmp      	r15
    1030:	e000e400 	.long	0xe000e400
    1034:	c0c0c0c0 	.long	0xc0c0c0c0
    1038:	c0c000c0 	.long	0xc0c000c0

Disassembly of section .text.Set_INT_Priority:

0000103c <Set_INT_Priority>:
//int_name:CORET_IRQ~BT1_IRQ
//int_level:0~3  0=highest   3=lowest
//ReturnValue:None
/*************************************************************/
void Set_INT_Priority(U8_T int_name,U8_T int_level)
{
    103c:	14c1      	push      	r4
    103e:	4862      	lsri      	r3, r0, 2
    1040:	4342      	lsli      	r2, r3, 2
    1042:	106a      	lrw      	r3, 0x20000064	// 1068 <Set_INT_Priority+0x2c>
	U8_T i_temp,j_temp;
	U32_T k_temp;
	i_temp=(int_name%4)*8;
    1044:	3403      	movi      	r4, 3
    1046:	9360      	ld.w      	r3, (r3, 0x0)
    1048:	60c8      	addu      	r3, r2
	j_temp=int_name/4;
	k_temp=CK801 -> IPR[j_temp]&(~(0xff<<i_temp));
    104a:	3280      	movi      	r2, 128
    104c:	4243      	lsli      	r2, r2, 3
	i_temp=(int_name%4)*8;
    104e:	6810      	and      	r0, r4
	k_temp=CK801 -> IPR[j_temp]&(~(0xff<<i_temp));
    1050:	60c8      	addu      	r3, r2
    1052:	4003      	lsli      	r0, r0, 3
    1054:	34ff      	movi      	r4, 255
    1056:	9340      	ld.w      	r2, (r3, 0x0)
    1058:	7100      	lsl      	r4, r0
	CK801 -> IPR[j_temp]=k_temp|((int_level*0x40)<<(i_temp));
    105a:	4126      	lsli      	r1, r1, 6
	k_temp=CK801 -> IPR[j_temp]&(~(0xff<<i_temp));
    105c:	6891      	andn      	r2, r4
	CK801 -> IPR[j_temp]=k_temp|((int_level*0x40)<<(i_temp));
    105e:	7040      	lsl      	r1, r0
    1060:	6c48      	or      	r1, r2
    1062:	b320      	st.w      	r1, (r3, 0x0)
}
    1064:	1481      	pop      	r4
    1066:	0000      	bkpt
    1068:	20000064 	.long	0x20000064

Disassembly of section .text.GPIO_Init:

0000106c <GPIO_Init>:
//byte:Lowbyte(PIN_0~7),Highbyte(PIN_8~15)
//Dir:0:output 1:input
//ReturnValue:NONE
/*************************************************************/  
void GPIO_Init(CSP_GPIO_T *GPIOx,uint8_t PinNum,GPIO_Dir_TypeDef Dir)
{
    106c:	14d1      	push      	r4, r15
    uint32_t data_temp;
    uint8_t GPIO_Pin;
    if(PinNum<8)
    106e:	3907      	cmphsi      	r1, 8
{
    1070:	6d03      	mov      	r4, r0
    if(PinNum<8)
    1072:	0830      	bt      	0x10d2	// 10d2 <GPIO_Init+0x66>
    {
    switch (PinNum)
    1074:	5903      	subi      	r0, r1, 1
    1076:	3806      	cmphsi      	r0, 7
    1078:	0827      	bt      	0x10c6	// 10c6 <GPIO_Init+0x5a>
    107a:	e3fff89d 	bsr      	0x1b4	// 1b4 <___gnu_csky_case_uqi>
    107e:	1004      	.short	0x1004
    1080:	1d1a1613 	.long	0x1d1a1613
    1084:	0021      	.short	0x0021
    {
        case 0:data_temp=0xfffffff0;GPIO_Pin=0;break;
        case 1:data_temp=0xffffff0f;GPIO_Pin=4;break;
    1086:	3300      	movi      	r3, 0
    1088:	3104      	movi      	r1, 4
    108a:	2bf0      	subi      	r3, 241
        case 4:data_temp=0xfff0ffff;GPIO_Pin=16;break;
        case 5:data_temp=0xff0fffff;GPIO_Pin=20;break;
        case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break;
        case 7:data_temp=0x0fffffff;GPIO_Pin=28;break;
    }
        if (Dir)
    108c:	3a40      	cmpnei      	r2, 0
        {
          (GPIOx)->CONLR =((GPIOx)->CONLR & data_temp) | 1<<GPIO_Pin;
    108e:	9440      	ld.w      	r2, (r4, 0x0)
    1090:	68c8      	and      	r3, r2
        if (Dir)
    1092:	0c1e      	bf      	0x10ce	// 10ce <GPIO_Init+0x62>
          (GPIOx)->CONLR =((GPIOx)->CONLR & data_temp) | 1<<GPIO_Pin;
    1094:	3201      	movi      	r2, 1
        }
        else
        {
         (GPIOx)->CONLR = ((GPIOx)->CONLR & data_temp) | 2<<GPIO_Pin; 
    1096:	7084      	lsl      	r2, r1
    1098:	6cc8      	or      	r3, r2
    109a:	b460      	st.w      	r3, (r4, 0x0)
        else
        {
         (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 2<<GPIO_Pin;    
        }
    }
}
    109c:	1491      	pop      	r4, r15
        case 2:data_temp=0xfffff0ff;GPIO_Pin=8;break;
    109e:	3108      	movi      	r1, 8
    10a0:	1166      	lrw      	r3, 0xfffff0ff	// 1138 <GPIO_Init+0xcc>
    10a2:	07f5      	br      	0x108c	// 108c <GPIO_Init+0x20>
        case 3:data_temp=0xffff0fff;GPIO_Pin=12;break;
    10a4:	310c      	movi      	r1, 12
    10a6:	1166      	lrw      	r3, 0xffff0fff	// 113c <GPIO_Init+0xd0>
    10a8:	07f2      	br      	0x108c	// 108c <GPIO_Init+0x20>
        case 4:data_temp=0xfff0ffff;GPIO_Pin=16;break;
    10aa:	3110      	movi      	r1, 16
    10ac:	1165      	lrw      	r3, 0xfff10000	// 1140 <GPIO_Init+0xd4>
        case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break;
    10ae:	2b00      	subi      	r3, 1
    10b0:	07ee      	br      	0x108c	// 108c <GPIO_Init+0x20>
        case 5:data_temp=0xff0fffff;GPIO_Pin=20;break;
    10b2:	3114      	movi      	r1, 20
    10b4:	1164      	lrw      	r3, 0xff100000	// 1144 <GPIO_Init+0xd8>
    10b6:	07fc      	br      	0x10ae	// 10ae <GPIO_Init+0x42>
        case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break;
    10b8:	33f1      	movi      	r3, 241
    10ba:	3118      	movi      	r1, 24
    10bc:	4378      	lsli      	r3, r3, 24
    10be:	07f8      	br      	0x10ae	// 10ae <GPIO_Init+0x42>
        case 7:data_temp=0x0fffffff;GPIO_Pin=28;break;
    10c0:	311c      	movi      	r1, 28
    10c2:	1162      	lrw      	r3, 0xfffffff	// 1148 <GPIO_Init+0xdc>
    10c4:	07e4      	br      	0x108c	// 108c <GPIO_Init+0x20>
        case 0:data_temp=0xfffffff0;GPIO_Pin=0;break;
    10c6:	3300      	movi      	r3, 0
    10c8:	3100      	movi      	r1, 0
    10ca:	2b0f      	subi      	r3, 16
    10cc:	07e0      	br      	0x108c	// 108c <GPIO_Init+0x20>
         (GPIOx)->CONLR = ((GPIOx)->CONLR & data_temp) | 2<<GPIO_Pin; 
    10ce:	3202      	movi      	r2, 2
    10d0:	07e3      	br      	0x1096	// 1096 <GPIO_Init+0x2a>
    else if (PinNum<16)
    10d2:	390f      	cmphsi      	r1, 16
    10d4:	0be4      	bt      	0x109c	// 109c <GPIO_Init+0x30>
        switch (PinNum)
    10d6:	2908      	subi      	r1, 9
    10d8:	3906      	cmphsi      	r1, 7
    10da:	6c07      	mov      	r0, r1
    10dc:	0827      	bt      	0x112a	// 112a <GPIO_Init+0xbe>
    10de:	e3fff86b 	bsr      	0x1b4	// 1b4 <___gnu_csky_case_uqi>
    10e2:	1004      	.short	0x1004
    10e4:	1d1a1613 	.long	0x1d1a1613
    10e8:	0021      	.short	0x0021
        case 9:data_temp=0xffffff0f;GPIO_Pin=4;break;
    10ea:	3300      	movi      	r3, 0
    10ec:	3104      	movi      	r1, 4
    10ee:	2bf0      	subi      	r3, 241
      if (Dir)
    10f0:	3a40      	cmpnei      	r2, 0
        (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 1<<GPIO_Pin;  
    10f2:	9441      	ld.w      	r2, (r4, 0x4)
    10f4:	68c8      	and      	r3, r2
      if (Dir)
    10f6:	0c1e      	bf      	0x1132	// 1132 <GPIO_Init+0xc6>
        (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 1<<GPIO_Pin;  
    10f8:	3201      	movi      	r2, 1
         (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 2<<GPIO_Pin;    
    10fa:	7084      	lsl      	r2, r1
    10fc:	6cc8      	or      	r3, r2
    10fe:	b461      	st.w      	r3, (r4, 0x4)
}
    1100:	07ce      	br      	0x109c	// 109c <GPIO_Init+0x30>
        case 10:data_temp=0xfffff0ff;GPIO_Pin=8;break;
    1102:	3108      	movi      	r1, 8
    1104:	106d      	lrw      	r3, 0xfffff0ff	// 1138 <GPIO_Init+0xcc>
    1106:	07f5      	br      	0x10f0	// 10f0 <GPIO_Init+0x84>
        case 11:data_temp=0xffff0fff;GPIO_Pin=12;break;
    1108:	310c      	movi      	r1, 12
    110a:	106d      	lrw      	r3, 0xffff0fff	// 113c <GPIO_Init+0xd0>
    110c:	07f2      	br      	0x10f0	// 10f0 <GPIO_Init+0x84>
        case 12:data_temp=0xfff0ffff;GPIO_Pin=16;break;
    110e:	3110      	movi      	r1, 16
    1110:	106c      	lrw      	r3, 0xfff10000	// 1140 <GPIO_Init+0xd4>
        case 14:data_temp=0xf0ffffff;GPIO_Pin=24;break;
    1112:	2b00      	subi      	r3, 1
    1114:	07ee      	br      	0x10f0	// 10f0 <GPIO_Init+0x84>
        case 13:data_temp=0xff0fffff;GPIO_Pin=20;break;
    1116:	3114      	movi      	r1, 20
    1118:	106b      	lrw      	r3, 0xff100000	// 1144 <GPIO_Init+0xd8>
    111a:	07fc      	br      	0x1112	// 1112 <GPIO_Init+0xa6>
        case 14:data_temp=0xf0ffffff;GPIO_Pin=24;break;
    111c:	33f1      	movi      	r3, 241
    111e:	3118      	movi      	r1, 24
    1120:	4378      	lsli      	r3, r3, 24
    1122:	07f8      	br      	0x1112	// 1112 <GPIO_Init+0xa6>
        case 15:data_temp=0x0fffffff;GPIO_Pin=28;break;
    1124:	311c      	movi      	r1, 28
    1126:	1069      	lrw      	r3, 0xfffffff	// 1148 <GPIO_Init+0xdc>
    1128:	07e4      	br      	0x10f0	// 10f0 <GPIO_Init+0x84>
        case 8:data_temp=0xfffffff0;GPIO_Pin=0;break;
    112a:	3300      	movi      	r3, 0
    112c:	3100      	movi      	r1, 0
    112e:	2b0f      	subi      	r3, 16
    1130:	07e0      	br      	0x10f0	// 10f0 <GPIO_Init+0x84>
         (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 2<<GPIO_Pin;    
    1132:	3202      	movi      	r2, 2
    1134:	07e3      	br      	0x10fa	// 10fa <GPIO_Init+0x8e>
    1136:	0000      	bkpt
    1138:	fffff0ff 	.long	0xfffff0ff
    113c:	ffff0fff 	.long	0xffff0fff
    1140:	fff10000 	.long	0xfff10000
    1144:	ff100000 	.long	0xff100000
    1148:	0fffffff 	.long	0x0fffffff

Disassembly of section .text.GPIO_DriveStrength_EN:

0000114c <GPIO_DriveStrength_EN>:
//bit:0~15
//ReturnValue:VALUE
/*************************************************************/
void GPIO_DriveStrength_EN(CSP_GPIO_T *GPIOx,uint8_t bit)
{
	(GPIOx)->DSCR  = ((GPIOx)->DSCR) | (0x01<<(bit*2));
    114c:	4121      	lsli      	r1, r1, 1
    114e:	3301      	movi      	r3, 1
    1150:	9049      	ld.w      	r2, (r0, 0x24)
    1152:	70c4      	lsl      	r3, r1
    1154:	6cc8      	or      	r3, r2
    1156:	b069      	st.w      	r3, (r0, 0x24)
}
    1158:	783c      	jmp      	r15

Disassembly of section .text.GPIO_IntGroup_Set:

0000115c <GPIO_IntGroup_Set>:
//EXI16~EXI17:GPIOA0.0~GPIOA0.7
//EXI18~EXI19:GPIOB0.0~GPIOB0.3
//ReturnValue:NONE
/*************************************************************/  
void GPIO_IntGroup_Set(GPIO_Group_TypeDef IO_MODE , uint8_t PinNum , GPIO_EXIPIN_TypeDef Selete_EXI_x)
{
    115c:	14c1      	push      	r4
    115e:	1422      	subi      	r14, r14, 8
	volatile unsigned int  R_data_temp;
    volatile unsigned char R_GPIO_Pin;
	if(Selete_EXI_x<16)
    1160:	3a0f      	cmphsi      	r2, 16
    1162:	084f      	bt      	0x1200	// 1200 <GPIO_IntGroup_Set+0xa4>
	{
		if((Selete_EXI_x==0)||(Selete_EXI_x==8))
    1164:	6ccb      	mov      	r3, r2
    1166:	3b83      	bclri      	r3, 3
    1168:	3b40      	cmpnei      	r3, 0
    116a:	0813      	bt      	0x1190	// 1190 <GPIO_IntGroup_Set+0x34>
		{
			R_data_temp=0xfffffff0;
    116c:	2b0f      	subi      	r3, 16
    116e:	b861      	st.w      	r3, (r14, 0x4)
			R_GPIO_Pin=0;
    1170:	3300      	movi      	r3, 0
		else if((Selete_EXI_x==7)||(Selete_EXI_x==15))
		{
			R_data_temp=0x0fffffff;
			R_GPIO_Pin=28;
		}
		if(Selete_EXI_x<8)
    1172:	3a07      	cmphsi      	r2, 8
			R_GPIO_Pin=28;
    1174:	dc6e0003 	st.b      	r3, (r14, 0x3)
    1178:	1176      	lrw      	r3, 0x20000044	// 1250 <GPIO_IntGroup_Set+0xf4>
		if(Selete_EXI_x<8)
    117a:	0c38      	bf      	0x11ea	// 11ea <GPIO_IntGroup_Set+0x8e>
		{
			GPIOGRP->IGRPL =(GPIOGRP->IGRPL & R_data_temp) | (IO_MODE<<R_GPIO_Pin);
		}
		else if((Selete_EXI_x<16)&&(Selete_EXI_x>=8))
		{
			GPIOGRP->IGRPH =(GPIOGRP->IGRPH & R_data_temp) | (IO_MODE<<R_GPIO_Pin);    
    117c:	9340      	ld.w      	r2, (r3, 0x0)
    117e:	9261      	ld.w      	r3, (r2, 0x4)
    1180:	9881      	ld.w      	r4, (r14, 0x4)
    1182:	d82e0003 	ld.b      	r1, (r14, 0x3)
    1186:	68d0      	and      	r3, r4
    1188:	7004      	lsl      	r0, r1
    118a:	6c0c      	or      	r0, r3
    118c:	b201      	st.w      	r0, (r2, 0x4)
    118e:	0437      	br      	0x11fc	// 11fc <GPIO_IntGroup_Set+0xa0>
		else if((Selete_EXI_x==1)||(Selete_EXI_x==9))
    1190:	3b41      	cmpnei      	r3, 1
    1192:	0806      	bt      	0x119e	// 119e <GPIO_IntGroup_Set+0x42>
			R_data_temp=0xffffff0f;
    1194:	3300      	movi      	r3, 0
    1196:	2bf0      	subi      	r3, 241
    1198:	b861      	st.w      	r3, (r14, 0x4)
			R_GPIO_Pin=4;
    119a:	3304      	movi      	r3, 4
    119c:	07eb      	br      	0x1172	// 1172 <GPIO_IntGroup_Set+0x16>
		else if((Selete_EXI_x==2)||(Selete_EXI_x==10))
    119e:	3b42      	cmpnei      	r3, 2
    11a0:	0805      	bt      	0x11aa	// 11aa <GPIO_IntGroup_Set+0x4e>
			R_data_temp=0xfffff0ff;
    11a2:	116d      	lrw      	r3, 0xfffff0ff	// 1254 <GPIO_IntGroup_Set+0xf8>
    11a4:	b861      	st.w      	r3, (r14, 0x4)
			R_GPIO_Pin=8;
    11a6:	3308      	movi      	r3, 8
    11a8:	07e5      	br      	0x1172	// 1172 <GPIO_IntGroup_Set+0x16>
		else if((Selete_EXI_x==3)||(Selete_EXI_x==11))
    11aa:	3b43      	cmpnei      	r3, 3
    11ac:	0805      	bt      	0x11b6	// 11b6 <GPIO_IntGroup_Set+0x5a>
			R_data_temp=0xffff0fff;
    11ae:	116b      	lrw      	r3, 0xffff0fff	// 1258 <GPIO_IntGroup_Set+0xfc>
    11b0:	b861      	st.w      	r3, (r14, 0x4)
			R_GPIO_Pin=12;
    11b2:	330c      	movi      	r3, 12
    11b4:	07df      	br      	0x1172	// 1172 <GPIO_IntGroup_Set+0x16>
		else if((Selete_EXI_x==4)||(Selete_EXI_x==12))
    11b6:	3b44      	cmpnei      	r3, 4
    11b8:	0806      	bt      	0x11c4	// 11c4 <GPIO_IntGroup_Set+0x68>
			R_data_temp=0xfff0ffff;
    11ba:	1169      	lrw      	r3, 0xfff10000	// 125c <GPIO_IntGroup_Set+0x100>
    11bc:	2b00      	subi      	r3, 1
    11be:	b861      	st.w      	r3, (r14, 0x4)
			R_GPIO_Pin=16;
    11c0:	3310      	movi      	r3, 16
    11c2:	07d8      	br      	0x1172	// 1172 <GPIO_IntGroup_Set+0x16>
		else if((Selete_EXI_x==5)||(Selete_EXI_x==13))
    11c4:	3b45      	cmpnei      	r3, 5
    11c6:	0806      	bt      	0x11d2	// 11d2 <GPIO_IntGroup_Set+0x76>
			R_data_temp=0xff0fffff;
    11c8:	1166      	lrw      	r3, 0xff100000	// 1260 <GPIO_IntGroup_Set+0x104>
    11ca:	2b00      	subi      	r3, 1
    11cc:	b861      	st.w      	r3, (r14, 0x4)
			R_GPIO_Pin=20;
    11ce:	3314      	movi      	r3, 20
    11d0:	07d1      	br      	0x1172	// 1172 <GPIO_IntGroup_Set+0x16>
		else if((Selete_EXI_x==6)||(Selete_EXI_x==14))
    11d2:	3b46      	cmpnei      	r3, 6
    11d4:	0807      	bt      	0x11e2	// 11e2 <GPIO_IntGroup_Set+0x86>
			R_data_temp=0xf0ffffff;
    11d6:	33f1      	movi      	r3, 241
    11d8:	4378      	lsli      	r3, r3, 24
    11da:	2b00      	subi      	r3, 1
    11dc:	b861      	st.w      	r3, (r14, 0x4)
			R_GPIO_Pin=24;
    11de:	3318      	movi      	r3, 24
    11e0:	07c9      	br      	0x1172	// 1172 <GPIO_IntGroup_Set+0x16>
			R_data_temp=0x0fffffff;
    11e2:	1161      	lrw      	r3, 0xfffffff	// 1264 <GPIO_IntGroup_Set+0x108>
    11e4:	b861      	st.w      	r3, (r14, 0x4)
			R_GPIO_Pin=28;
    11e6:	331c      	movi      	r3, 28
    11e8:	07c5      	br      	0x1172	// 1172 <GPIO_IntGroup_Set+0x16>
			GPIOGRP->IGRPL =(GPIOGRP->IGRPL & R_data_temp) | (IO_MODE<<R_GPIO_Pin);
    11ea:	9340      	ld.w      	r2, (r3, 0x0)
    11ec:	9260      	ld.w      	r3, (r2, 0x0)
    11ee:	9881      	ld.w      	r4, (r14, 0x4)
    11f0:	d82e0003 	ld.b      	r1, (r14, 0x3)
    11f4:	68d0      	and      	r3, r4
    11f6:	7004      	lsl      	r0, r1
    11f8:	6c0c      	or      	r0, r3
    11fa:	b200      	st.w      	r0, (r2, 0x0)
			{
				GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<12);
			}
		}
	}
}
    11fc:	1402      	addi      	r14, r14, 8
    11fe:	1481      	pop      	r4
	else if(Selete_EXI_x<20)
    1200:	3a13      	cmphsi      	r2, 20
    1202:	0bfd      	bt      	0x11fc	// 11fc <GPIO_IntGroup_Set+0xa0>
		if((IO_MODE==0)&&((Selete_EXI_x==16)||((Selete_EXI_x==17))))						//PA0.0~PA0.7
    1204:	3840      	cmpnei      	r0, 0
    1206:	0814      	bt      	0x122e	// 122e <GPIO_IntGroup_Set+0xd2>
    1208:	3300      	movi      	r3, 0
    120a:	2b0f      	subi      	r3, 16
    120c:	60c8      	addu      	r3, r2
    120e:	3b01      	cmphsi      	r3, 2
    1210:	0bf6      	bt      	0x11fc	// 11fc <GPIO_IntGroup_Set+0xa0>
			if(Selete_EXI_x==16)
    1212:	3a50      	cmpnei      	r2, 16
    1214:	106f      	lrw      	r3, 0x20000044	// 1250 <GPIO_IntGroup_Set+0xf4>
    1216:	0806      	bt      	0x1222	// 1222 <GPIO_IntGroup_Set+0xc6>
				GPIOGRP->IGREX =(GPIOGRP->IGREX)|PinNum;
    1218:	9340      	ld.w      	r2, (r3, 0x0)
    121a:	9262      	ld.w      	r3, (r2, 0x8)
    121c:	6c4c      	or      	r1, r3
    121e:	b222      	st.w      	r1, (r2, 0x8)
    1220:	07ee      	br      	0x11fc	// 11fc <GPIO_IntGroup_Set+0xa0>
				GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<4);
    1222:	9360      	ld.w      	r3, (r3, 0x0)
    1224:	9342      	ld.w      	r2, (r3, 0x8)
    1226:	4124      	lsli      	r1, r1, 4
				GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<12);
    1228:	6c48      	or      	r1, r2
    122a:	b322      	st.w      	r1, (r3, 0x8)
}
    122c:	07e8      	br      	0x11fc	// 11fc <GPIO_IntGroup_Set+0xa0>
		else if((IO_MODE==2)&&((Selete_EXI_x==18)||(Selete_EXI_x==19)))					//PB0.0~PB0.3
    122e:	3842      	cmpnei      	r0, 2
    1230:	0be6      	bt      	0x11fc	// 11fc <GPIO_IntGroup_Set+0xa0>
    1232:	3300      	movi      	r3, 0
    1234:	2b11      	subi      	r3, 18
    1236:	60c8      	addu      	r3, r2
    1238:	3b01      	cmphsi      	r3, 2
    123a:	0be1      	bt      	0x11fc	// 11fc <GPIO_IntGroup_Set+0xa0>
    123c:	1065      	lrw      	r3, 0x20000044	// 1250 <GPIO_IntGroup_Set+0xf4>
			if(Selete_EXI_x==18)
    123e:	3a52      	cmpnei      	r2, 18
				GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<8);
    1240:	9360      	ld.w      	r3, (r3, 0x0)
    1242:	9342      	ld.w      	r2, (r3, 0x8)
			if(Selete_EXI_x==18)
    1244:	0803      	bt      	0x124a	// 124a <GPIO_IntGroup_Set+0xee>
				GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<8);
    1246:	4128      	lsli      	r1, r1, 8
    1248:	07f0      	br      	0x1228	// 1228 <GPIO_IntGroup_Set+0xcc>
				GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<12);
    124a:	412c      	lsli      	r1, r1, 12
    124c:	07ee      	br      	0x1228	// 1228 <GPIO_IntGroup_Set+0xcc>
    124e:	0000      	bkpt
    1250:	20000044 	.long	0x20000044
    1254:	fffff0ff 	.long	0xfffff0ff
    1258:	ffff0fff 	.long	0xffff0fff
    125c:	fff10000 	.long	0xfff10000
    1260:	ff100000 	.long	0xff100000
    1264:	0fffffff 	.long	0x0fffffff

Disassembly of section .text.GPIO_Write_High:

00001268 <GPIO_Write_High>:
//bit:0~15
//ReturnValue:VALUE
/*************************************************************/
void GPIO_Write_High(CSP_GPIO_T *GPIOx,uint8_t bit)
{
        (GPIOx)->SODR = (1ul<<bit);
    1268:	3301      	movi      	r3, 1
    126a:	70c4      	lsl      	r3, r1
    126c:	b063      	st.w      	r3, (r0, 0xc)
}
    126e:	783c      	jmp      	r15

Disassembly of section .text.GPIO_Write_Low:

00001270 <GPIO_Write_Low>:
void GPIO_Write_Low(CSP_GPIO_T *GPIOx,uint8_t bit)
{
        (GPIOx)->CODR = (1ul<<bit);
    1270:	3301      	movi      	r3, 1
    1272:	70c4      	lsl      	r3, r1
    1274:	b064      	st.w      	r3, (r0, 0x10)
}
    1276:	783c      	jmp      	r15

Disassembly of section .text.GPIO_Read_Status:

00001278 <GPIO_Read_Status>:
/*************************************************************/
uint8_t GPIO_Read_Status(CSP_GPIO_T *GPIOx,uint8_t bit)
{
    uint8_t value = 0;
    uint32_t dat = 0;
    dat=((GPIOx)->PSDR)&(1<<bit);
    1278:	3301      	movi      	r3, 1
    127a:	9046      	ld.w      	r2, (r0, 0x18)
    127c:	70c4      	lsl      	r3, r1
    127e:	688c      	and      	r2, r3
    if (dat == (1<<bit))								
    1280:	64ca      	cmpne      	r2, r3
    1282:	6403      	mvcv      	r0
	{
	    value = 1;
	} 
    return value;
    1284:	7400      	zextb      	r0, r0
}
    1286:	783c      	jmp      	r15

Disassembly of section .text.LPT_Soft_Reset:

00001288 <LPT_Soft_Reset>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/ 
void LPT_Soft_Reset(void)
{
	LPT->RSSR |= (0X5<<12);
    1288:	1064      	lrw      	r3, 0x20000014	// 1298 <LPT_Soft_Reset+0x10>
    128a:	9340      	ld.w      	r2, (r3, 0x0)
    128c:	9261      	ld.w      	r3, (r2, 0x4)
    128e:	3bac      	bseti      	r3, 12
    1290:	3bae      	bseti      	r3, 14
    1292:	b261      	st.w      	r3, (r2, 0x4)
}
    1294:	783c      	jmp      	r15
    1296:	0000      	bkpt
    1298:	20000014 	.long	0x20000014

Disassembly of section .text.WWDT_CONFIG:

0000129c <WWDT_CONFIG>:
//WWDT CONFIG
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/ 
void WWDT_CONFIG(WWDT_PSCDIV_TypeDef PSCDIVX,U8_T WND_DATA,WWDT_DBGEN_TypeDef DBGENX)
{
    129c:	14c1      	push      	r4
	WWDT->CFGR =WND_DATA;
    129e:	1065      	lrw      	r3, 0x20000010	// 12b0 <WWDT_CONFIG+0x14>
    12a0:	9380      	ld.w      	r4, (r3, 0x0)
    12a2:	b421      	st.w      	r1, (r4, 0x4)
	WWDT->CFGR |= PSCDIVX |DBGENX;
    12a4:	9461      	ld.w      	r3, (r4, 0x4)
    12a6:	6c8c      	or      	r2, r3
    12a8:	6c08      	or      	r0, r2
    12aa:	b401      	st.w      	r0, (r4, 0x4)
}
    12ac:	1481      	pop      	r4
    12ae:	0000      	bkpt
    12b0:	20000010 	.long	0x20000010

Disassembly of section .text.WWDT_CNT_Load:

000012b4 <WWDT_CNT_Load>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/ 
void WWDT_CNT_Load(U8_T cnt_data)
{
	WWDT->CR  |= cnt_data;						//SET
    12b4:	1063      	lrw      	r3, 0x20000010	// 12c0 <WWDT_CNT_Load+0xc>
    12b6:	9360      	ld.w      	r3, (r3, 0x0)
    12b8:	9340      	ld.w      	r2, (r3, 0x0)
    12ba:	6c08      	or      	r0, r2
    12bc:	b300      	st.w      	r0, (r3, 0x0)
}
    12be:	783c      	jmp      	r15
    12c0:	20000010 	.long	0x20000010

Disassembly of section .text.WWDT_Int_Config:

000012c4 <WWDT_Int_Config>:
//EntryParameter:NONE
//ReturnValue: NONE
/*************************************************************/
void WWDT_Int_Config(FunctionalStatus NewState)
{
	if (NewState != DISABLE)
    12c4:	3840      	cmpnei      	r0, 0
    12c6:	106a      	lrw      	r3, 0x20000010	// 12ec <WWDT_Int_Config+0x28>
    12c8:	0c0b      	bf      	0x12de	// 12de <WWDT_Int_Config+0x1a>
	{
		WWDT->ICR = WWDT_EVI;				
    12ca:	9360      	ld.w      	r3, (r3, 0x0)
    12cc:	3101      	movi      	r1, 1
    12ce:	b325      	st.w      	r1, (r3, 0x14)
		WWDT->IMCR  |= WWDT_EVI;
    12d0:	9344      	ld.w      	r2, (r3, 0x10)
    12d2:	6c84      	or      	r2, r1
    12d4:	b344      	st.w      	r2, (r3, 0x10)
		INTC_ISER_WRITE(WWDT_INT);  
    12d6:	3240      	movi      	r2, 64
    12d8:	1066      	lrw      	r3, 0xe000e100	// 12f0 <WWDT_Int_Config+0x2c>
	}
	else
	{
		WWDT->IMCR  &= ~WWDT_EVI;					//CLR
		INTC_ICER_WRITE(WWDT_INT);  
    12da:	b340      	st.w      	r2, (r3, 0x0)
	}
    12dc:	783c      	jmp      	r15
		WWDT->IMCR  &= ~WWDT_EVI;					//CLR
    12de:	9340      	ld.w      	r2, (r3, 0x0)
    12e0:	9264      	ld.w      	r3, (r2, 0x10)
    12e2:	3b80      	bclri      	r3, 0
    12e4:	b264      	st.w      	r3, (r2, 0x10)
		INTC_ICER_WRITE(WWDT_INT);  
    12e6:	3240      	movi      	r2, 64
    12e8:	1063      	lrw      	r3, 0xe000e180	// 12f4 <WWDT_Int_Config+0x30>
    12ea:	07f8      	br      	0x12da	// 12da <WWDT_Int_Config+0x16>
    12ec:	20000010 	.long	0x20000010
    12f0:	e000e100 	.long	0xe000e100
    12f4:	e000e180 	.long	0xe000e180

Disassembly of section .text.BT_DeInit:

000012f8 <BT_DeInit>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/    
void BT_DeInit(CSP_BT_T *BTx)
{
	BTx->RSSR=BT_RESET_VALUE;
    12f8:	3300      	movi      	r3, 0
    12fa:	b060      	st.w      	r3, (r0, 0x0)
	BTx->CR=BT_RESET_VALUE;
    12fc:	b061      	st.w      	r3, (r0, 0x4)
	BTx->PSCR=BT_RESET_VALUE;
    12fe:	b062      	st.w      	r3, (r0, 0x8)
	BTx->PRDR=BT_RESET_VALUE;
    1300:	b063      	st.w      	r3, (r0, 0xc)
	BTx->CMP=BT_RESET_VALUE;
    1302:	b064      	st.w      	r3, (r0, 0x10)
	BTx->CNT=BT_RESET_VALUE;
    1304:	b065      	st.w      	r3, (r0, 0x14)
	BTx->EVTRG=BT_RESET_VALUE;
    1306:	b066      	st.w      	r3, (r0, 0x18)
	BTx->EVSWF=BT_RESET_VALUE;
    1308:	b069      	st.w      	r3, (r0, 0x24)
	BTx->RISR=BT_RESET_VALUE;
    130a:	b06a      	st.w      	r3, (r0, 0x28)
	BTx->IMCR=BT_RESET_VALUE;
    130c:	b06b      	st.w      	r3, (r0, 0x2c)
	BTx->MISR=BT_RESET_VALUE;
    130e:	b06c      	st.w      	r3, (r0, 0x30)
	BTx->ICR=BT_RESET_VALUE;
    1310:	b06d      	st.w      	r3, (r0, 0x34)
}
    1312:	783c      	jmp      	r15

Disassembly of section .text.BT_IO_Init:

00001314 <BT_IO_Init>:
//EntryParameter:LPT_OUT_PA09,LPT_OUT_PB01,LPT_IN_PA10,
//ReturnValue:NONE
/*************************************************************/
void BT_IO_Init(BT_Pin_TypeDef BT_IONAME)
{
	if(BT_IONAME==BT0_PA00)										
    1314:	3840      	cmpnei      	r0, 0
    1316:	080a      	bt      	0x132a	// 132a <BT_IO_Init+0x16>
	{
		GPIOA0->CONLR=(GPIOA0->CONLR & 0XFFFFFFF0)|0x00000006;  //BT0 PA0.0
    1318:	1270      	lrw      	r3, 0x2000004c	// 1458 <BT_IO_Init+0x144>
    131a:	310f      	movi      	r1, 15
    131c:	9340      	ld.w      	r2, (r3, 0x0)
    131e:	9260      	ld.w      	r3, (r2, 0x0)
    1320:	68c5      	andn      	r3, r1
    1322:	3ba1      	bseti      	r3, 1
    1324:	3ba2      	bseti      	r3, 2
	{
		GPIOA0->CONHR=(GPIOA0->CONHR & 0XF0FFFFFF)|0x05000000;  //BT1 PA0.14
	}
	if(BT_IONAME==BT1_PB00)										
	{
		GPIOB0->CONLR=(GPIOB0->CONLR & 0XFFFFFFF0)|0x00000008;  //BT1 PB0.0
    1326:	b260      	st.w      	r3, (r2, 0x0)
    1328:	044e      	br      	0x13c4	// 13c4 <BT_IO_Init+0xb0>
	if(BT_IONAME==BT0_PA02)										
    132a:	3841      	cmpnei      	r0, 1
    132c:	080b      	bt      	0x1342	// 1342 <BT_IO_Init+0x2e>
		GPIOA0->CONLR=(GPIOA0->CONLR & 0XFFFFF0FF)|0x00000600;  //BT0 PA0.2
    132e:	126b      	lrw      	r3, 0x2000004c	// 1458 <BT_IO_Init+0x144>
    1330:	32f0      	movi      	r2, 240
    1332:	9320      	ld.w      	r1, (r3, 0x0)
    1334:	9160      	ld.w      	r3, (r1, 0x0)
    1336:	4244      	lsli      	r2, r2, 4
    1338:	68c9      	andn      	r3, r2
    133a:	3ba9      	bseti      	r3, 9
    133c:	3baa      	bseti      	r3, 10
	}
	if(BT_IONAME==BT1_PB04)										
	{
		GPIOB0->CONLR=(GPIOB0->CONLR & 0XFFF0FFFF)|0x00070000;  //BT1 PB0.4
    133e:	b160      	st.w      	r3, (r1, 0x0)
	}
}
    1340:	0442      	br      	0x13c4	// 13c4 <BT_IO_Init+0xb0>
	if(BT_IONAME==BT0_PA05)										
    1342:	3842      	cmpnei      	r0, 2
    1344:	080a      	bt      	0x1358	// 1358 <BT_IO_Init+0x44>
		GPIOA0->CONLR=(GPIOA0->CONLR & 0XFF0FFFFF)|0x00500000;  //BT0 PA0.5
    1346:	1265      	lrw      	r3, 0x2000004c	// 1458 <BT_IO_Init+0x144>
    1348:	32f0      	movi      	r2, 240
    134a:	9320      	ld.w      	r1, (r3, 0x0)
    134c:	9160      	ld.w      	r3, (r1, 0x0)
    134e:	4250      	lsli      	r2, r2, 16
    1350:	68c9      	andn      	r3, r2
    1352:	3bb4      	bseti      	r3, 20
    1354:	3bb6      	bseti      	r3, 22
    1356:	07f4      	br      	0x133e	// 133e <BT_IO_Init+0x2a>
	if(BT_IONAME==BT0_PB02)										
    1358:	3843      	cmpnei      	r0, 3
    135a:	080a      	bt      	0x136e	// 136e <BT_IO_Init+0x5a>
		GPIOB0->CONLR=(GPIOB0->CONLR & 0XFFFFF0FF)|0x00000500;  //BT0 PB0.2
    135c:	1260      	lrw      	r3, 0x20000048	// 145c <BT_IO_Init+0x148>
    135e:	32f0      	movi      	r2, 240
    1360:	9320      	ld.w      	r1, (r3, 0x0)
    1362:	9160      	ld.w      	r3, (r1, 0x0)
    1364:	4244      	lsli      	r2, r2, 4
    1366:	68c9      	andn      	r3, r2
    1368:	3ba8      	bseti      	r3, 8
    136a:	3baa      	bseti      	r3, 10
    136c:	07e9      	br      	0x133e	// 133e <BT_IO_Init+0x2a>
	if(BT_IONAME==BT0_PB05)										
    136e:	3844      	cmpnei      	r0, 4
    1370:	080b      	bt      	0x1386	// 1386 <BT_IO_Init+0x72>
		GPIOB0->CONLR=(GPIOB0->CONLR & 0XFF0FFFFF)|0x00700000;  //BT0 PB0.5
    1372:	117b      	lrw      	r3, 0x20000048	// 145c <BT_IO_Init+0x148>
    1374:	32f0      	movi      	r2, 240
    1376:	9320      	ld.w      	r1, (r3, 0x0)
    1378:	4250      	lsli      	r2, r2, 16
    137a:	9160      	ld.w      	r3, (r1, 0x0)
    137c:	68c9      	andn      	r3, r2
    137e:	32e0      	movi      	r2, 224
    1380:	424f      	lsli      	r2, r2, 15
		GPIOB0->CONLR=(GPIOB0->CONLR & 0XFFF0FFFF)|0x00070000;  //BT1 PB0.4
    1382:	6cc8      	or      	r3, r2
    1384:	07dd      	br      	0x133e	// 133e <BT_IO_Init+0x2a>
	if(BT_IONAME==BT0_PA11)										
    1386:	3845      	cmpnei      	r0, 5
    1388:	080a      	bt      	0x139c	// 139c <BT_IO_Init+0x88>
		GPIOA0->CONHR=(GPIOA0->CONHR & 0XFFFF0FFF)|0x00008000;  //BT0 PA0.11
    138a:	1174      	lrw      	r3, 0x2000004c	// 1458 <BT_IO_Init+0x144>
    138c:	32f0      	movi      	r2, 240
    138e:	9320      	ld.w      	r1, (r3, 0x0)
    1390:	9161      	ld.w      	r3, (r1, 0x4)
    1392:	4248      	lsli      	r2, r2, 8
    1394:	68c9      	andn      	r3, r2
    1396:	3baf      	bseti      	r3, 15
		GPIOA0->CONHR=(GPIOA0->CONHR & 0XF0FFFFFF)|0x05000000;  //BT1 PA0.14
    1398:	b161      	st.w      	r3, (r1, 0x4)
    139a:	0415      	br      	0x13c4	// 13c4 <BT_IO_Init+0xb0>
	if(BT_IONAME==BT0_PA13)										
    139c:	3846      	cmpnei      	r0, 6
    139e:	0809      	bt      	0x13b0	// 13b0 <BT_IO_Init+0x9c>
		GPIOA0->CONHR=(GPIOA0->CONHR & 0XFF0FFFFF)|0x00800000;  //BT0 PA0.13
    13a0:	116e      	lrw      	r3, 0x2000004c	// 1458 <BT_IO_Init+0x144>
    13a2:	32f0      	movi      	r2, 240
    13a4:	9320      	ld.w      	r1, (r3, 0x0)
    13a6:	9161      	ld.w      	r3, (r1, 0x4)
    13a8:	4250      	lsli      	r2, r2, 16
    13aa:	68c9      	andn      	r3, r2
    13ac:	3bb7      	bseti      	r3, 23
    13ae:	07f5      	br      	0x1398	// 1398 <BT_IO_Init+0x84>
	if(BT_IONAME==BT0_PA15)										
    13b0:	3847      	cmpnei      	r0, 7
    13b2:	080a      	bt      	0x13c6	// 13c6 <BT_IO_Init+0xb2>
		GPIOA0->CONHR=(GPIOA0->CONHR & 0X0FFFFFFF)|0x50000000;  //BT0 PA0.15
    13b4:	1169      	lrw      	r3, 0x2000004c	// 1458 <BT_IO_Init+0x144>
    13b6:	9340      	ld.w      	r2, (r3, 0x0)
    13b8:	9261      	ld.w      	r3, (r2, 0x4)
    13ba:	4364      	lsli      	r3, r3, 4
    13bc:	4b64      	lsri      	r3, r3, 4
    13be:	3bbc      	bseti      	r3, 28
    13c0:	3bbe      	bseti      	r3, 30
		GPIOA0->CONHR=(GPIOA0->CONHR & 0XFFFFFFF0)|0x00000006;  //BT1 PA0.8
    13c2:	b261      	st.w      	r3, (r2, 0x4)
}
    13c4:	783c      	jmp      	r15
	if(BT_IONAME==BT1_PA01)										
    13c6:	3848      	cmpnei      	r0, 8
    13c8:	0809      	bt      	0x13da	// 13da <BT_IO_Init+0xc6>
		GPIOA0->CONLR=(GPIOA0->CONLR & 0XFFFFFF0F)|0x00000060;  //BT1 PA0.1
    13ca:	1164      	lrw      	r3, 0x2000004c	// 1458 <BT_IO_Init+0x144>
    13cc:	31f0      	movi      	r1, 240
    13ce:	9340      	ld.w      	r2, (r3, 0x0)
    13d0:	9260      	ld.w      	r3, (r2, 0x0)
    13d2:	68c5      	andn      	r3, r1
    13d4:	3ba5      	bseti      	r3, 5
    13d6:	3ba6      	bseti      	r3, 6
    13d8:	07a7      	br      	0x1326	// 1326 <BT_IO_Init+0x12>
	if(BT_IONAME==BT1_PA06)										
    13da:	3849      	cmpnei      	r0, 9
    13dc:	0809      	bt      	0x13ee	// 13ee <BT_IO_Init+0xda>
		GPIOA0->CONLR=(GPIOA0->CONLR & 0XF0FFFFFF)|0x04000000;  //BT1 PA0.6
    13de:	107f      	lrw      	r3, 0x2000004c	// 1458 <BT_IO_Init+0x144>
    13e0:	32f0      	movi      	r2, 240
    13e2:	9320      	ld.w      	r1, (r3, 0x0)
    13e4:	9160      	ld.w      	r3, (r1, 0x0)
    13e6:	4254      	lsli      	r2, r2, 20
    13e8:	68c9      	andn      	r3, r2
    13ea:	3bba      	bseti      	r3, 26
    13ec:	07a9      	br      	0x133e	// 133e <BT_IO_Init+0x2a>
	if(BT_IONAME==BT1_PA08)										
    13ee:	384a      	cmpnei      	r0, 10
    13f0:	0809      	bt      	0x1402	// 1402 <BT_IO_Init+0xee>
		GPIOA0->CONHR=(GPIOA0->CONHR & 0XFFFFFFF0)|0x00000006;  //BT1 PA0.8
    13f2:	107a      	lrw      	r3, 0x2000004c	// 1458 <BT_IO_Init+0x144>
    13f4:	310f      	movi      	r1, 15
    13f6:	9340      	ld.w      	r2, (r3, 0x0)
    13f8:	9261      	ld.w      	r3, (r2, 0x4)
    13fa:	68c5      	andn      	r3, r1
    13fc:	3ba1      	bseti      	r3, 1
    13fe:	3ba2      	bseti      	r3, 2
    1400:	07e1      	br      	0x13c2	// 13c2 <BT_IO_Init+0xae>
	if(BT_IONAME==BT1_PA12)										
    1402:	384b      	cmpnei      	r0, 11
    1404:	080a      	bt      	0x1418	// 1418 <BT_IO_Init+0x104>
		GPIOA0->CONHR=(GPIOA0->CONHR & 0XFFF0FFFF)|0x00060000;  //BT1 PA0.12
    1406:	1075      	lrw      	r3, 0x2000004c	// 1458 <BT_IO_Init+0x144>
    1408:	32f0      	movi      	r2, 240
    140a:	9320      	ld.w      	r1, (r3, 0x0)
    140c:	9161      	ld.w      	r3, (r1, 0x4)
    140e:	424c      	lsli      	r2, r2, 12
    1410:	68c9      	andn      	r3, r2
    1412:	3bb1      	bseti      	r3, 17
    1414:	3bb2      	bseti      	r3, 18
    1416:	07c1      	br      	0x1398	// 1398 <BT_IO_Init+0x84>
	if(BT_IONAME==BT1_PA14)										
    1418:	384c      	cmpnei      	r0, 12
    141a:	080a      	bt      	0x142e	// 142e <BT_IO_Init+0x11a>
		GPIOA0->CONHR=(GPIOA0->CONHR & 0XF0FFFFFF)|0x05000000;  //BT1 PA0.14
    141c:	106f      	lrw      	r3, 0x2000004c	// 1458 <BT_IO_Init+0x144>
    141e:	32f0      	movi      	r2, 240
    1420:	9320      	ld.w      	r1, (r3, 0x0)
    1422:	9161      	ld.w      	r3, (r1, 0x4)
    1424:	4254      	lsli      	r2, r2, 20
    1426:	68c9      	andn      	r3, r2
    1428:	3bb8      	bseti      	r3, 24
    142a:	3bba      	bseti      	r3, 26
    142c:	07b6      	br      	0x1398	// 1398 <BT_IO_Init+0x84>
	if(BT_IONAME==BT1_PB00)										
    142e:	384d      	cmpnei      	r0, 13
    1430:	0808      	bt      	0x1440	// 1440 <BT_IO_Init+0x12c>
		GPIOB0->CONLR=(GPIOB0->CONLR & 0XFFFFFFF0)|0x00000008;  //BT1 PB0.0
    1432:	106b      	lrw      	r3, 0x20000048	// 145c <BT_IO_Init+0x148>
    1434:	310f      	movi      	r1, 15
    1436:	9340      	ld.w      	r2, (r3, 0x0)
    1438:	9260      	ld.w      	r3, (r2, 0x0)
    143a:	68c5      	andn      	r3, r1
    143c:	3ba3      	bseti      	r3, 3
    143e:	0774      	br      	0x1326	// 1326 <BT_IO_Init+0x12>
	if(BT_IONAME==BT1_PB04)										
    1440:	384e      	cmpnei      	r0, 14
    1442:	0bc1      	bt      	0x13c4	// 13c4 <BT_IO_Init+0xb0>
		GPIOB0->CONLR=(GPIOB0->CONLR & 0XFFF0FFFF)|0x00070000;  //BT1 PB0.4
    1444:	1066      	lrw      	r3, 0x20000048	// 145c <BT_IO_Init+0x148>
    1446:	32f0      	movi      	r2, 240
    1448:	9320      	ld.w      	r1, (r3, 0x0)
    144a:	424c      	lsli      	r2, r2, 12
    144c:	9160      	ld.w      	r3, (r1, 0x0)
    144e:	68c9      	andn      	r3, r2
    1450:	32e0      	movi      	r2, 224
    1452:	424b      	lsli      	r2, r2, 11
    1454:	0797      	br      	0x1382	// 1382 <BT_IO_Init+0x6e>
    1456:	0000      	bkpt
    1458:	2000004c 	.long	0x2000004c
    145c:	20000048 	.long	0x20000048

Disassembly of section .text.BT_Start:

00001460 <BT_Start>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/ 
void BT_Start(CSP_BT_T *BTx)
{
	BTx->RSSR |=0X01;
    1460:	9060      	ld.w      	r3, (r0, 0x0)
    1462:	3ba0      	bseti      	r3, 0
    1464:	b060      	st.w      	r3, (r0, 0x0)
}
    1466:	783c      	jmp      	r15

Disassembly of section .text.BT_Soft_Reset:

00001468 <BT_Soft_Reset>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/ 
void BT_Soft_Reset(CSP_BT_T *BTx)
{
	BTx->RSSR |= (0X5<<12);
    1468:	9060      	ld.w      	r3, (r0, 0x0)
    146a:	3bac      	bseti      	r3, 12
    146c:	3bae      	bseti      	r3, 14
    146e:	b060      	st.w      	r3, (r0, 0x0)
}
    1470:	783c      	jmp      	r15

Disassembly of section .text.BT_Configure:

00001472 <BT_Configure>:
//BT Configure
//EntryParameter:
//ReturnValue:NONE
/*************************************************************/
void BT_Configure(CSP_BT_T *BTx,BT_CLK_TypeDef BTCLK,U16_T PSCR_DATA,BT_SHDWSTP_TypeDef BTSHDWSTP,BT_OPM_TypeDef BTOPM,BT_EXTCKM_TypeDef BTEXTCKM)
{
    1472:	14c3      	push      	r4-r6
    1474:	98a4      	ld.w      	r5, (r14, 0x10)
    1476:	6d97      	mov      	r6, r5
    1478:	9883      	ld.w      	r4, (r14, 0xc)
	BTx->CR |=BTCLK| BTSHDWSTP| BTOPM| BTEXTCKM;
    147a:	6d18      	or      	r4, r6
    147c:	6cd0      	or      	r3, r4
    147e:	90a1      	ld.w      	r5, (r0, 0x4)
    1480:	6c4c      	or      	r1, r3
    1482:	6c54      	or      	r1, r5
    1484:	b021      	st.w      	r1, (r0, 0x4)
	BTx->PSCR = PSCR_DATA;
    1486:	b042      	st.w      	r2, (r0, 0x8)
}
    1488:	1483      	pop      	r4-r6

Disassembly of section .text.BT_ControlSet_Configure:

0000148a <BT_ControlSet_Configure>:
//EntryParameter:
//ReturnValue:NONE
/*************************************************************/
void BT_ControlSet_Configure(CSP_BT_T *BTx,BT_STARTST_TypeDef BTSTART,BT_IDLEST_TypeDef BTIDLE,BT_SYNCEN_TypeDef BTSYNC,BT_SYNCMD_TypeDef BTSYNCMD,
							BT_OSTMDX_TypeDef BTOSTMD,BT_AREARM_TypeDef BTAREARM,BT_CNTRLD_TypeDef BTCNTRLD)
{
    148a:	14c4      	push      	r4-r7
    148c:	1421      	subi      	r14, r14, 4
    148e:	9885      	ld.w      	r4, (r14, 0x14)
    1490:	6dd3      	mov      	r7, r4
    1492:	9886      	ld.w      	r4, (r14, 0x18)
    1494:	b880      	st.w      	r4, (r14, 0x0)
    1496:	9887      	ld.w      	r4, (r14, 0x1c)
    1498:	6d93      	mov      	r6, r4
    149a:	98a8      	ld.w      	r5, (r14, 0x20)
	BTx->CR |=BTSTART| BTIDLE| BTSYNC| BTSYNCMD| BTOSTMD| BTAREARM| BTCNTRLD;
    149c:	6d58      	or      	r5, r6
    149e:	98c0      	ld.w      	r6, (r14, 0x0)
    14a0:	6d58      	or      	r5, r6
    14a2:	6d5c      	or      	r5, r7
    14a4:	6cd4      	or      	r3, r5
    14a6:	6c8c      	or      	r2, r3
    14a8:	9081      	ld.w      	r4, (r0, 0x4)
    14aa:	6c48      	or      	r1, r2
    14ac:	6d04      	or      	r4, r1
    14ae:	6d9f      	mov      	r6, r7
    14b0:	b081      	st.w      	r4, (r0, 0x4)
}
    14b2:	1401      	addi      	r14, r14, 4
    14b4:	1484      	pop      	r4-r7

Disassembly of section .text.BT_Period_CMP_Write:

000014b6 <BT_Period_CMP_Write>:
//ReturnValue:NONE
/*************************************************************/
void BT_Period_CMP_Write(CSP_BT_T *BTx,U16_T BTPRDR_DATA,U16_T BTCMP_DATA)
{
	//BTx->CR|=0X01<<2;
	BTx->PRDR =BTPRDR_DATA;
    14b6:	b023      	st.w      	r1, (r0, 0xc)
	BTx->CMP =BTCMP_DATA;
    14b8:	b044      	st.w      	r2, (r0, 0x10)
}
    14ba:	783c      	jmp      	r15

Disassembly of section .text.BT_ConfigInterrupt_CMD:

000014bc <BT_ConfigInterrupt_CMD>:
//NewState:ENABLE,DISABLE
//ReturnValue:NONE
/*************************************************************/ 
void BT_ConfigInterrupt_CMD(CSP_BT_T *BTx,FunctionalStatus NewState,BT_IMSCR_TypeDef BT_IMSCR_X)
{
	if (NewState != DISABLE)
    14bc:	3940      	cmpnei      	r1, 0
	{
		BTx->IMCR  |= BT_IMSCR_X;						
    14be:	906b      	ld.w      	r3, (r0, 0x2c)
	if (NewState != DISABLE)
    14c0:	0c04      	bf      	0x14c8	// 14c8 <BT_ConfigInterrupt_CMD+0xc>
		BTx->IMCR  |= BT_IMSCR_X;						
    14c2:	6c8c      	or      	r2, r3
    14c4:	b04b      	st.w      	r2, (r0, 0x2c)
	}
	else
	{
		BTx->IMCR  &= ~BT_IMSCR_X;					
	}
}
    14c6:	783c      	jmp      	r15
		BTx->IMCR  &= ~BT_IMSCR_X;					
    14c8:	68c9      	andn      	r3, r2
    14ca:	b06b      	st.w      	r3, (r0, 0x2c)
}
    14cc:	07fd      	br      	0x14c6	// 14c6 <BT_ConfigInterrupt_CMD+0xa>

Disassembly of section .text.BT1_INT_ENABLE:

000014d0 <BT1_INT_ENABLE>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void BT1_INT_ENABLE(void)
{
	INTC_ISER_WRITE(BT1_INT);
    14d0:	3380      	movi      	r3, 128
    14d2:	4376      	lsli      	r3, r3, 22
    14d4:	1042      	lrw      	r2, 0xe000e100	// 14dc <BT1_INT_ENABLE+0xc>
    14d6:	b260      	st.w      	r3, (r2, 0x0)
}
    14d8:	783c      	jmp      	r15
    14da:	0000      	bkpt
    14dc:	e000e100 	.long	0xe000e100

Disassembly of section .text.GPT_Configure:

000014e0 <GPT_Configure>:
//GPT Init
//EntryParameter:
//ReturnValue:NONE
/*************************************************************/
void GPT_Configure(GPT_CLK_TypeDef GPTCLKX,GPT_CSS_TypeDef GCSSX,GPT_SHDWSTP_TypeDef GSHDWSTPX,U16_T GPSCX)
{
    14e0:	14c1      	push      	r4
	GPT0->CEDR = GPTCLKX| GCSSX|GSHDWSTPX;
    14e2:	6c48      	or      	r1, r2
    14e4:	1083      	lrw      	r4, 0x20000024	// 14f0 <GPT_Configure+0x10>
    14e6:	6c04      	or      	r0, r1
    14e8:	9480      	ld.w      	r4, (r4, 0x0)
    14ea:	b400      	st.w      	r0, (r4, 0x0)
	GPT0->PSCR=GPSCX;
    14ec:	b462      	st.w      	r3, (r4, 0x8)
}
    14ee:	1481      	pop      	r4
    14f0:	20000024 	.long	0x20000024

Disassembly of section .text.GPT_WaveCtrl_Configure:

000014f4 <GPT_WaveCtrl_Configure>:
/*************************************************************/
//GPT0->CR = (0X0<<0)|(0x00<<2)|(0x01<<3)|(0x00<<4)|(0X00<<6)|(0x01<<18)|(0x00<<9)|(0X00<<10)|(0x00<<11)|(0x00<<13) ;	
//GPT0->CMPLDR=(0X00<<0)|(0X00<<1)|(0X03<<4)|(0X03<<7);
void GPT_WaveCtrl_Configure(GPT_CNTMD_TypeDef GCNTMDX,GPT_SWSYN_TypeDef GSWSYNX,GPT_IDLEST_TypeDef GIDLEX,GPT_PRDLD0_TypeDef GPRDLD0,GPT_OPM_TypeDef GOPMX,
						GPT_BURST_TypeDef GBURSTX,GPT_CKS_TypeDef GCKS,GPT_CGSRC_TypeDef CGSRCX,GPT_CGFLT_TypeDef CGFLT,GPT_PSCLD_TypeDef PSCLDX)
{
    14f4:	14c4      	push      	r4-r7
    14f6:	1423      	subi      	r14, r14, 12
    14f8:	9887      	ld.w      	r4, (r14, 0x1c)
    14fa:	6dd3      	mov      	r7, r4
    14fc:	9888      	ld.w      	r4, (r14, 0x20)
    14fe:	b880      	st.w      	r4, (r14, 0x0)
    1500:	9889      	ld.w      	r4, (r14, 0x24)
    1502:	b881      	st.w      	r4, (r14, 0x4)
    1504:	988a      	ld.w      	r4, (r14, 0x28)
    1506:	b882      	st.w      	r4, (r14, 0x8)
    1508:	988b      	ld.w      	r4, (r14, 0x2c)
    150a:	6d93      	mov      	r6, r4
    150c:	988c      	ld.w      	r4, (r14, 0x30)
	GPT0->CR =GCNTMDX|GSWSYNX|GIDLEX|GPRDLD0|GOPMX|GBURSTX|GCKS|CGSRCX|CGFLT|PSCLDX|GPT_WAVE_MODE;
    150e:	3cb2      	bseti      	r4, 18
    1510:	6d18      	or      	r4, r6
    1512:	98c2      	ld.w      	r6, (r14, 0x8)
    1514:	6d18      	or      	r4, r6
    1516:	98c1      	ld.w      	r6, (r14, 0x4)
    1518:	6d18      	or      	r4, r6
    151a:	98c0      	ld.w      	r6, (r14, 0x0)
    151c:	6d18      	or      	r4, r6
    151e:	6d1c      	or      	r4, r7
    1520:	6cd0      	or      	r3, r4
    1522:	6c8c      	or      	r2, r3
    1524:	6c48      	or      	r1, r2
    1526:	10a4      	lrw      	r5, 0x20000024	// 1534 <GPT_WaveCtrl_Configure+0x40>
    1528:	6c04      	or      	r0, r1
    152a:	95a0      	ld.w      	r5, (r5, 0x0)
    152c:	6d9f      	mov      	r6, r7
    152e:	b503      	st.w      	r0, (r5, 0xc)
}
    1530:	1403      	addi      	r14, r14, 12
    1532:	1484      	pop      	r4-r7
    1534:	20000024 	.long	0x20000024

Disassembly of section .text.GPT_Start:

00001538 <GPT_Start>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/ 
void GPT_Start(void)
{
	GPT0->RSSR |= 0X01;
    1538:	1063      	lrw      	r3, 0x20000024	// 1544 <GPT_Start+0xc>
    153a:	9340      	ld.w      	r2, (r3, 0x0)
    153c:	9261      	ld.w      	r3, (r2, 0x4)
    153e:	3ba0      	bseti      	r3, 0
    1540:	b261      	st.w      	r3, (r2, 0x4)
}
    1542:	783c      	jmp      	r15
    1544:	20000024 	.long	0x20000024

Disassembly of section .text.GPT_Period_CMP_Write:

00001548 <GPT_Period_CMP_Write>:
//EntryParameter:
//ReturnValue:NONE
/*************************************************************/
void GPT_Period_CMP_Write(U16_T PRDR_DATA,U16_T CMPA_DATA,U16_T CMPB_DATA)
{
	GPT0->PRDR =PRDR_DATA;
    1548:	1063      	lrw      	r3, 0x20000024	// 1554 <GPT_Period_CMP_Write+0xc>
    154a:	9360      	ld.w      	r3, (r3, 0x0)
    154c:	b309      	st.w      	r0, (r3, 0x24)
	GPT0->CMPA =CMPA_DATA;
    154e:	b32b      	st.w      	r1, (r3, 0x2c)
	GPT0->CMPB =CMPB_DATA;
    1550:	b34c      	st.w      	r2, (r3, 0x30)
}
    1552:	783c      	jmp      	r15
    1554:	20000024 	.long	0x20000024

Disassembly of section .text.GPT_ConfigInterrupt_CMD:

00001558 <GPT_ConfigInterrupt_CMD>:
//EntryParameter:LPT_IMSCR_X,NewState
//NewState:ENABLE,DISABLE
//ReturnValue:NONE
/*************************************************************/ 
void GPT_ConfigInterrupt_CMD(FunctionalStatus NewState,U32_T GPT_IMSCR_X)
{
    1558:	1066      	lrw      	r3, 0x20000024	// 1570 <GPT_ConfigInterrupt_CMD+0x18>
	if (NewState != DISABLE)
    155a:	3840      	cmpnei      	r0, 0
	{
		GPT0->IMCR  |= GPT_IMSCR_X;						
    155c:	9360      	ld.w      	r3, (r3, 0x0)
    155e:	237f      	addi      	r3, 128
    1560:	9356      	ld.w      	r2, (r3, 0x58)
	if (NewState != DISABLE)
    1562:	0c04      	bf      	0x156a	// 156a <GPT_ConfigInterrupt_CMD+0x12>
		GPT0->IMCR  |= GPT_IMSCR_X;						
    1564:	6c48      	or      	r1, r2
    1566:	b336      	st.w      	r1, (r3, 0x58)
	}
	else
	{
		GPT0->IMCR  &= ~GPT_IMSCR_X;					
	}
}
    1568:	783c      	jmp      	r15
		GPT0->IMCR  &= ~GPT_IMSCR_X;					
    156a:	6885      	andn      	r2, r1
    156c:	b356      	st.w      	r2, (r3, 0x58)
}
    156e:	07fd      	br      	0x1568	// 1568 <GPT_ConfigInterrupt_CMD+0x10>
    1570:	20000024 	.long	0x20000024

Disassembly of section .text.GPT_INT_ENABLE:

00001574 <GPT_INT_ENABLE>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void GPT_INT_ENABLE(void)
{
	INTC_ISER_WRITE(GPT0_INT);
    1574:	3380      	movi      	r3, 128
    1576:	4362      	lsli      	r3, r3, 2
    1578:	1042      	lrw      	r2, 0xe000e100	// 1580 <GPT_INT_ENABLE+0xc>
    157a:	b260      	st.w      	r3, (r2, 0x0)
}
    157c:	783c      	jmp      	r15
    157e:	0000      	bkpt
    1580:	e000e100 	.long	0xe000e100

Disassembly of section .text.UART0_DeInit:

00001584 <UART0_DeInit>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void UART0_DeInit(void)
{
    UART0->DATA = UART_RESET_VALUE;
    1584:	1065      	lrw      	r3, 0x20000040	// 1598 <UART0_DeInit+0x14>
    1586:	3200      	movi      	r2, 0
    1588:	9360      	ld.w      	r3, (r3, 0x0)
    158a:	b340      	st.w      	r2, (r3, 0x0)
    UART0->SR   = UART_RESET_VALUE;
    158c:	b341      	st.w      	r2, (r3, 0x4)
    UART0->CTRL = UART_RESET_VALUE;
    158e:	b342      	st.w      	r2, (r3, 0x8)
    UART0->ISR  = UART_RESET_VALUE;
    1590:	b343      	st.w      	r2, (r3, 0xc)
    UART0->BRDIV =UART_RESET_VALUE;
    1592:	b344      	st.w      	r2, (r3, 0x10)
}
    1594:	783c      	jmp      	r15
    1596:	0000      	bkpt
    1598:	20000040 	.long	0x20000040

Disassembly of section .text.UART1_DeInit:

0000159c <UART1_DeInit>:
void UART1_DeInit(void)
{
    UART1->DATA = UART_RESET_VALUE;
    159c:	1065      	lrw      	r3, 0x2000003c	// 15b0 <UART1_DeInit+0x14>
    159e:	3200      	movi      	r2, 0
    15a0:	9360      	ld.w      	r3, (r3, 0x0)
    15a2:	b340      	st.w      	r2, (r3, 0x0)
    UART1->SR   = UART_RESET_VALUE;
    15a4:	b341      	st.w      	r2, (r3, 0x4)
    UART1->CTRL = UART_RESET_VALUE;
    15a6:	b342      	st.w      	r2, (r3, 0x8)
    UART1->ISR  = UART_RESET_VALUE;
    15a8:	b343      	st.w      	r2, (r3, 0xc)
    UART1->BRDIV =UART_RESET_VALUE;
    15aa:	b344      	st.w      	r2, (r3, 0x10)
}
    15ac:	783c      	jmp      	r15
    15ae:	0000      	bkpt
    15b0:	2000003c 	.long	0x2000003c

Disassembly of section .text.UART2_DeInit:

000015b4 <UART2_DeInit>:
void UART2_DeInit(void)
{
	UART2->DATA = UART_RESET_VALUE;
    15b4:	1065      	lrw      	r3, 0x20000038	// 15c8 <UART2_DeInit+0x14>
    15b6:	3200      	movi      	r2, 0
    15b8:	9360      	ld.w      	r3, (r3, 0x0)
    15ba:	b340      	st.w      	r2, (r3, 0x0)
    UART2->SR   = UART_RESET_VALUE;
    15bc:	b341      	st.w      	r2, (r3, 0x4)
    UART2->CTRL = UART_RESET_VALUE;
    15be:	b342      	st.w      	r2, (r3, 0x8)
    UART2->ISR  = UART_RESET_VALUE;
    15c0:	b343      	st.w      	r2, (r3, 0xc)
    UART2->BRDIV =UART_RESET_VALUE;
    15c2:	b344      	st.w      	r2, (r3, 0x10)
}
    15c4:	783c      	jmp      	r15
    15c6:	0000      	bkpt
    15c8:	20000038 	.long	0x20000038

Disassembly of section .text.UART0_Int_Enable:

000015cc <UART0_Int_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void UART0_Int_Enable(void)
{
    UART0->ISR=0x0F;									//clear UART0 INT status
    15cc:	1065      	lrw      	r3, 0x20000040	// 15e0 <UART0_Int_Enable+0x14>
    15ce:	320f      	movi      	r2, 15
    15d0:	9360      	ld.w      	r3, (r3, 0x0)
    15d2:	b343      	st.w      	r2, (r3, 0xc)
	INTC_ISER_WRITE(UART0_INT);							//INT Vector Enable UART0/1 Interrupt in CK802
    15d4:	3380      	movi      	r3, 128
    15d6:	4366      	lsli      	r3, r3, 6
    15d8:	1043      	lrw      	r2, 0xe000e100	// 15e4 <UART0_Int_Enable+0x18>
    15da:	b260      	st.w      	r3, (r2, 0x0)
}
    15dc:	783c      	jmp      	r15
    15de:	0000      	bkpt
    15e0:	20000040 	.long	0x20000040
    15e4:	e000e100 	.long	0xe000e100

Disassembly of section .text.UART1_Int_Enable:

000015e8 <UART1_Int_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void UART1_Int_Enable(void)
{
    UART1->ISR=0x0F;									//clear UART1 INT status
    15e8:	1065      	lrw      	r3, 0x2000003c	// 15fc <UART1_Int_Enable+0x14>
    15ea:	320f      	movi      	r2, 15
    15ec:	9360      	ld.w      	r3, (r3, 0x0)
    15ee:	b343      	st.w      	r2, (r3, 0xc)
	INTC_ISER_WRITE(UART1_INT);							//INT Vector Enable UART0/1 Interrupt in CK802
    15f0:	3380      	movi      	r3, 128
    15f2:	4367      	lsli      	r3, r3, 7
    15f4:	1043      	lrw      	r2, 0xe000e100	// 1600 <UART1_Int_Enable+0x18>
    15f6:	b260      	st.w      	r3, (r2, 0x0)
}
    15f8:	783c      	jmp      	r15
    15fa:	0000      	bkpt
    15fc:	2000003c 	.long	0x2000003c
    1600:	e000e100 	.long	0xe000e100

Disassembly of section .text.UART_IO_Init:

00001604 <UART_IO_Init>:
//UART_IO_G:0 1
//ReturnValue:NONE
/*************************************************************/
void UART_IO_Init(UART_NUM_TypeDef IO_UART_NUM , U8_T UART_IO_G)
{
    if (IO_UART_NUM==IO_UART0)
    1604:	3840      	cmpnei      	r0, 0
    1606:	0820      	bt      	0x1646	// 1646 <UART_IO_Init+0x42>
    {
		if(UART_IO_G==0)
    1608:	3940      	cmpnei      	r1, 0
    160a:	0809      	bt      	0x161c	// 161c <UART_IO_Init+0x18>
		{
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFF0)  | 0x00000004;       //PA0.1->RXD0, PA0.0->TXD0
    160c:	1176      	lrw      	r3, 0x2000004c	// 16e4 <UART_IO_Init+0xe0>
    160e:	310f      	movi      	r1, 15
    1610:	9340      	ld.w      	r2, (r3, 0x0)
    1612:	9260      	ld.w      	r3, (r2, 0x0)
    1614:	68c5      	andn      	r3, r1
    1616:	3ba2      	bseti      	r3, 2
    }
	 if (IO_UART_NUM==IO_UART2)
    {
        if(UART_IO_G==0)
		{
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00)  | 0x00000077;       //PA0.0->RXD2, PA0.1->TXD2
    1618:	b260      	st.w      	r3, (r2, 0x0)
    161a:	0415      	br      	0x1644	// 1644 <UART_IO_Init+0x40>
		else if(UART_IO_G==1)
    161c:	3941      	cmpnei      	r1, 1
    161e:	0813      	bt      	0x1644	// 1644 <UART_IO_Init+0x40>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFF0FFFFF)  | 0x00700000;      //PA0.5->RXD0, PA0.12->TXD0
    1620:	1171      	lrw      	r3, 0x2000004c	// 16e4 <UART_IO_Init+0xe0>
    1622:	31f0      	movi      	r1, 240
    1624:	9340      	ld.w      	r2, (r3, 0x0)
    1626:	9260      	ld.w      	r3, (r2, 0x0)
    1628:	4130      	lsli      	r1, r1, 16
    162a:	68c5      	andn      	r3, r1
    162c:	31e0      	movi      	r1, 224
    162e:	412f      	lsli      	r1, r1, 15
    1630:	6cc4      	or      	r3, r1
    1632:	b260      	st.w      	r3, (r2, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFF0FFFF)  | 0x00070000;      
    1634:	31f0      	movi      	r1, 240
    1636:	9261      	ld.w      	r3, (r2, 0x4)
    1638:	412c      	lsli      	r1, r1, 12
    163a:	68c5      	andn      	r3, r1
    163c:	31e0      	movi      	r1, 224
    163e:	412b      	lsli      	r1, r1, 11
    1640:	6cc4      	or      	r3, r1
    1642:	b261      	st.w      	r3, (r2, 0x4)
		else if(UART_IO_G==2)
		{
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000;        //PB0.5->RXD2, PB0.4->TXD2
		}
    }
}
    1644:	783c      	jmp      	r15
     if (IO_UART_NUM==IO_UART1)
    1646:	3841      	cmpnei      	r0, 1
    1648:	082d      	bt      	0x16a2	// 16a2 <UART_IO_Init+0x9e>
        if(UART_IO_G==0)
    164a:	3940      	cmpnei      	r1, 0
    164c:	0814      	bt      	0x1674	// 1674 <UART_IO_Init+0x70>
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0)  | 0x00000007;       //PA0.13->RXD1, PB0.0->TXD1
    164e:	1167      	lrw      	r3, 0x20000048	// 16e8 <UART_IO_Init+0xe4>
    1650:	310f      	movi      	r1, 15
    1652:	9340      	ld.w      	r2, (r3, 0x0)
    1654:	9260      	ld.w      	r3, (r2, 0x0)
    1656:	68c5      	andn      	r3, r1
    1658:	3107      	movi      	r1, 7
    165a:	6cc4      	or      	r3, r1
    165c:	b260      	st.w      	r3, (r2, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF)  | 0x00700000;       
    165e:	32f0      	movi      	r2, 240
    1660:	1161      	lrw      	r3, 0x2000004c	// 16e4 <UART_IO_Init+0xe0>
    1662:	4250      	lsli      	r2, r2, 16
    1664:	9320      	ld.w      	r1, (r3, 0x0)
    1666:	9161      	ld.w      	r3, (r1, 0x4)
    1668:	68c9      	andn      	r3, r2
    166a:	32e0      	movi      	r2, 224
    166c:	424f      	lsli      	r2, r2, 15
			GPIOA0->CONHR = (GPIOA0->CONHR&0X00FFFFFF) | 0X77000000;        //PA0.15->RXD1, PA0.14->TXD1
    166e:	6cc8      	or      	r3, r2
    1670:	b161      	st.w      	r3, (r1, 0x4)
    1672:	07e9      	br      	0x1644	// 1644 <UART_IO_Init+0x40>
		else if(UART_IO_G==1)
    1674:	3941      	cmpnei      	r1, 1
    1676:	080c      	bt      	0x168e	// 168e <UART_IO_Init+0x8a>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFF00FFF) | 0X00077000;        //PA0.4->RXD1, PA0.3->TXD1
    1678:	107b      	lrw      	r3, 0x2000004c	// 16e4 <UART_IO_Init+0xe0>
    167a:	32ff      	movi      	r2, 255
    167c:	9320      	ld.w      	r1, (r3, 0x0)
    167e:	424c      	lsli      	r2, r2, 12
    1680:	9160      	ld.w      	r3, (r1, 0x0)
    1682:	68c9      	andn      	r3, r2
    1684:	32ee      	movi      	r2, 238
    1686:	424b      	lsli      	r2, r2, 11
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000;        //PB0.5->RXD2, PB0.4->TXD2
    1688:	6cc8      	or      	r3, r2
    168a:	b160      	st.w      	r3, (r1, 0x0)
}
    168c:	07dc      	br      	0x1644	// 1644 <UART_IO_Init+0x40>
		else if(UART_IO_G==2)
    168e:	3942      	cmpnei      	r1, 2
    1690:	0bda      	bt      	0x1644	// 1644 <UART_IO_Init+0x40>
			GPIOA0->CONHR = (GPIOA0->CONHR&0X00FFFFFF) | 0X77000000;        //PA0.15->RXD1, PA0.14->TXD1
    1692:	1075      	lrw      	r3, 0x2000004c	// 16e4 <UART_IO_Init+0xe0>
    1694:	32ee      	movi      	r2, 238
    1696:	9320      	ld.w      	r1, (r3, 0x0)
    1698:	9161      	ld.w      	r3, (r1, 0x4)
    169a:	4368      	lsli      	r3, r3, 8
    169c:	4b68      	lsri      	r3, r3, 8
    169e:	4257      	lsli      	r2, r2, 23
    16a0:	07e7      	br      	0x166e	// 166e <UART_IO_Init+0x6a>
	 if (IO_UART_NUM==IO_UART2)
    16a2:	3842      	cmpnei      	r0, 2
    16a4:	0bd0      	bt      	0x1644	// 1644 <UART_IO_Init+0x40>
        if(UART_IO_G==0)
    16a6:	3940      	cmpnei      	r1, 0
    16a8:	0809      	bt      	0x16ba	// 16ba <UART_IO_Init+0xb6>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00)  | 0x00000077;       //PA0.0->RXD2, PA0.1->TXD2
    16aa:	106f      	lrw      	r3, 0x2000004c	// 16e4 <UART_IO_Init+0xe0>
    16ac:	31ff      	movi      	r1, 255
    16ae:	9340      	ld.w      	r2, (r3, 0x0)
    16b0:	9260      	ld.w      	r3, (r2, 0x0)
    16b2:	68c5      	andn      	r3, r1
    16b4:	3177      	movi      	r1, 119
    16b6:	6cc4      	or      	r3, r1
    16b8:	07b0      	br      	0x1618	// 1618 <UART_IO_Init+0x14>
		else if(UART_IO_G==1)
    16ba:	3941      	cmpnei      	r1, 1
    16bc:	0809      	bt      	0x16ce	// 16ce <UART_IO_Init+0xca>
			GPIOA0->CONLR = (GPIOA0->CONLR&0X00FFFFFF) | 0X77000000;        //PA0.7->RXD2, PA0.6->TXD2
    16be:	106a      	lrw      	r3, 0x2000004c	// 16e4 <UART_IO_Init+0xe0>
    16c0:	32ee      	movi      	r2, 238
    16c2:	9320      	ld.w      	r1, (r3, 0x0)
    16c4:	9160      	ld.w      	r3, (r1, 0x0)
    16c6:	4368      	lsli      	r3, r3, 8
    16c8:	4b68      	lsri      	r3, r3, 8
    16ca:	4257      	lsli      	r2, r2, 23
    16cc:	07de      	br      	0x1688	// 1688 <UART_IO_Init+0x84>
		else if(UART_IO_G==2)
    16ce:	3942      	cmpnei      	r1, 2
    16d0:	0bba      	bt      	0x1644	// 1644 <UART_IO_Init+0x40>
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000;        //PB0.5->RXD2, PB0.4->TXD2
    16d2:	1066      	lrw      	r3, 0x20000048	// 16e8 <UART_IO_Init+0xe4>
    16d4:	32ff      	movi      	r2, 255
    16d6:	9320      	ld.w      	r1, (r3, 0x0)
    16d8:	4250      	lsli      	r2, r2, 16
    16da:	9160      	ld.w      	r3, (r1, 0x0)
    16dc:	68c9      	andn      	r3, r2
    16de:	32cc      	movi      	r2, 204
    16e0:	424f      	lsli      	r2, r2, 15
    16e2:	07d3      	br      	0x1688	// 1688 <UART_IO_Init+0x84>
    16e4:	2000004c 	.long	0x2000004c
    16e8:	20000048 	.long	0x20000048

Disassembly of section .text.UARTInitRxTxIntEn:

000016ec <UARTInitRxTxIntEn>:
//ReturnValue:NONE
/*************************************************************/
void UARTInitRxTxIntEn(CSP_UART_T *uart,U16_T baudrate_u16,UART_PAR_TypeDef PAR_DAT)
{
   // Set Transmitter Enable
   CSP_UART_SET_CTRL(uart, UART_TX | UART_RX | UART_RX_INT | UART_TX_INT|PAR_DAT);
    16ec:	330f      	movi      	r3, 15
    16ee:	6c8c      	or      	r2, r3
    16f0:	b042      	st.w      	r2, (r0, 0x8)
   // Set Baudrate
   CSP_UART_SET_BRDIV(uart, baudrate_u16);
    16f2:	b024      	st.w      	r1, (r0, 0x10)
}
    16f4:	783c      	jmp      	r15

Disassembly of section .text.UARTTxByte:

000016f6 <UARTTxByte>:
/*************************************************************/
void UARTTxByte(CSP_UART_T *uart,U8_T txdata_u8)
{
	unsigned int  DataI;
	// Write the transmit buffer
	CSP_UART_SET_DATA(uart,txdata_u8);
    16f6:	b020      	st.w      	r1, (r0, 0x0)
	do
	{
		DataI = CSP_UART_GET_SR(uart);
		DataI = DataI & UART_TX_FULL;
    16f8:	3201      	movi      	r2, 1
		DataI = CSP_UART_GET_SR(uart);
    16fa:	9061      	ld.w      	r3, (r0, 0x4)
		DataI = DataI & UART_TX_FULL;
    16fc:	68c8      	and      	r3, r2
	}
	while(DataI == UART_TX_FULL);    //Loop  when tx is full
    16fe:	3b40      	cmpnei      	r3, 0
    1700:	0bfd      	bt      	0x16fa	// 16fa <UARTTxByte+0x4>
}
    1702:	783c      	jmp      	r15

Disassembly of section .text.UARTTransmit:

00001704 <UARTTransmit>:
//UART Transmit 
//EntryParameter:UART0,UART1,UART2,sourceAddress_u16,length_u16
//ReturnValue:NONE
/*************************************************************/
void UARTTransmit(CSP_UART_T *uart,U8_T *sourceAddress_u16,U16_T length_u16)
{
    1704:	14c2      	push      	r4-r5
	unsigned int  DataI,DataJ;
	for(DataJ = 0;DataJ < length_u16 ;DataJ ++)
    1706:	6cc7      	mov      	r3, r1
	{
		CSP_UART_SET_DATA(uart,*sourceAddress_u16++);
		do{
			DataI = CSP_UART_GET_SR(uart);
			DataI = DataI & UART_TX_FULL;
    1708:	3501      	movi      	r5, 1
	for(DataJ = 0;DataJ < length_u16 ;DataJ ++)
    170a:	5b85      	subu      	r4, r3, r1
    170c:	6490      	cmphs      	r4, r2
    170e:	0c02      	bf      	0x1712	// 1712 <UARTTransmit+0xe>
		}while(DataI == UART_TX_FULL);    //Loop  when tx is full
	}
}
    1710:	1482      	pop      	r4-r5
		CSP_UART_SET_DATA(uart,*sourceAddress_u16++);
    1712:	8380      	ld.b      	r4, (r3, 0x0)
    1714:	b080      	st.w      	r4, (r0, 0x0)
			DataI = CSP_UART_GET_SR(uart);
    1716:	9081      	ld.w      	r4, (r0, 0x4)
			DataI = DataI & UART_TX_FULL;
    1718:	6914      	and      	r4, r5
		}while(DataI == UART_TX_FULL);    //Loop  when tx is full
    171a:	3c40      	cmpnei      	r4, 0
    171c:	0bfd      	bt      	0x1716	// 1716 <UARTTransmit+0x12>
    171e:	2300      	addi      	r3, 1
    1720:	07f5      	br      	0x170a	// 170a <UARTTransmit+0x6>

Disassembly of section .text.EPT_Software_Prg:

00001724 <EPT_Software_Prg>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/    
void EPT_Software_Prg(void)
{
	EPT0->CEDR|=0X01;
    1724:	1067      	lrw      	r3, 0x20000020	// 1740 <EPT_Software_Prg+0x1c>
	EPT0->RSSR=(EPT0->RSSR&0XFFFF0FFF)|(0X05<<12);
    1726:	31f0      	movi      	r1, 240
	EPT0->CEDR|=0X01;
    1728:	9340      	ld.w      	r2, (r3, 0x0)
    172a:	9260      	ld.w      	r3, (r2, 0x0)
    172c:	3ba0      	bseti      	r3, 0
    172e:	b260      	st.w      	r3, (r2, 0x0)
	EPT0->RSSR=(EPT0->RSSR&0XFFFF0FFF)|(0X05<<12);
    1730:	9261      	ld.w      	r3, (r2, 0x4)
    1732:	4128      	lsli      	r1, r1, 8
    1734:	68c5      	andn      	r3, r1
    1736:	3bac      	bseti      	r3, 12
    1738:	3bae      	bseti      	r3, 14
    173a:	b261      	st.w      	r3, (r2, 0x4)
}
    173c:	783c      	jmp      	r15
    173e:	0000      	bkpt
    1740:	20000020 	.long	0x20000020

Disassembly of section .text.EPT_Start:

00001744 <EPT_Start>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/   
void EPT_Start(void)
{
	EPT0->REGPROT = (0xA55A<<16) | 0xC73A;
    1744:	1068      	lrw      	r3, 0x20000020	// 1764 <EPT_Start+0x20>
    1746:	3280      	movi      	r2, 128
    1748:	9360      	ld.w      	r3, (r3, 0x0)
    174a:	608c      	addu      	r2, r3
    174c:	1027      	lrw      	r1, 0xa55ac73a	// 1768 <EPT_Start+0x24>
    174e:	b23a      	st.w      	r1, (r2, 0x68)
	EPT0->RSSR|=0X01;
    1750:	9341      	ld.w      	r2, (r3, 0x4)
    1752:	3aa0      	bseti      	r2, 0
    1754:	b341      	st.w      	r2, (r3, 0x4)
	while(!(EPT0->RSSR&0x01));
    1756:	3101      	movi      	r1, 1
    1758:	9341      	ld.w      	r2, (r3, 0x4)
    175a:	6884      	and      	r2, r1
    175c:	3a40      	cmpnei      	r2, 0
    175e:	0ffd      	bf      	0x1758	// 1758 <EPT_Start+0x14>
} 
    1760:	783c      	jmp      	r15
    1762:	0000      	bkpt
    1764:	20000020 	.long	0x20000020
    1768:	a55ac73a 	.long	0xa55ac73a

Disassembly of section .text.EPT_IO_SET:

0000176c <EPT_IO_SET>:
//EPT_IO_X:EPT_IO_CHAX,EPT_IO_CHAY,EPT_IO_CHBX,EPT_IO_CHBY,EPT_IO_CHCX,EPT_IO_CHCX,EPT_IO_CHD,EPT_IO_EPI
//ReturnValue:NONE
/*************************************************************/    
void EPT_IO_SET(EPT_IO_Mode_Type EPT_IO_X , EPT_IO_NUM_Type IO_Num_X)
{
	if(EPT_IO_X==EPT_IO_CHAX)
    176c:	3840      	cmpnei      	r0, 0
    176e:	0822      	bt      	0x17b2	// 17b2 <EPT_IO_SET+0x46>
	{
		if(IO_Num_X==IO_NUM_PA07)
    1770:	3950      	cmpnei      	r1, 16
    1772:	080a      	bt      	0x1786	// 1786 <EPT_IO_SET+0x1a>
		{
			GPIOA0->CONLR = (GPIOA0->CONLR&0X0FFFFFFF)|0X60000000;				//PA0.7
    1774:	0375      	lrw      	r3, 0x2000004c	// 199c <EPT_IO_SET+0x230>
    1776:	9340      	ld.w      	r2, (r3, 0x0)
    1778:	9260      	ld.w      	r3, (r2, 0x0)
    177a:	4364      	lsli      	r3, r3, 4
    177c:	4b64      	lsri      	r3, r3, 4
    177e:	3bbd      	bseti      	r3, 29
    1780:	3bbe      	bseti      	r3, 30
		{
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFF0FFF)|0X00004000;				//PB0.3
		}
		else if(IO_Num_X==IO_NUM_PB00)
		{
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0)|0X00000005;				//PB0.0
    1782:	b260      	st.w      	r3, (r2, 0x0)
		else if(IO_Num_X==IO_NUM_PB02)
		{
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFF0FF)|0X00000700;				//PB0.2 EPI3
		}
	}
}
    1784:	783c      	jmp      	r15
		else if(IO_Num_X==IO_NUM_PA10)
    1786:	3951      	cmpnei      	r1, 17
    1788:	080b      	bt      	0x179e	// 179e <EPT_IO_SET+0x32>
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFF0FF)|0X00000500;				//PA0.10
    178a:	037a      	lrw      	r3, 0x2000004c	// 199c <EPT_IO_SET+0x230>
    178c:	32f0      	movi      	r2, 240
    178e:	9320      	ld.w      	r1, (r3, 0x0)
    1790:	9161      	ld.w      	r3, (r1, 0x4)
    1792:	4244      	lsli      	r2, r2, 4
    1794:	68c9      	andn      	r3, r2
    1796:	3ba8      	bseti      	r3, 8
    1798:	3baa      	bseti      	r3, 10
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF)|0X00400000;				//PA0.13 EPI1
    179a:	b161      	st.w      	r3, (r1, 0x4)
    179c:	07f4      	br      	0x1784	// 1784 <EPT_IO_SET+0x18>
		else if(IO_Num_X==IO_NUM_PA15)
    179e:	3952      	cmpnei      	r1, 18
    17a0:	0bf2      	bt      	0x1784	// 1784 <EPT_IO_SET+0x18>
			GPIOA0->CONHR = (GPIOA0->CONHR&0X0FFFFFFF)|0X40000000;				//PA0.15
    17a2:	137f      	lrw      	r3, 0x2000004c	// 199c <EPT_IO_SET+0x230>
    17a4:	9340      	ld.w      	r2, (r3, 0x0)
    17a6:	9261      	ld.w      	r3, (r2, 0x4)
    17a8:	4364      	lsli      	r3, r3, 4
    17aa:	4b64      	lsri      	r3, r3, 4
    17ac:	3bbe      	bseti      	r3, 30
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFF0)|0X00000004;				//PA0.8
    17ae:	b261      	st.w      	r3, (r2, 0x4)
    17b0:	07ea      	br      	0x1784	// 1784 <EPT_IO_SET+0x18>
	else if(EPT_IO_X==EPT_IO_CHAY)
    17b2:	3841      	cmpnei      	r0, 1
    17b4:	0823      	bt      	0x17fa	// 17fa <EPT_IO_SET+0x8e>
		if(IO_Num_X==IO_NUM_PB03)
    17b6:	3953      	cmpnei      	r1, 19
    17b8:	080a      	bt      	0x17cc	// 17cc <EPT_IO_SET+0x60>
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFF0FFF)|0X00005000;				//PB0.3
    17ba:	137a      	lrw      	r3, 0x20000048	// 19a0 <EPT_IO_SET+0x234>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)|0X00005000;				//PA0.3
    17bc:	9320      	ld.w      	r1, (r3, 0x0)
    17be:	32f0      	movi      	r2, 240
    17c0:	9160      	ld.w      	r3, (r1, 0x0)
    17c2:	4248      	lsli      	r2, r2, 8
    17c4:	68c9      	andn      	r3, r2
    17c6:	3bac      	bseti      	r3, 12
    17c8:	3bae      	bseti      	r3, 14
    17ca:	040b      	br      	0x17e0	// 17e0 <EPT_IO_SET+0x74>
		else if(IO_Num_X==IO_NUM_PB05)
    17cc:	3954      	cmpnei      	r1, 20
    17ce:	080b      	bt      	0x17e4	// 17e4 <EPT_IO_SET+0x78>
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFF0FFFFF)|0X00500000;				//PB0.5
    17d0:	1374      	lrw      	r3, 0x20000048	// 19a0 <EPT_IO_SET+0x234>
    17d2:	32f0      	movi      	r2, 240
    17d4:	9320      	ld.w      	r1, (r3, 0x0)
    17d6:	9160      	ld.w      	r3, (r1, 0x0)
    17d8:	4250      	lsli      	r2, r2, 16
    17da:	68c9      	andn      	r3, r2
    17dc:	3bb4      	bseti      	r3, 20
    17de:	3bb6      	bseti      	r3, 22
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFF0FF)|0X00000700;				//PB0.2 EPI3
    17e0:	b160      	st.w      	r3, (r1, 0x0)
}
    17e2:	07d1      	br      	0x1784	// 1784 <EPT_IO_SET+0x18>
		else if(IO_Num_X==IO_NUM_PA12)
    17e4:	3955      	cmpnei      	r1, 21
    17e6:	0bcf      	bt      	0x1784	// 1784 <EPT_IO_SET+0x18>
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFF0FFFF)|0X00050000;				//PA0.12
    17e8:	136d      	lrw      	r3, 0x2000004c	// 199c <EPT_IO_SET+0x230>
    17ea:	32f0      	movi      	r2, 240
    17ec:	9320      	ld.w      	r1, (r3, 0x0)
    17ee:	9161      	ld.w      	r3, (r1, 0x4)
    17f0:	424c      	lsli      	r2, r2, 12
    17f2:	68c9      	andn      	r3, r2
    17f4:	3bb0      	bseti      	r3, 16
    17f6:	3bb2      	bseti      	r3, 18
    17f8:	07d1      	br      	0x179a	// 179a <EPT_IO_SET+0x2e>
	else if(EPT_IO_X==EPT_IO_CHBX)
    17fa:	3842      	cmpnei      	r0, 2
    17fc:	0821      	bt      	0x183e	// 183e <EPT_IO_SET+0xd2>
		if(IO_Num_X==IO_NUM_PB02)
    17fe:	3956      	cmpnei      	r1, 22
    1800:	080a      	bt      	0x1814	// 1814 <EPT_IO_SET+0xa8>
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFF0FF)|0X00000600;				//PB0.2
    1802:	1368      	lrw      	r3, 0x20000048	// 19a0 <EPT_IO_SET+0x234>
    1804:	32f0      	movi      	r2, 240
    1806:	9320      	ld.w      	r1, (r3, 0x0)
    1808:	9160      	ld.w      	r3, (r1, 0x0)
    180a:	4244      	lsli      	r2, r2, 4
    180c:	68c9      	andn      	r3, r2
    180e:	3ba9      	bseti      	r3, 9
    1810:	3baa      	bseti      	r3, 10
    1812:	07e7      	br      	0x17e0	// 17e0 <EPT_IO_SET+0x74>
		else if(IO_Num_X==IO_NUM_PA11)
    1814:	3957      	cmpnei      	r1, 23
    1816:	080a      	bt      	0x182a	// 182a <EPT_IO_SET+0xbe>
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFF0FFF)|0X00005000;				//PA0.11
    1818:	1361      	lrw      	r3, 0x2000004c	// 199c <EPT_IO_SET+0x230>
    181a:	32f0      	movi      	r2, 240
    181c:	9320      	ld.w      	r1, (r3, 0x0)
    181e:	9161      	ld.w      	r3, (r1, 0x4)
    1820:	4248      	lsli      	r2, r2, 8
    1822:	68c9      	andn      	r3, r2
    1824:	3bac      	bseti      	r3, 12
    1826:	3bae      	bseti      	r3, 14
    1828:	07b9      	br      	0x179a	// 179a <EPT_IO_SET+0x2e>
		else if(IO_Num_X==IO_NUM_PA14)
    182a:	3958      	cmpnei      	r1, 24
    182c:	0bac      	bt      	0x1784	// 1784 <EPT_IO_SET+0x18>
			GPIOA0->CONHR = (GPIOA0->CONHR&0XF0FFFFFF)|0X04000000;				//PA0.14
    182e:	127c      	lrw      	r3, 0x2000004c	// 199c <EPT_IO_SET+0x230>
    1830:	32f0      	movi      	r2, 240
    1832:	9320      	ld.w      	r1, (r3, 0x0)
    1834:	9161      	ld.w      	r3, (r1, 0x4)
    1836:	4254      	lsli      	r2, r2, 20
    1838:	68c9      	andn      	r3, r2
    183a:	3bba      	bseti      	r3, 26
    183c:	07af      	br      	0x179a	// 179a <EPT_IO_SET+0x2e>
	else if(EPT_IO_X==EPT_IO_CHBY)
    183e:	3843      	cmpnei      	r0, 3
    1840:	0820      	bt      	0x1880	// 1880 <EPT_IO_SET+0x114>
		if(IO_Num_X==IO_NUM_PB04)
    1842:	3959      	cmpnei      	r1, 25
    1844:	080a      	bt      	0x1858	// 1858 <EPT_IO_SET+0xec>
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFF0FFFF)|0X00050000;				//PB0.4
    1846:	1277      	lrw      	r3, 0x20000048	// 19a0 <EPT_IO_SET+0x234>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFF0FFFF)|0X00050000;				//PA0.4
    1848:	9320      	ld.w      	r1, (r3, 0x0)
    184a:	32f0      	movi      	r2, 240
    184c:	9160      	ld.w      	r3, (r1, 0x0)
    184e:	424c      	lsli      	r2, r2, 12
    1850:	68c9      	andn      	r3, r2
    1852:	3bb0      	bseti      	r3, 16
    1854:	3bb2      	bseti      	r3, 18
    1856:	07c5      	br      	0x17e0	// 17e0 <EPT_IO_SET+0x74>
		else if(IO_Num_X==IO_NUM_PA05)
    1858:	395a      	cmpnei      	r1, 26
    185a:	0809      	bt      	0x186c	// 186c <EPT_IO_SET+0x100>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFF0FFFFF)|0X00800000;				//PA0.5
    185c:	1270      	lrw      	r3, 0x2000004c	// 199c <EPT_IO_SET+0x230>
    185e:	32f0      	movi      	r2, 240
    1860:	9320      	ld.w      	r1, (r3, 0x0)
    1862:	9160      	ld.w      	r3, (r1, 0x0)
    1864:	4250      	lsli      	r2, r2, 16
    1866:	68c9      	andn      	r3, r2
    1868:	3bb7      	bseti      	r3, 23
    186a:	07bb      	br      	0x17e0	// 17e0 <EPT_IO_SET+0x74>
		else if(IO_Num_X==IO_NUM_PA08)
    186c:	395b      	cmpnei      	r1, 27
    186e:	0b8b      	bt      	0x1784	// 1784 <EPT_IO_SET+0x18>
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFF0)|0X00000005;				//PA0.8
    1870:	126b      	lrw      	r3, 0x2000004c	// 199c <EPT_IO_SET+0x230>
    1872:	310f      	movi      	r1, 15
    1874:	9340      	ld.w      	r2, (r3, 0x0)
    1876:	9261      	ld.w      	r3, (r2, 0x4)
    1878:	68c5      	andn      	r3, r1
    187a:	3ba0      	bseti      	r3, 0
    187c:	3ba2      	bseti      	r3, 2
    187e:	0798      	br      	0x17ae	// 17ae <EPT_IO_SET+0x42>
	else if(EPT_IO_X==EPT_IO_CHCX)
    1880:	3844      	cmpnei      	r0, 4
    1882:	0823      	bt      	0x18c8	// 18c8 <EPT_IO_SET+0x15c>
		if(IO_Num_X==IO_NUM_PB05)
    1884:	3954      	cmpnei      	r1, 20
    1886:	0809      	bt      	0x1898	// 1898 <EPT_IO_SET+0x12c>
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFF0FFFFF)|0X00400000;				//PB0.5
    1888:	1266      	lrw      	r3, 0x20000048	// 19a0 <EPT_IO_SET+0x234>
    188a:	32f0      	movi      	r2, 240
    188c:	9320      	ld.w      	r1, (r3, 0x0)
    188e:	9160      	ld.w      	r3, (r1, 0x0)
    1890:	4250      	lsli      	r2, r2, 16
    1892:	68c9      	andn      	r3, r2
    1894:	3bb6      	bseti      	r3, 22
    1896:	07a5      	br      	0x17e0	// 17e0 <EPT_IO_SET+0x74>
		else if(IO_Num_X==IO_NUM_PA03)
    1898:	395c      	cmpnei      	r1, 28
    189a:	0803      	bt      	0x18a0	// 18a0 <EPT_IO_SET+0x134>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)|0X00005000;				//PA0.3
    189c:	1260      	lrw      	r3, 0x2000004c	// 199c <EPT_IO_SET+0x230>
    189e:	078f      	br      	0x17bc	// 17bc <EPT_IO_SET+0x50>
		else if(IO_Num_X==IO_NUM_PB03)
    18a0:	3953      	cmpnei      	r1, 19
    18a2:	0809      	bt      	0x18b4	// 18b4 <EPT_IO_SET+0x148>
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFF0FFF)|0X00004000;				//PB0.3
    18a4:	117f      	lrw      	r3, 0x20000048	// 19a0 <EPT_IO_SET+0x234>
    18a6:	32f0      	movi      	r2, 240
    18a8:	9320      	ld.w      	r1, (r3, 0x0)
    18aa:	9160      	ld.w      	r3, (r1, 0x0)
    18ac:	4248      	lsli      	r2, r2, 8
    18ae:	68c9      	andn      	r3, r2
    18b0:	3bae      	bseti      	r3, 14
    18b2:	0797      	br      	0x17e0	// 17e0 <EPT_IO_SET+0x74>
		else if(IO_Num_X==IO_NUM_PB00)
    18b4:	395d      	cmpnei      	r1, 29
    18b6:	0b67      	bt      	0x1784	// 1784 <EPT_IO_SET+0x18>
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0)|0X00000005;				//PB0.0
    18b8:	117a      	lrw      	r3, 0x20000048	// 19a0 <EPT_IO_SET+0x234>
    18ba:	310f      	movi      	r1, 15
    18bc:	9340      	ld.w      	r2, (r3, 0x0)
    18be:	9260      	ld.w      	r3, (r2, 0x0)
    18c0:	68c5      	andn      	r3, r1
    18c2:	3ba0      	bseti      	r3, 0
    18c4:	3ba2      	bseti      	r3, 2
    18c6:	075e      	br      	0x1782	// 1782 <EPT_IO_SET+0x16>
	else if(EPT_IO_X==EPT_IO_CHCY)
    18c8:	3845      	cmpnei      	r0, 5
    18ca:	0825      	bt      	0x1914	// 1914 <EPT_IO_SET+0x1a8>
		if(IO_Num_X==IO_NUM_PB04)
    18cc:	3959      	cmpnei      	r1, 25
    18ce:	0809      	bt      	0x18e0	// 18e0 <EPT_IO_SET+0x174>
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFF0FFFF)|0X00040000;				//PB0.4
    18d0:	1174      	lrw      	r3, 0x20000048	// 19a0 <EPT_IO_SET+0x234>
    18d2:	32f0      	movi      	r2, 240
    18d4:	9320      	ld.w      	r1, (r3, 0x0)
    18d6:	9160      	ld.w      	r3, (r1, 0x0)
    18d8:	424c      	lsli      	r2, r2, 12
    18da:	68c9      	andn      	r3, r2
    18dc:	3bb2      	bseti      	r3, 18
    18de:	0781      	br      	0x17e0	// 17e0 <EPT_IO_SET+0x74>
		else if(IO_Num_X==IO_NUM_PA04)
    18e0:	395e      	cmpnei      	r1, 30
    18e2:	0803      	bt      	0x18e8	// 18e8 <EPT_IO_SET+0x17c>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFF0FFFF)|0X00050000;				//PA0.4
    18e4:	116e      	lrw      	r3, 0x2000004c	// 199c <EPT_IO_SET+0x230>
    18e6:	07b1      	br      	0x1848	// 1848 <EPT_IO_SET+0xdc>
		else if(IO_Num_X==IO_NUM_PA09)
    18e8:	395f      	cmpnei      	r1, 31
    18ea:	0809      	bt      	0x18fc	// 18fc <EPT_IO_SET+0x190>
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFF0F)|0X00000070;				//PA0.9
    18ec:	116c      	lrw      	r3, 0x2000004c	// 199c <EPT_IO_SET+0x230>
    18ee:	31f0      	movi      	r1, 240
    18f0:	9340      	ld.w      	r2, (r3, 0x0)
    18f2:	9261      	ld.w      	r3, (r2, 0x4)
    18f4:	68c5      	andn      	r3, r1
    18f6:	3170      	movi      	r1, 112
    18f8:	6cc4      	or      	r3, r1
    18fa:	075a      	br      	0x17ae	// 17ae <EPT_IO_SET+0x42>
		else if(IO_Num_X==IO_NUM_PA013)
    18fc:	3320      	movi      	r3, 32
    18fe:	64c6      	cmpne      	r1, r3
    1900:	0b42      	bt      	0x1784	// 1784 <EPT_IO_SET+0x18>
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF)|0X00500000;				//PA0.13
    1902:	1167      	lrw      	r3, 0x2000004c	// 199c <EPT_IO_SET+0x230>
    1904:	32f0      	movi      	r2, 240
    1906:	9320      	ld.w      	r1, (r3, 0x0)
    1908:	9161      	ld.w      	r3, (r1, 0x4)
    190a:	4250      	lsli      	r2, r2, 16
    190c:	68c9      	andn      	r3, r2
    190e:	3bb4      	bseti      	r3, 20
    1910:	3bb6      	bseti      	r3, 22
    1912:	0744      	br      	0x179a	// 179a <EPT_IO_SET+0x2e>
	else if(EPT_IO_X==EPT_IO_CHD)
    1914:	3846      	cmpnei      	r0, 6
    1916:	0815      	bt      	0x1940	// 1940 <EPT_IO_SET+0x1d4>
		if(IO_Num_X==IO_NUM_PB03)
    1918:	3953      	cmpnei      	r1, 19
    191a:	080a      	bt      	0x192e	// 192e <EPT_IO_SET+0x1c2>
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFF0FFF)|0X00006000;				//PB0.3
    191c:	1161      	lrw      	r3, 0x20000048	// 19a0 <EPT_IO_SET+0x234>
    191e:	32f0      	movi      	r2, 240
    1920:	9320      	ld.w      	r1, (r3, 0x0)
    1922:	9160      	ld.w      	r3, (r1, 0x0)
    1924:	4248      	lsli      	r2, r2, 8
    1926:	68c9      	andn      	r3, r2
    1928:	3bad      	bseti      	r3, 13
    192a:	3bae      	bseti      	r3, 14
    192c:	075a      	br      	0x17e0	// 17e0 <EPT_IO_SET+0x74>
		else if(IO_Num_X==IO_NUM_PA08)
    192e:	395b      	cmpnei      	r1, 27
    1930:	0b2a      	bt      	0x1784	// 1784 <EPT_IO_SET+0x18>
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFF0)|0X00000004;				//PA0.8
    1932:	107b      	lrw      	r3, 0x2000004c	// 199c <EPT_IO_SET+0x230>
    1934:	310f      	movi      	r1, 15
    1936:	9340      	ld.w      	r2, (r3, 0x0)
    1938:	9261      	ld.w      	r3, (r2, 0x4)
    193a:	68c5      	andn      	r3, r1
    193c:	3ba2      	bseti      	r3, 2
    193e:	0738      	br      	0x17ae	// 17ae <EPT_IO_SET+0x42>
	else if(EPT_IO_X==EPT_IO_EPI)
    1940:	3847      	cmpnei      	r0, 7
    1942:	0b21      	bt      	0x1784	// 1784 <EPT_IO_SET+0x18>
		if(IO_Num_X==IO_NUM_PA07)
    1944:	3950      	cmpnei      	r1, 16
    1946:	0809      	bt      	0x1958	// 1958 <EPT_IO_SET+0x1ec>
			GPIOA0->CONLR = (GPIOA0->CONLR&0X0FFFFFFF)|0X50000000;				//PA0.7 EPI0
    1948:	1075      	lrw      	r3, 0x2000004c	// 199c <EPT_IO_SET+0x230>
    194a:	9340      	ld.w      	r2, (r3, 0x0)
    194c:	9260      	ld.w      	r3, (r2, 0x0)
    194e:	4364      	lsli      	r3, r3, 4
    1950:	4b64      	lsri      	r3, r3, 4
    1952:	3bbc      	bseti      	r3, 28
    1954:	3bbe      	bseti      	r3, 30
    1956:	0716      	br      	0x1782	// 1782 <EPT_IO_SET+0x16>
		else if(IO_Num_X==IO_NUM_PA013)
    1958:	3320      	movi      	r3, 32
    195a:	64c6      	cmpne      	r1, r3
    195c:	0809      	bt      	0x196e	// 196e <EPT_IO_SET+0x202>
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF)|0X00400000;				//PA0.13 EPI1
    195e:	1070      	lrw      	r3, 0x2000004c	// 199c <EPT_IO_SET+0x230>
    1960:	32f0      	movi      	r2, 240
    1962:	9320      	ld.w      	r1, (r3, 0x0)
    1964:	9161      	ld.w      	r3, (r1, 0x4)
    1966:	4250      	lsli      	r2, r2, 16
    1968:	68c9      	andn      	r3, r2
    196a:	3bb6      	bseti      	r3, 22
    196c:	0717      	br      	0x179a	// 179a <EPT_IO_SET+0x2e>
		else if(IO_Num_X==IO_NUM_PB03)
    196e:	3953      	cmpnei      	r1, 19
    1970:	080b      	bt      	0x1986	// 1986 <EPT_IO_SET+0x21a>
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFF0FFF)|0X00007000;				//PB0.3 EPI2
    1972:	106c      	lrw      	r3, 0x20000048	// 19a0 <EPT_IO_SET+0x234>
    1974:	32f0      	movi      	r2, 240
    1976:	9320      	ld.w      	r1, (r3, 0x0)
    1978:	4248      	lsli      	r2, r2, 8
    197a:	9160      	ld.w      	r3, (r1, 0x0)
    197c:	68c9      	andn      	r3, r2
    197e:	32e0      	movi      	r2, 224
    1980:	4247      	lsli      	r2, r2, 7
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFF0FF)|0X00000700;				//PB0.2 EPI3
    1982:	6cc8      	or      	r3, r2
    1984:	072e      	br      	0x17e0	// 17e0 <EPT_IO_SET+0x74>
		else if(IO_Num_X==IO_NUM_PB02)
    1986:	3956      	cmpnei      	r1, 22
    1988:	0afe      	bt      	0x1784	// 1784 <EPT_IO_SET+0x18>
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFF0FF)|0X00000700;				//PB0.2 EPI3
    198a:	1066      	lrw      	r3, 0x20000048	// 19a0 <EPT_IO_SET+0x234>
    198c:	32f0      	movi      	r2, 240
    198e:	9320      	ld.w      	r1, (r3, 0x0)
    1990:	4244      	lsli      	r2, r2, 4
    1992:	9160      	ld.w      	r3, (r1, 0x0)
    1994:	68c9      	andn      	r3, r2
    1996:	32e0      	movi      	r2, 224
    1998:	4243      	lsli      	r2, r2, 3
    199a:	07f4      	br      	0x1982	// 1982 <EPT_IO_SET+0x216>
    199c:	2000004c 	.long	0x2000004c
    19a0:	20000048 	.long	0x20000048

Disassembly of section .text.EPT_PWM_Config:

000019a4 <EPT_PWM_Config>:
//ReturnValue:NONE
/*************************************************************/  
//Fclk=Fpclk/(PSC+1)
void EPT_PWM_Config(EPT_TCLK_Selecte_Type EPT_TCLK_Selecte_X , EPT_CNTMD_SELECTE_Type EPT_CNTMD_SELECTE_X  , EPT_OPM_SELECTE_Type EPT_OPM_SELECTE_X
					, U16_T EPT_PSCR)		
{
    19a4:	14c3      	push      	r4-r6
    19a6:	6d8b      	mov      	r6, r2
	EPT0->CEDR=(EPT0->CEDR&0XFFFFFF00)|(0X01|EPT_TCLK_Selecte_X|(0X01<<1)|(0X00<<6));
    19a8:	104b      	lrw      	r2, 0x20000020	// 19d4 <EPT_PWM_Config+0x30>
	if(EPT_TCLK_Selecte_X==EPT_Selecte_PCLK)
    19aa:	3840      	cmpnei      	r0, 0
	EPT0->CEDR=(EPT0->CEDR&0XFFFFFF00)|(0X01|EPT_TCLK_Selecte_X|(0X01<<1)|(0X00<<6));
    19ac:	92a0      	ld.w      	r5, (r2, 0x0)
    19ae:	9580      	ld.w      	r4, (r5, 0x0)
    19b0:	32ff      	movi      	r2, 255
    19b2:	6909      	andn      	r4, r2
    19b4:	3ca0      	bseti      	r4, 0
    19b6:	3ca1      	bseti      	r4, 1
    19b8:	6d00      	or      	r4, r0
    19ba:	b580      	st.w      	r4, (r5, 0x0)
	if(EPT_TCLK_Selecte_X==EPT_Selecte_PCLK)
    19bc:	0802      	bt      	0x19c0	// 19c0 <EPT_PWM_Config+0x1c>
	{
		EPT0->PSCR=EPT_PSCR;
    19be:	b562      	st.w      	r3, (r5, 0x8)
	}
	EPT0->CR=(EPT0->CR&0xfff8ffc0)|EPT_CNTMD_SELECTE_X|(0x1<<2)|(0x0<<3)|(0x0<<4)|EPT_OPM_SELECTE_X|(0X0<<16)|(0x1<<18);
    19c0:	9543      	ld.w      	r2, (r5, 0xc)
    19c2:	1066      	lrw      	r3, 0x7003f	// 19d8 <EPT_PWM_Config+0x34>
    19c4:	688d      	andn      	r2, r3
    19c6:	6c98      	or      	r2, r6
    19c8:	3aa2      	bseti      	r2, 2
    19ca:	3ab2      	bseti      	r2, 18
    19cc:	6c48      	or      	r1, r2
    19ce:	b523      	st.w      	r1, (r5, 0xc)
} 
    19d0:	1483      	pop      	r4-r6
    19d2:	0000      	bkpt
    19d4:	20000020 	.long	0x20000020
    19d8:	0007003f 	.long	0x0007003f

Disassembly of section .text.EPT_PWMX_Output_Control:

000019dc <EPT_PWMX_Output_Control>:
							 EPT_PWM_CAU_Output_Type EPT_PWM_CAU_Event_Output , EPT_PWM_CAD_Output_Type EPT_PWM_CAD_Event_Output ,
							 EPT_PWM_CBU_Output_Type EPT_PWM_CBU_Event_Output , EPT_PWM_CBD_Output_Type EPT_PWM_CBD_Event_Output ,
							 EPT_PWM_T1U_Output_Type EPT_PWM_T1U_Event_Output , EPT_PWM_T1D_Output_Type EPT_PWM_T1D_Event_Output ,
							 EPT_PWM_T2U_Output_Type EPT_PWM_T2U_Event_Output , EPT_PWM_T2D_Output_Type EPT_PWM_T2D_Event_Output 
							 )
{
    19dc:	14c4      	push      	r4-r7
    19de:	1425      	subi      	r14, r14, 20
    19e0:	9889      	ld.w      	r4, (r14, 0x24)
    19e2:	b880      	st.w      	r4, (r14, 0x0)
    19e4:	988a      	ld.w      	r4, (r14, 0x28)
    19e6:	b881      	st.w      	r4, (r14, 0x4)
    19e8:	988b      	ld.w      	r4, (r14, 0x2c)
    19ea:	b882      	st.w      	r4, (r14, 0x8)
    19ec:	988c      	ld.w      	r4, (r14, 0x30)
    19ee:	b883      	st.w      	r4, (r14, 0xc)
	if(EPT_PWMX_Selecte==EPT_PWMA)
    19f0:	3840      	cmpnei      	r0, 0
{
    19f2:	988d      	ld.w      	r4, (r14, 0x34)
    19f4:	b884      	st.w      	r4, (r14, 0x10)
    19f6:	98ce      	ld.w      	r6, (r14, 0x38)
    19f8:	98ef      	ld.w      	r7, (r14, 0x3c)
    19fa:	98b0      	ld.w      	r5, (r14, 0x40)
    19fc:	9891      	ld.w      	r4, (r14, 0x44)
	if(EPT_PWMX_Selecte==EPT_PWMA)
    19fe:	0816      	bt      	0x1a2a	// 1a2a <EPT_PWMX_Output_Control+0x4e>
	{
		EPT0->AQCRA=EPT_CA_Selecte_X|EPT_CB_Selecte_X|EPT_PWM_ZRO_Event_Output|EPT_PWM_PRD_Event_Output|EPT_PWM_CAU_Event_Output|EPT_PWM_CAD_Event_Output|
					EPT_PWM_CBU_Event_Output|EPT_PWM_CBD_Event_Output|EPT_PWM_T1U_Event_Output|EPT_PWM_T1D_Event_Output|EPT_PWM_T2U_Event_Output|EPT_PWM_T2D_Event_Output;
    1a00:	6d14      	or      	r4, r5
    1a02:	6d1c      	or      	r4, r7
    1a04:	98a4      	ld.w      	r5, (r14, 0x10)
    1a06:	6d18      	or      	r4, r6
    1a08:	6d14      	or      	r4, r5
    1a0a:	98a3      	ld.w      	r5, (r14, 0xc)
    1a0c:	6d14      	or      	r4, r5
    1a0e:	98a2      	ld.w      	r5, (r14, 0x8)
    1a10:	6d14      	or      	r4, r5
    1a12:	98a1      	ld.w      	r5, (r14, 0x4)
    1a14:	6d14      	or      	r4, r5
    1a16:	98a0      	ld.w      	r5, (r14, 0x0)
    1a18:	6d14      	or      	r4, r5
    1a1a:	6cd0      	or      	r3, r4
		EPT0->AQCRA=EPT_CA_Selecte_X|EPT_CB_Selecte_X|EPT_PWM_ZRO_Event_Output|EPT_PWM_PRD_Event_Output|EPT_PWM_CAU_Event_Output|EPT_PWM_CAD_Event_Output|
    1a1c:	1105      	lrw      	r0, 0x20000020	// 1ab0 <EPT_PWMX_Output_Control+0xd4>
					EPT_PWM_CBU_Event_Output|EPT_PWM_CBD_Event_Output|EPT_PWM_T1U_Event_Output|EPT_PWM_T1D_Event_Output|EPT_PWM_T2U_Event_Output|EPT_PWM_T2D_Event_Output;
    1a1e:	6c8c      	or      	r2, r3
		EPT0->AQCRA=EPT_CA_Selecte_X|EPT_CB_Selecte_X|EPT_PWM_ZRO_Event_Output|EPT_PWM_PRD_Event_Output|EPT_PWM_CAU_Event_Output|EPT_PWM_CAD_Event_Output|
    1a20:	9000      	ld.w      	r0, (r0, 0x0)
					EPT_PWM_CBU_Event_Output|EPT_PWM_CBD_Event_Output|EPT_PWM_T1U_Event_Output|EPT_PWM_T1D_Event_Output|EPT_PWM_T2U_Event_Output|EPT_PWM_T2D_Event_Output;
    1a22:	6c48      	or      	r1, r2
		EPT0->AQCRA=EPT_CA_Selecte_X|EPT_CB_Selecte_X|EPT_PWM_ZRO_Event_Output|EPT_PWM_PRD_Event_Output|EPT_PWM_CAU_Event_Output|EPT_PWM_CAD_Event_Output|
    1a24:	b032      	st.w      	r1, (r0, 0x48)
	{
		EPT0->AQCRD=EPT_CA_Selecte_X|EPT_CB_Selecte_X|EPT_PWM_ZRO_Event_Output|EPT_PWM_PRD_Event_Output|EPT_PWM_CAU_Event_Output|EPT_PWM_CAD_Event_Output|
					EPT_PWM_CBU_Event_Output|EPT_PWM_CBD_Event_Output|EPT_PWM_T1U_Event_Output|EPT_PWM_T1D_Event_Output|EPT_PWM_T2U_Event_Output|EPT_PWM_T2D_Event_Output;
	}
	
}
    1a26:	1405      	addi      	r14, r14, 20
    1a28:	1484      	pop      	r4-r7
	else if(EPT_PWMX_Selecte==EPT_PWMB)
    1a2a:	3841      	cmpnei      	r0, 1
    1a2c:	0815      	bt      	0x1a56	// 1a56 <EPT_PWMX_Output_Control+0x7a>
					EPT_PWM_CBU_Event_Output|EPT_PWM_CBD_Event_Output|EPT_PWM_T1U_Event_Output|EPT_PWM_T1D_Event_Output|EPT_PWM_T2U_Event_Output|EPT_PWM_T2D_Event_Output;
    1a2e:	6d14      	or      	r4, r5
    1a30:	6d1c      	or      	r4, r7
    1a32:	98a4      	ld.w      	r5, (r14, 0x10)
    1a34:	6d18      	or      	r4, r6
    1a36:	6d14      	or      	r4, r5
    1a38:	98a3      	ld.w      	r5, (r14, 0xc)
    1a3a:	6d14      	or      	r4, r5
    1a3c:	98a2      	ld.w      	r5, (r14, 0x8)
    1a3e:	6d14      	or      	r4, r5
    1a40:	98a1      	ld.w      	r5, (r14, 0x4)
    1a42:	6d14      	or      	r4, r5
    1a44:	98a0      	ld.w      	r5, (r14, 0x0)
    1a46:	6d14      	or      	r4, r5
    1a48:	6cd0      	or      	r3, r4
		EPT0->AQCRB=EPT_CA_Selecte_X|EPT_CB_Selecte_X|EPT_PWM_ZRO_Event_Output|EPT_PWM_PRD_Event_Output|EPT_PWM_CAU_Event_Output|EPT_PWM_CAD_Event_Output|
    1a4a:	101a      	lrw      	r0, 0x20000020	// 1ab0 <EPT_PWMX_Output_Control+0xd4>
					EPT_PWM_CBU_Event_Output|EPT_PWM_CBD_Event_Output|EPT_PWM_T1U_Event_Output|EPT_PWM_T1D_Event_Output|EPT_PWM_T2U_Event_Output|EPT_PWM_T2D_Event_Output;
    1a4c:	6c8c      	or      	r2, r3
		EPT0->AQCRB=EPT_CA_Selecte_X|EPT_CB_Selecte_X|EPT_PWM_ZRO_Event_Output|EPT_PWM_PRD_Event_Output|EPT_PWM_CAU_Event_Output|EPT_PWM_CAD_Event_Output|
    1a4e:	9000      	ld.w      	r0, (r0, 0x0)
					EPT_PWM_CBU_Event_Output|EPT_PWM_CBD_Event_Output|EPT_PWM_T1U_Event_Output|EPT_PWM_T1D_Event_Output|EPT_PWM_T2U_Event_Output|EPT_PWM_T2D_Event_Output;
    1a50:	6c48      	or      	r1, r2
		EPT0->AQCRB=EPT_CA_Selecte_X|EPT_CB_Selecte_X|EPT_PWM_ZRO_Event_Output|EPT_PWM_PRD_Event_Output|EPT_PWM_CAU_Event_Output|EPT_PWM_CAD_Event_Output|
    1a52:	b033      	st.w      	r1, (r0, 0x4c)
    1a54:	07e9      	br      	0x1a26	// 1a26 <EPT_PWMX_Output_Control+0x4a>
	else if(EPT_PWMX_Selecte==EPT_PWMC)
    1a56:	3842      	cmpnei      	r0, 2
    1a58:	0815      	bt      	0x1a82	// 1a82 <EPT_PWMX_Output_Control+0xa6>
					EPT_PWM_CBU_Event_Output|EPT_PWM_CBD_Event_Output|EPT_PWM_T1U_Event_Output|EPT_PWM_T1D_Event_Output|EPT_PWM_T2U_Event_Output|EPT_PWM_T2D_Event_Output;
    1a5a:	6d14      	or      	r4, r5
    1a5c:	6d1c      	or      	r4, r7
    1a5e:	98a4      	ld.w      	r5, (r14, 0x10)
    1a60:	6d18      	or      	r4, r6
    1a62:	6d14      	or      	r4, r5
    1a64:	98a3      	ld.w      	r5, (r14, 0xc)
    1a66:	6d14      	or      	r4, r5
    1a68:	98a2      	ld.w      	r5, (r14, 0x8)
    1a6a:	6d14      	or      	r4, r5
    1a6c:	98a1      	ld.w      	r5, (r14, 0x4)
    1a6e:	6d14      	or      	r4, r5
    1a70:	98a0      	ld.w      	r5, (r14, 0x0)
    1a72:	6d14      	or      	r4, r5
    1a74:	6cd0      	or      	r3, r4
		EPT0->AQCRC=EPT_CA_Selecte_X|EPT_CB_Selecte_X|EPT_PWM_ZRO_Event_Output|EPT_PWM_PRD_Event_Output|EPT_PWM_CAU_Event_Output|EPT_PWM_CAD_Event_Output|
    1a76:	100f      	lrw      	r0, 0x20000020	// 1ab0 <EPT_PWMX_Output_Control+0xd4>
					EPT_PWM_CBU_Event_Output|EPT_PWM_CBD_Event_Output|EPT_PWM_T1U_Event_Output|EPT_PWM_T1D_Event_Output|EPT_PWM_T2U_Event_Output|EPT_PWM_T2D_Event_Output;
    1a78:	6c8c      	or      	r2, r3
		EPT0->AQCRC=EPT_CA_Selecte_X|EPT_CB_Selecte_X|EPT_PWM_ZRO_Event_Output|EPT_PWM_PRD_Event_Output|EPT_PWM_CAU_Event_Output|EPT_PWM_CAD_Event_Output|
    1a7a:	9000      	ld.w      	r0, (r0, 0x0)
					EPT_PWM_CBU_Event_Output|EPT_PWM_CBD_Event_Output|EPT_PWM_T1U_Event_Output|EPT_PWM_T1D_Event_Output|EPT_PWM_T2U_Event_Output|EPT_PWM_T2D_Event_Output;
    1a7c:	6c48      	or      	r1, r2
		EPT0->AQCRC=EPT_CA_Selecte_X|EPT_CB_Selecte_X|EPT_PWM_ZRO_Event_Output|EPT_PWM_PRD_Event_Output|EPT_PWM_CAU_Event_Output|EPT_PWM_CAD_Event_Output|
    1a7e:	b034      	st.w      	r1, (r0, 0x50)
    1a80:	07d3      	br      	0x1a26	// 1a26 <EPT_PWMX_Output_Control+0x4a>
	else if(EPT_PWMX_Selecte==EPT_PWMD)
    1a82:	3843      	cmpnei      	r0, 3
    1a84:	0bd1      	bt      	0x1a26	// 1a26 <EPT_PWMX_Output_Control+0x4a>
					EPT_PWM_CBU_Event_Output|EPT_PWM_CBD_Event_Output|EPT_PWM_T1U_Event_Output|EPT_PWM_T1D_Event_Output|EPT_PWM_T2U_Event_Output|EPT_PWM_T2D_Event_Output;
    1a86:	6d14      	or      	r4, r5
    1a88:	6d1c      	or      	r4, r7
    1a8a:	98a4      	ld.w      	r5, (r14, 0x10)
    1a8c:	6d18      	or      	r4, r6
    1a8e:	6d14      	or      	r4, r5
    1a90:	98a3      	ld.w      	r5, (r14, 0xc)
    1a92:	6d14      	or      	r4, r5
    1a94:	98a2      	ld.w      	r5, (r14, 0x8)
    1a96:	6d14      	or      	r4, r5
    1a98:	98a1      	ld.w      	r5, (r14, 0x4)
    1a9a:	6d14      	or      	r4, r5
    1a9c:	98a0      	ld.w      	r5, (r14, 0x0)
    1a9e:	6d14      	or      	r4, r5
    1aa0:	6cd0      	or      	r3, r4
		EPT0->AQCRD=EPT_CA_Selecte_X|EPT_CB_Selecte_X|EPT_PWM_ZRO_Event_Output|EPT_PWM_PRD_Event_Output|EPT_PWM_CAU_Event_Output|EPT_PWM_CAD_Event_Output|
    1aa2:	1004      	lrw      	r0, 0x20000020	// 1ab0 <EPT_PWMX_Output_Control+0xd4>
					EPT_PWM_CBU_Event_Output|EPT_PWM_CBD_Event_Output|EPT_PWM_T1U_Event_Output|EPT_PWM_T1D_Event_Output|EPT_PWM_T2U_Event_Output|EPT_PWM_T2D_Event_Output;
    1aa4:	6c8c      	or      	r2, r3
		EPT0->AQCRD=EPT_CA_Selecte_X|EPT_CB_Selecte_X|EPT_PWM_ZRO_Event_Output|EPT_PWM_PRD_Event_Output|EPT_PWM_CAU_Event_Output|EPT_PWM_CAD_Event_Output|
    1aa6:	9000      	ld.w      	r0, (r0, 0x0)
					EPT_PWM_CBU_Event_Output|EPT_PWM_CBD_Event_Output|EPT_PWM_T1U_Event_Output|EPT_PWM_T1D_Event_Output|EPT_PWM_T2U_Event_Output|EPT_PWM_T2D_Event_Output;
    1aa8:	6c48      	or      	r1, r2
		EPT0->AQCRD=EPT_CA_Selecte_X|EPT_CB_Selecte_X|EPT_PWM_ZRO_Event_Output|EPT_PWM_PRD_Event_Output|EPT_PWM_CAU_Event_Output|EPT_PWM_CAD_Event_Output|
    1aaa:	b035      	st.w      	r1, (r0, 0x54)
}
    1aac:	07bd      	br      	0x1a26	// 1a26 <EPT_PWMX_Output_Control+0x4a>
    1aae:	0000      	bkpt
    1ab0:	20000020 	.long	0x20000020

Disassembly of section .text.EPT_PRDR_CMPA_CMPB_CMPC_CMPD_Config:

00001ab4 <EPT_PRDR_CMPA_CMPB_CMPC_CMPD_Config>:
//EPT_CMPB_Value:0~0xff
//EPT_CMPC_Value:0~0xff
//EPT_CMPD_Value:0~0xff
/*************************************************************/ 
void EPT_PRDR_CMPA_CMPB_CMPC_CMPD_Config(U16_T EPT_PRDR_Value , U16_T EPT_CMPA_Value , U16_T EPT_CMPB_Value , U16_T EPT_CMPC_Value , U16_T EPT_CMPD_Value)
{
    1ab4:	14c2      	push      	r4-r5
	EPT0->PRDR=EPT_PRDR_Value;
    1ab6:	1086      	lrw      	r4, 0x20000020	// 1acc <EPT_PRDR_CMPA_CMPB_CMPC_CMPD_Config+0x18>
{
    1ab8:	d8ae1004 	ld.h      	r5, (r14, 0x8)
	EPT0->PRDR=EPT_PRDR_Value;
    1abc:	9480      	ld.w      	r4, (r4, 0x0)
    1abe:	b409      	st.w      	r0, (r4, 0x24)
	EPT0->CMPA=EPT_CMPA_Value;
    1ac0:	b42b      	st.w      	r1, (r4, 0x2c)
	EPT0->CMPB=EPT_CMPB_Value;
    1ac2:	b44c      	st.w      	r2, (r4, 0x30)
	EPT0->CMPC=EPT_CMPC_Value;
    1ac4:	b46d      	st.w      	r3, (r4, 0x34)
	EPT0->CMPD=EPT_CMPD_Value;
    1ac6:	b4ae      	st.w      	r5, (r4, 0x38)
}
    1ac8:	1482      	pop      	r4-r5
    1aca:	0000      	bkpt
    1acc:	20000020 	.long	0x20000020

Disassembly of section .text.ADC12_RESET_VALUE:

00001ad0 <ADC12_RESET_VALUE>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/  
void ADC12_RESET_VALUE(void)
{
	 ADC0->ECR	=	ADC_ECR_RST;     				/**< ECR  reset value  */
    1ad0:	1078      	lrw      	r3, 0x20000050	// 1b30 <ADC12_RESET_VALUE+0x60>
    1ad2:	3200      	movi      	r2, 0
    1ad4:	9360      	ld.w      	r3, (r3, 0x0)
    1ad6:	b340      	st.w      	r2, (r3, 0x0)
	 ADC0->DCR	=	ADC_DCR_RST;                  	/**< DCR  reset value  */
    1ad8:	b341      	st.w      	r2, (r3, 0x4)
	 ADC0->PMSR	= 	ADC_PMSR_RST;       		  	/**< PMSR reset value  */
    1ada:	b342      	st.w      	r2, (r3, 0x8)
	 //ADC0->CR	=	ADC_CR_RST;             		/**< CR   reset value  */
	 ADC0->MR	=   ADC_MR_RST;                  	/**< MR   reset value  */
    1adc:	b345      	st.w      	r2, (r3, 0x14)
	 ADC0->CSR	=   ADC_CSR_RST;                  	/**< CSR  reset value  */
    1ade:	b347      	st.w      	r2, (r3, 0x1c)
	 ADC0->SR 	=	ADC_SR_RST;                   	/**< SR   reset value  */
    1ae0:	b348      	st.w      	r2, (r3, 0x20)
	 ADC0->IER 	=	ADC_IER_RST;                	/**< IER  reset value  */
    1ae2:	b349      	st.w      	r2, (r3, 0x24)
	 ADC0->IDR 	=	ADC_IDR_RST;              		/**< IDR  reset value  */
    1ae4:	b34a      	st.w      	r2, (r3, 0x28)
	 ADC0->IMR  =	ADC_IMR_RST;               		/**< IMR  reset value  */
    1ae6:	b34b      	st.w      	r2, (r3, 0x2c)
	 ADC0->SEQ[0]=	ADC_SEQx_RST;             		/**< SEQ0  reset value */
    1ae8:	b34c      	st.w      	r2, (r3, 0x30)
	 ADC0->SEQ[1]=	ADC_SEQx_RST;             		/**< SEQ1  reset value */
    1aea:	b34d      	st.w      	r2, (r3, 0x34)
	 ADC0->SEQ[2]=	ADC_SEQx_RST;             		/**< SEQ2  reset value */
    1aec:	b34e      	st.w      	r2, (r3, 0x38)
	 ADC0->SEQ[3]=	ADC_SEQx_RST;             		/**< SEQ3  reset value */
    1aee:	b34f      	st.w      	r2, (r3, 0x3c)
	 ADC0->SEQ[4]=	ADC_SEQx_RST;             		/**< SEQ4  reset value */
    1af0:	b350      	st.w      	r2, (r3, 0x40)
	 ADC0->SEQ[5]=	ADC_SEQx_RST;             		/**< SEQ5  reset value */
    1af2:	b351      	st.w      	r2, (r3, 0x44)
	 ADC0->SEQ[6]=	ADC_SEQx_RST;             		/**< SEQ6  reset value */
    1af4:	b352      	st.w      	r2, (r3, 0x48)
	 ADC0->SEQ[7]=	ADC_SEQx_RST;             		/**< SEQ7  reset value */
    1af6:	b353      	st.w      	r2, (r3, 0x4c)
	 ADC0->SEQ[8]=	ADC_SEQx_RST;             		/**< SEQ8  reset value */
    1af8:	b354      	st.w      	r2, (r3, 0x50)
	 ADC0->SEQ[9]=	ADC_SEQx_RST;             		/**< SEQ9  reset value */
    1afa:	b355      	st.w      	r2, (r3, 0x54)
	 ADC0->SEQ[10]=	ADC_SEQx_RST;             		/**< SEQ10  reset value */
    1afc:	b356      	st.w      	r2, (r3, 0x58)
	 ADC0->SEQ[11]=	ADC_SEQx_RST;             		/**< SEQ11  reset value */
    1afe:	b357      	st.w      	r2, (r3, 0x5c)
	 ADC0->SEQ[12]=	ADC_SEQx_RST;             		/**< SEQ12  reset value */
    1b00:	b358      	st.w      	r2, (r3, 0x60)
	 ADC0->SEQ[13]=	ADC_SEQx_RST;             		/**< SEQ13  reset value */
    1b02:	b359      	st.w      	r2, (r3, 0x64)
	 ADC0->SEQ[14]=	ADC_SEQx_RST;             		/**< SEQ14  reset value */
    1b04:	b35a      	st.w      	r2, (r3, 0x68)
	 ADC0->SEQ[15]=	ADC_SEQx_RST;             		/**< SEQ15  reset value */
    1b06:	b35b      	st.w      	r2, (r3, 0x6c)
	 ADC0->DR[0]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1b08:	23ff      	addi      	r3, 256
    1b0a:	b340      	st.w      	r2, (r3, 0x0)
	 ADC0->DR[1]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1b0c:	b341      	st.w      	r2, (r3, 0x4)
	 ADC0->DR[2]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1b0e:	b342      	st.w      	r2, (r3, 0x8)
	 ADC0->DR[3]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1b10:	b343      	st.w      	r2, (r3, 0xc)
	 ADC0->DR[4]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1b12:	b344      	st.w      	r2, (r3, 0x10)
	 ADC0->DR[5]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1b14:	b345      	st.w      	r2, (r3, 0x14)
	 ADC0->DR[6]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1b16:	b346      	st.w      	r2, (r3, 0x18)
	 ADC0->DR[7]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1b18:	b347      	st.w      	r2, (r3, 0x1c)
	 ADC0->DR[8]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1b1a:	b348      	st.w      	r2, (r3, 0x20)
	 ADC0->DR[9]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1b1c:	b349      	st.w      	r2, (r3, 0x24)
	 ADC0->DR[10]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1b1e:	b34a      	st.w      	r2, (r3, 0x28)
	 ADC0->DR[11]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1b20:	b34b      	st.w      	r2, (r3, 0x2c)
	 ADC0->DR[12]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1b22:	b34c      	st.w      	r2, (r3, 0x30)
	 ADC0->DR[13]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1b24:	b34d      	st.w      	r2, (r3, 0x34)
	 ADC0->DR[14]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1b26:	b34e      	st.w      	r2, (r3, 0x38)
	 ADC0->DR[15]  =	ADC_DR_RST;                		/**< DR   reset value  */
    1b28:	b34f      	st.w      	r2, (r3, 0x3c)
	 ADC0->CMP0   =	ADC_CMP0_RST;               	/**< CMP1 reset value  */
    1b2a:	b350      	st.w      	r2, (r3, 0x40)
	 ADC0->CMP1   =	ADC_CMP1_RST;                	/**< CMP2 reset value  */
    1b2c:	b351      	st.w      	r2, (r3, 0x44)
}  
    1b2e:	783c      	jmp      	r15
    1b30:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_Control:

00001b34 <ADC12_Control>:
//ReturnValue:NONE
/*************************************************************/  
  //control:ADC enable/disable ,start/stop,swrst
void ADC12_Control(ADC12_Control_TypeDef ADC12_Control_x )
{
	ADC0->CR |= ADC12_Control_x;							// 
    1b34:	1063      	lrw      	r3, 0x20000050	// 1b40 <ADC12_Control+0xc>
    1b36:	9340      	ld.w      	r2, (r3, 0x0)
    1b38:	9264      	ld.w      	r3, (r2, 0x10)
    1b3a:	6c0c      	or      	r0, r3
    1b3c:	b204      	st.w      	r0, (r2, 0x10)
}
    1b3e:	783c      	jmp      	r15
    1b40:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_CMD.part.0:

00001b44 <ADC12_CMD.part.0>:
//ADC12 ENABLE
//EntryParameter:NewState
//NewState:ENABLE , DISABLE
//ReturnValue:NONE
/*************************************************************/ 
void ADC12_CMD(FunctionalStatus NewState)
    1b44:	14d0      	push      	r15
{
	if (NewState != DISABLE)
	{
		ADC12_Control(ADC12_ADCEN);						//ADC12 ENABLE
    1b46:	3002      	movi      	r0, 2
    1b48:	e3fffff6 	bsr      	0x1b34	// 1b34 <ADC12_Control>
		while(!(ADC0->SR &ADC12_ADCENS));
    1b4c:	1065      	lrw      	r3, 0x20000050	// 1b60 <ADC12_CMD.part.0+0x1c>
    1b4e:	3280      	movi      	r2, 128
    1b50:	9320      	ld.w      	r1, (r3, 0x0)
    1b52:	4241      	lsli      	r2, r2, 1
    1b54:	9168      	ld.w      	r3, (r1, 0x20)
    1b56:	68c8      	and      	r3, r2
    1b58:	3b40      	cmpnei      	r3, 0
    1b5a:	0ffd      	bf      	0x1b54	// 1b54 <ADC12_CMD.part.0+0x10>
	else
	{
		ADC12_Control(ADC12_ADCDIS);					//ADC12 DISABLE
		while(ADC0->SR&ADC12_ADCENS);
	}
}
    1b5c:	1490      	pop      	r15
    1b5e:	0000      	bkpt
    1b60:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_CLK_CMD:

00001b64 <ADC12_CLK_CMD>:
	if (NewState != DISABLE)
    1b64:	3940      	cmpnei      	r1, 0
    1b66:	106a      	lrw      	r3, 0x20000050	// 1b8c <ADC12_CLK_CMD+0x28>
		ADC0->ECR  |= ADC_CLK_CMD;						//ENABLE
    1b68:	9340      	ld.w      	r2, (r3, 0x0)
	if (NewState != DISABLE)
    1b6a:	0c09      	bf      	0x1b7c	// 1b7c <ADC12_CLK_CMD+0x18>
		ADC0->ECR  |= ADC_CLK_CMD;						//ENABLE
    1b6c:	9260      	ld.w      	r3, (r2, 0x0)
    1b6e:	6cc0      	or      	r3, r0
    1b70:	b260      	st.w      	r3, (r2, 0x0)
		while(!(ADC0->PMSR&ADC_CLK_CMD));
    1b72:	9262      	ld.w      	r3, (r2, 0x8)
    1b74:	68c0      	and      	r3, r0
    1b76:	3b40      	cmpnei      	r3, 0
    1b78:	0ffd      	bf      	0x1b72	// 1b72 <ADC12_CLK_CMD+0xe>
}
    1b7a:	783c      	jmp      	r15
		ADC0->DCR  |= ADC_CLK_CMD;						//DISABLE
    1b7c:	9261      	ld.w      	r3, (r2, 0x4)
    1b7e:	6cc0      	or      	r3, r0
    1b80:	b261      	st.w      	r3, (r2, 0x4)
		while(ADC0->PMSR&ADC_CLK_CMD);
    1b82:	9262      	ld.w      	r3, (r2, 0x8)
    1b84:	68c0      	and      	r3, r0
    1b86:	3b40      	cmpnei      	r3, 0
    1b88:	0bfd      	bt      	0x1b82	// 1b82 <ADC12_CLK_CMD+0x1e>
    1b8a:	07f8      	br      	0x1b7a	// 1b7a <ADC12_CLK_CMD+0x16>
    1b8c:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_Software_Reset:

00001b90 <ADC12_Software_Reset>:
{
    1b90:	14d0      	push      	r15
	ADC12_Control(ADC12_SWRST);
    1b92:	3001      	movi      	r0, 1
    1b94:	e3ffffd0 	bsr      	0x1b34	// 1b34 <ADC12_Control>
}
    1b98:	1490      	pop      	r15

Disassembly of section .text.ADC12_CMD:

00001b9c <ADC12_CMD>:
{
    1b9c:	14d0      	push      	r15
	if (NewState != DISABLE)
    1b9e:	3840      	cmpnei      	r0, 0
    1ba0:	0c04      	bf      	0x1ba8	// 1ba8 <ADC12_CMD+0xc>
    1ba2:	e3ffffd1 	bsr      	0x1b44	// 1b44 <ADC12_CMD.part.0>
}
    1ba6:	1490      	pop      	r15
		ADC12_Control(ADC12_ADCDIS);					//ADC12 DISABLE
    1ba8:	3004      	movi      	r0, 4
    1baa:	e3ffffc5 	bsr      	0x1b34	// 1b34 <ADC12_Control>
		while(ADC0->SR&ADC12_ADCENS);
    1bae:	1065      	lrw      	r3, 0x20000050	// 1bc0 <ADC12_CMD+0x24>
    1bb0:	3280      	movi      	r2, 128
    1bb2:	9320      	ld.w      	r1, (r3, 0x0)
    1bb4:	4241      	lsli      	r2, r2, 1
    1bb6:	9168      	ld.w      	r3, (r1, 0x20)
    1bb8:	68c8      	and      	r3, r2
    1bba:	3b40      	cmpnei      	r3, 0
    1bbc:	0bfd      	bt      	0x1bb6	// 1bb6 <ADC12_CMD+0x1a>
    1bbe:	07f4      	br      	0x1ba6	// 1ba6 <ADC12_CMD+0xa>
    1bc0:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_ready_wait:

00001bc4 <ADC12_ready_wait>:
//EntryParameter:NONE
//ReturnValue:ADC12 READ FLAG
/*************************************************************/ 
void ADC12_ready_wait(void)  
{
	while(!(ADC0->SR&ADC12_READY));   					// Waiting for ADC0 Ready
    1bc4:	1064      	lrw      	r3, 0x20000050	// 1bd4 <ADC12_ready_wait+0x10>
    1bc6:	3202      	movi      	r2, 2
    1bc8:	9320      	ld.w      	r1, (r3, 0x0)
    1bca:	9168      	ld.w      	r3, (r1, 0x20)
    1bcc:	68c8      	and      	r3, r2
    1bce:	3b40      	cmpnei      	r3, 0
    1bd0:	0ffd      	bf      	0x1bca	// 1bca <ADC12_ready_wait+0x6>
}
    1bd2:	783c      	jmp      	r15
    1bd4:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_SEQEND_wait:

00001bd8 <ADC12_SEQEND_wait>:
//EntryParameter:NONE
//ReturnValue:ADC12 EOC
/*************************************************************/ 
void ADC12_SEQEND_wait(U8_T val)
{
	while(!(ADC0->SR & (0x01ul << (16+val))));			// EOC wait
    1bd8:	200f      	addi      	r0, 16
    1bda:	1065      	lrw      	r3, 0x20000050	// 1bec <ADC12_SEQEND_wait+0x14>
    1bdc:	3201      	movi      	r2, 1
    1bde:	9320      	ld.w      	r1, (r3, 0x0)
    1be0:	7080      	lsl      	r2, r0
    1be2:	9168      	ld.w      	r3, (r1, 0x20)
    1be4:	68c8      	and      	r3, r2
    1be6:	3b40      	cmpnei      	r3, 0
    1be8:	0ffd      	bf      	0x1be2	// 1be2 <ADC12_SEQEND_wait+0xa>
}  
    1bea:	783c      	jmp      	r15
    1bec:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_DATA_OUPUT:

00001bf0 <ADC12_DATA_OUPUT>:
//EntryParameter:NONE
//ReturnValue:ADC12 DR
/*************************************************************/ 
U16_T ADC12_DATA_OUPUT(U16_T Data_index )
{
	return(ADC0->DR[Data_index]);
    1bf0:	203f      	addi      	r0, 64
    1bf2:	1064      	lrw      	r3, 0x20000050	// 1c00 <ADC12_DATA_OUPUT+0x10>
    1bf4:	4002      	lsli      	r0, r0, 2
    1bf6:	9360      	ld.w      	r3, (r3, 0x0)
    1bf8:	600c      	addu      	r0, r3
    1bfa:	9000      	ld.w      	r0, (r0, 0x0)
    1bfc:	7401      	zexth      	r0, r0
} 
    1bfe:	783c      	jmp      	r15
    1c00:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_Configure_Mode:

00001c04 <ADC12_Configure_Mode>:
  //10BIT or 12BIT adc ;
  //ADC12_BIT_SELECTED:ADC12_12BIT/ADC12_10BIT;
  //ADC12_ConverMode:One_shot_mode/Continuous_mode;
  //adc date output=last number of Conversions;
void  ADC12_Configure_Mode(ADC12_10bitor12bit_TypeDef ADC12_BIT_SELECTED  , ADC12_ConverMode_TypeDef  ADC12_ConverMode  , U8_T ADC12_PRI, U8_T adc12_SHR , U8_T ADC12_DIV , U8_T NumConver ) 
{
    1c04:	14d4      	push      	r4-r7, r15
    1c06:	1422      	subi      	r14, r14, 8
    1c08:	1c08      	addi      	r4, r14, 32
    1c0a:	84a0      	ld.b      	r5, (r4, 0x0)
	ADC0->MR=ADC12_DIV|((NumConver-1)<<10);
    1c0c:	2d00      	subi      	r5, 1
{
    1c0e:	6dc3      	mov      	r7, r0
	ADC0->MR=ADC12_DIV|((NumConver-1)<<10);
    1c10:	10db      	lrw      	r6, 0x20000050	// 1c7c <ADC12_Configure_Mode+0x78>
{
    1c12:	d80e001c 	ld.b      	r0, (r14, 0x1c)
	ADC0->MR=ADC12_DIV|((NumConver-1)<<10);
    1c16:	45aa      	lsli      	r5, r5, 10
    1c18:	9680      	ld.w      	r4, (r6, 0x0)
    1c1a:	6d40      	or      	r5, r0
	if(ADC12_ConverMode==One_shot_mode)
    1c1c:	3940      	cmpnei      	r1, 0
	ADC0->MR=ADC12_DIV|((NumConver-1)<<10);
    1c1e:	b4a5      	st.w      	r5, (r4, 0x14)
	if(ADC12_ConverMode==One_shot_mode)
    1c20:	081c      	bt      	0x1c58	// 1c58 <ADC12_Configure_Mode+0x54>
	{
		ADC0->MR&=~CONTCV;								//one short mode
    1c22:	9425      	ld.w      	r1, (r4, 0x14)
    1c24:	4121      	lsli      	r1, r1, 1
    1c26:	4921      	lsri      	r1, r1, 1
		while(ADC0->SR&ADC12_CTCVS);							
    1c28:	3080      	movi      	r0, 128
		ADC0->MR&=~CONTCV;								//one short mode
    1c2a:	b425      	st.w      	r1, (r4, 0x14)
		while(ADC0->SR&ADC12_CTCVS);							
    1c2c:	4002      	lsli      	r0, r0, 2
    1c2e:	9428      	ld.w      	r1, (r4, 0x20)
    1c30:	6840      	and      	r1, r0
    1c32:	3940      	cmpnei      	r1, 0
    1c34:	0bfd      	bt      	0x1c2e	// 1c2e <ADC12_Configure_Mode+0x2a>
    1c36:	b861      	st.w      	r3, (r14, 0x4)
    1c38:	b840      	st.w      	r2, (r14, 0x0)
    1c3a:	e3ffff85 	bsr      	0x1b44	// 1b44 <ADC12_CMD.part.0>
	{
		ADC0->MR|=CONTCV;								//Continuous mode
		while(!(ADC0->SR&ADC12_CTCVS));							
	}
	ADC12_CMD(ENABLE);									//ADC0 enable
	if(ADC12_BIT_SELECTED)
    1c3e:	3f40      	cmpnei      	r7, 0
    1c40:	9840      	ld.w      	r2, (r14, 0x0)
    1c42:	9861      	ld.w      	r3, (r14, 0x4)
    1c44:	0c16      	bf      	0x1c70	// 1c70 <ADC12_Configure_Mode+0x6c>
	{
		ADC0->CR|=ADC12_10BITor12BIT;
    1c46:	9600      	ld.w      	r0, (r6, 0x0)
    1c48:	9024      	ld.w      	r1, (r0, 0x10)
    1c4a:	39bf      	bseti      	r1, 31
	}
	else
	{
		ADC0->CR&=~ADC12_10BITor12BIT;
    1c4c:	b024      	st.w      	r1, (r0, 0x10)
	}
	//ADC0->CR|=ADC12_VREF_VDD | ADC12_FVR_DIS;
	ADC0->PRI=ADC12_PRI;
    1c4e:	9620      	ld.w      	r1, (r6, 0x0)
    1c50:	b15c      	st.w      	r2, (r1, 0x70)
	ADC0->SHR=adc12_SHR;								//adc Sampling & Holding cycles
    1c52:	b166      	st.w      	r3, (r1, 0x18)
} 
    1c54:	1402      	addi      	r14, r14, 8
    1c56:	1494      	pop      	r4-r7, r15
	else if(ADC12_ConverMode==Continuous_mode)
    1c58:	3941      	cmpnei      	r1, 1
    1c5a:	0bee      	bt      	0x1c36	// 1c36 <ADC12_Configure_Mode+0x32>
		ADC0->MR|=CONTCV;								//Continuous mode
    1c5c:	9425      	ld.w      	r1, (r4, 0x14)
    1c5e:	39bf      	bseti      	r1, 31
		while(!(ADC0->SR&ADC12_CTCVS));							
    1c60:	3080      	movi      	r0, 128
		ADC0->MR|=CONTCV;								//Continuous mode
    1c62:	b425      	st.w      	r1, (r4, 0x14)
		while(!(ADC0->SR&ADC12_CTCVS));							
    1c64:	4002      	lsli      	r0, r0, 2
    1c66:	9428      	ld.w      	r1, (r4, 0x20)
    1c68:	6840      	and      	r1, r0
    1c6a:	3940      	cmpnei      	r1, 0
    1c6c:	0ffd      	bf      	0x1c66	// 1c66 <ADC12_Configure_Mode+0x62>
    1c6e:	07e4      	br      	0x1c36	// 1c36 <ADC12_Configure_Mode+0x32>
		ADC0->CR&=~ADC12_10BITor12BIT;
    1c70:	9600      	ld.w      	r0, (r6, 0x0)
    1c72:	9024      	ld.w      	r1, (r0, 0x10)
    1c74:	4121      	lsli      	r1, r1, 1
    1c76:	4921      	lsri      	r1, r1, 1
    1c78:	07ea      	br      	0x1c4c	// 1c4c <ADC12_Configure_Mode+0x48>
    1c7a:	0000      	bkpt
    1c7c:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_Configure_VREF_Selecte:

00001c80 <ADC12_Configure_VREF_Selecte>:
//EntryParameter:NONE
//ReturnValue:None
/*************************************************************/ 
void ADC12_Configure_VREF_Selecte(ADC12_VREFP_VREFN_Selected_TypeDef ADC12_VREFP_X_VREFN_X )
{
	if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_VDD_VREFN_VSS)
    1c80:	3840      	cmpnei      	r0, 0
    1c82:	0808      	bt      	0x1c92	// 1c92 <ADC12_Configure_VREF_Selecte+0x12>
	{
		ADC0->CR=(ADC0->CR&0xfffefc3f)|(0x00<<6);
    1c84:	127c      	lrw      	r3, 0x20000050	// 1df4 <ADC12_Configure_VREF_Selecte+0x174>
    1c86:	123d      	lrw      	r1, 0x103c0	// 1df8 <ADC12_Configure_VREF_Selecte+0x178>
    1c88:	9340      	ld.w      	r2, (r3, 0x0)
    1c8a:	9264      	ld.w      	r3, (r2, 0x10)
    1c8c:	68c5      	andn      	r3, r1
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x0B<<6)|(0X01<<24)|(0X01<<25);	
	}
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_INTVREF1000_VREFN_EXIT)
	{
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x0000B000;					
		ADC0->CR=(ADC0->CR&0xfffefc3f)|(0x0C<<6)|(0X00<<16)|(0X02<<17);	
    1c8e:	b264      	st.w      	r3, (r2, 0x10)
	}
}
    1c90:	783c      	jmp      	r15
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_EXIT_VREFN_VSS)
    1c92:	3841      	cmpnei      	r0, 1
    1c94:	0810      	bt      	0x1cb4	// 1cb4 <ADC12_Configure_VREF_Selecte+0x34>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF)  | 0x00000800;							
    1c96:	127a      	lrw      	r3, 0x2000004c	// 1dfc <ADC12_Configure_VREF_Selecte+0x17c>
    1c98:	32f0      	movi      	r2, 240
    1c9a:	9320      	ld.w      	r1, (r3, 0x0)
    1c9c:	9160      	ld.w      	r3, (r1, 0x0)
    1c9e:	4244      	lsli      	r2, r2, 4
    1ca0:	68c9      	andn      	r3, r2
    1ca2:	3bab      	bseti      	r3, 11
    1ca4:	b160      	st.w      	r3, (r1, 0x0)
		ADC0->CR=(ADC0->CR&0xfffefc3f)|(0x01<<6);
    1ca6:	1235      	lrw      	r1, 0x103c0	// 1df8 <ADC12_Configure_VREF_Selecte+0x178>
    1ca8:	1273      	lrw      	r3, 0x20000050	// 1df4 <ADC12_Configure_VREF_Selecte+0x174>
    1caa:	9340      	ld.w      	r2, (r3, 0x0)
    1cac:	9264      	ld.w      	r3, (r2, 0x10)
    1cae:	68c5      	andn      	r3, r1
    1cb0:	3ba6      	bseti      	r3, 6
    1cb2:	07ee      	br      	0x1c8e	// 1c8e <ADC12_Configure_VREF_Selecte+0xe>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_FVR2048_VREFN_VSS)
    1cb4:	3842      	cmpnei      	r0, 2
    1cb6:	0811      	bt      	0x1cd8	// 1cd8 <ADC12_Configure_VREF_Selecte+0x58>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF)  | 0x00000800;							
    1cb8:	1271      	lrw      	r3, 0x2000004c	// 1dfc <ADC12_Configure_VREF_Selecte+0x17c>
    1cba:	32f0      	movi      	r2, 240
    1cbc:	9320      	ld.w      	r1, (r3, 0x0)
    1cbe:	9160      	ld.w      	r3, (r1, 0x0)
    1cc0:	4244      	lsli      	r2, r2, 4
    1cc2:	68c9      	andn      	r3, r2
    1cc4:	3bab      	bseti      	r3, 11
    1cc6:	b160      	st.w      	r3, (r1, 0x0)
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x02<<6)|(0X01<<24)|(0X00<<25);
    1cc8:	122e      	lrw      	r1, 0x30103c0	// 1e00 <ADC12_Configure_VREF_Selecte+0x180>
    1cca:	126b      	lrw      	r3, 0x20000050	// 1df4 <ADC12_Configure_VREF_Selecte+0x174>
    1ccc:	9340      	ld.w      	r2, (r3, 0x0)
    1cce:	9264      	ld.w      	r3, (r2, 0x10)
    1cd0:	68c5      	andn      	r3, r1
    1cd2:	3ba7      	bseti      	r3, 7
    1cd4:	3bb8      	bseti      	r3, 24
    1cd6:	07dc      	br      	0x1c8e	// 1c8e <ADC12_Configure_VREF_Selecte+0xe>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_FVR4096_VREFN_VSS)
    1cd8:	3843      	cmpnei      	r0, 3
    1cda:	0811      	bt      	0x1cfc	// 1cfc <ADC12_Configure_VREF_Selecte+0x7c>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF)  | 0x00000800;							
    1cdc:	1268      	lrw      	r3, 0x2000004c	// 1dfc <ADC12_Configure_VREF_Selecte+0x17c>
    1cde:	32f0      	movi      	r2, 240
    1ce0:	9320      	ld.w      	r1, (r3, 0x0)
    1ce2:	9160      	ld.w      	r3, (r1, 0x0)
    1ce4:	4244      	lsli      	r2, r2, 4
    1ce6:	68c9      	andn      	r3, r2
    1ce8:	3bab      	bseti      	r3, 11
    1cea:	b160      	st.w      	r3, (r1, 0x0)
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x03<<6)|(0X01<<24)|(0X01<<25);
    1cec:	1225      	lrw      	r1, 0x30103c0	// 1e00 <ADC12_Configure_VREF_Selecte+0x180>
    1cee:	1262      	lrw      	r3, 0x20000050	// 1df4 <ADC12_Configure_VREF_Selecte+0x174>
    1cf0:	9340      	ld.w      	r2, (r3, 0x0)
    1cf2:	9264      	ld.w      	r3, (r2, 0x10)
    1cf4:	68c5      	andn      	r3, r1
    1cf6:	1224      	lrw      	r1, 0x30000c0	// 1e04 <ADC12_Configure_VREF_Selecte+0x184>
		ADC0->CR=(ADC0->CR&0xfffefc3f)|(0x0C<<6)|(0X00<<16)|(0X02<<17);	
    1cf8:	6cc4      	or      	r3, r1
    1cfa:	07ca      	br      	0x1c8e	// 1c8e <ADC12_Configure_VREF_Selecte+0xe>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_INTVREF1000_VREFN_VSS)
    1cfc:	3845      	cmpnei      	r0, 5
    1cfe:	0809      	bt      	0x1d10	// 1d10 <ADC12_Configure_VREF_Selecte+0x90>
		ADC0->CR=(ADC0->CR&0xfffefc3f)|(0x04<<6)|(0X00<<16)|(0X02<<17);
    1d00:	117d      	lrw      	r3, 0x20000050	// 1df4 <ADC12_Configure_VREF_Selecte+0x174>
    1d02:	1222      	lrw      	r1, 0x503c0	// 1e08 <ADC12_Configure_VREF_Selecte+0x188>
    1d04:	9340      	ld.w      	r2, (r3, 0x0)
    1d06:	9264      	ld.w      	r3, (r2, 0x10)
    1d08:	68c5      	andn      	r3, r1
    1d0a:	3ba8      	bseti      	r3, 8
    1d0c:	3bb2      	bseti      	r3, 18
    1d0e:	07c0      	br      	0x1c8e	// 1c8e <ADC12_Configure_VREF_Selecte+0xe>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_VDD_VREFN_EXIT)
    1d10:	3846      	cmpnei      	r0, 6
    1d12:	0812      	bt      	0x1d36	// 1d36 <ADC12_Configure_VREF_Selecte+0xb6>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x0000B000;	
    1d14:	117a      	lrw      	r3, 0x2000004c	// 1dfc <ADC12_Configure_VREF_Selecte+0x17c>
    1d16:	32f0      	movi      	r2, 240
    1d18:	9320      	ld.w      	r1, (r3, 0x0)
    1d1a:	9160      	ld.w      	r3, (r1, 0x0)
    1d1c:	4248      	lsli      	r2, r2, 8
    1d1e:	68c9      	andn      	r3, r2
    1d20:	32b0      	movi      	r2, 176
    1d22:	4248      	lsli      	r2, r2, 8
    1d24:	6cc8      	or      	r3, r2
    1d26:	b160      	st.w      	r3, (r1, 0x0)
		ADC0->CR=(ADC0->CR&0xfffefc3f)|(0x08<<6);
    1d28:	1134      	lrw      	r1, 0x103c0	// 1df8 <ADC12_Configure_VREF_Selecte+0x178>
    1d2a:	1173      	lrw      	r3, 0x20000050	// 1df4 <ADC12_Configure_VREF_Selecte+0x174>
    1d2c:	9340      	ld.w      	r2, (r3, 0x0)
    1d2e:	9264      	ld.w      	r3, (r2, 0x10)
    1d30:	68c5      	andn      	r3, r1
    1d32:	3ba9      	bseti      	r3, 9
    1d34:	07ad      	br      	0x1c8e	// 1c8e <ADC12_Configure_VREF_Selecte+0xe>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_EXIT_VREFN_EXIT)
    1d36:	3847      	cmpnei      	r0, 7
    1d38:	0819      	bt      	0x1d6a	// 1d6a <ADC12_Configure_VREF_Selecte+0xea>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x0000B000;
    1d3a:	1171      	lrw      	r3, 0x2000004c	// 1dfc <ADC12_Configure_VREF_Selecte+0x17c>
    1d3c:	31f0      	movi      	r1, 240
    1d3e:	9340      	ld.w      	r2, (r3, 0x0)
    1d40:	9260      	ld.w      	r3, (r2, 0x0)
    1d42:	4128      	lsli      	r1, r1, 8
    1d44:	68c5      	andn      	r3, r1
    1d46:	31b0      	movi      	r1, 176
    1d48:	4128      	lsli      	r1, r1, 8
    1d4a:	6cc4      	or      	r3, r1
    1d4c:	b260      	st.w      	r3, (r2, 0x0)
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF)  | 0x00000800;			
    1d4e:	31f0      	movi      	r1, 240
    1d50:	9260      	ld.w      	r3, (r2, 0x0)
    1d52:	4124      	lsli      	r1, r1, 4
    1d54:	68c5      	andn      	r3, r1
    1d56:	3bab      	bseti      	r3, 11
    1d58:	b260      	st.w      	r3, (r2, 0x0)
		ADC0->CR=(ADC0->CR&0xfffefc3f)|(0x09<<6);
    1d5a:	1128      	lrw      	r1, 0x103c0	// 1df8 <ADC12_Configure_VREF_Selecte+0x178>
    1d5c:	1166      	lrw      	r3, 0x20000050	// 1df4 <ADC12_Configure_VREF_Selecte+0x174>
    1d5e:	9340      	ld.w      	r2, (r3, 0x0)
    1d60:	9264      	ld.w      	r3, (r2, 0x10)
    1d62:	68c5      	andn      	r3, r1
    1d64:	3ba6      	bseti      	r3, 6
    1d66:	3ba9      	bseti      	r3, 9
    1d68:	0793      	br      	0x1c8e	// 1c8e <ADC12_Configure_VREF_Selecte+0xe>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_FVR2048_VREFN_EXIT)
    1d6a:	3848      	cmpnei      	r0, 8
    1d6c:	0818      	bt      	0x1d9c	// 1d9c <ADC12_Configure_VREF_Selecte+0x11c>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x0000B000;	
    1d6e:	1164      	lrw      	r3, 0x2000004c	// 1dfc <ADC12_Configure_VREF_Selecte+0x17c>
    1d70:	31f0      	movi      	r1, 240
    1d72:	9340      	ld.w      	r2, (r3, 0x0)
    1d74:	9260      	ld.w      	r3, (r2, 0x0)
    1d76:	4128      	lsli      	r1, r1, 8
    1d78:	68c5      	andn      	r3, r1
    1d7a:	31b0      	movi      	r1, 176
    1d7c:	4128      	lsli      	r1, r1, 8
    1d7e:	6cc4      	or      	r3, r1
    1d80:	b260      	st.w      	r3, (r2, 0x0)
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF)  | 0x00000800;
    1d82:	31f0      	movi      	r1, 240
    1d84:	9260      	ld.w      	r3, (r2, 0x0)
    1d86:	4124      	lsli      	r1, r1, 4
    1d88:	68c5      	andn      	r3, r1
    1d8a:	3bab      	bseti      	r3, 11
    1d8c:	b260      	st.w      	r3, (r2, 0x0)
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x0A<<6)|(0X01<<24)|(0X00<<25);			
    1d8e:	103d      	lrw      	r1, 0x30103c0	// 1e00 <ADC12_Configure_VREF_Selecte+0x180>
    1d90:	1079      	lrw      	r3, 0x20000050	// 1df4 <ADC12_Configure_VREF_Selecte+0x174>
    1d92:	9340      	ld.w      	r2, (r3, 0x0)
    1d94:	9264      	ld.w      	r3, (r2, 0x10)
    1d96:	68c5      	andn      	r3, r1
    1d98:	103d      	lrw      	r1, 0x1000280	// 1e0c <ADC12_Configure_VREF_Selecte+0x18c>
    1d9a:	07af      	br      	0x1cf8	// 1cf8 <ADC12_Configure_VREF_Selecte+0x78>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_FVR4096_VREFN_EXIT)
    1d9c:	3849      	cmpnei      	r0, 9
    1d9e:	0818      	bt      	0x1dce	// 1dce <ADC12_Configure_VREF_Selecte+0x14e>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x0000B000;	
    1da0:	1077      	lrw      	r3, 0x2000004c	// 1dfc <ADC12_Configure_VREF_Selecte+0x17c>
    1da2:	31f0      	movi      	r1, 240
    1da4:	9340      	ld.w      	r2, (r3, 0x0)
    1da6:	9260      	ld.w      	r3, (r2, 0x0)
    1da8:	4128      	lsli      	r1, r1, 8
    1daa:	68c5      	andn      	r3, r1
    1dac:	31b0      	movi      	r1, 176
    1dae:	4128      	lsli      	r1, r1, 8
    1db0:	6cc4      	or      	r3, r1
    1db2:	b260      	st.w      	r3, (r2, 0x0)
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF)  | 0x00000800;
    1db4:	31f0      	movi      	r1, 240
    1db6:	9260      	ld.w      	r3, (r2, 0x0)
    1db8:	4124      	lsli      	r1, r1, 4
    1dba:	68c5      	andn      	r3, r1
    1dbc:	3bab      	bseti      	r3, 11
    1dbe:	b260      	st.w      	r3, (r2, 0x0)
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x0B<<6)|(0X01<<24)|(0X01<<25);	
    1dc0:	1030      	lrw      	r1, 0x30103c0	// 1e00 <ADC12_Configure_VREF_Selecte+0x180>
    1dc2:	106d      	lrw      	r3, 0x20000050	// 1df4 <ADC12_Configure_VREF_Selecte+0x174>
    1dc4:	9340      	ld.w      	r2, (r3, 0x0)
    1dc6:	9264      	ld.w      	r3, (r2, 0x10)
    1dc8:	68c5      	andn      	r3, r1
    1dca:	1032      	lrw      	r1, 0x30002c0	// 1e10 <ADC12_Configure_VREF_Selecte+0x190>
    1dcc:	0796      	br      	0x1cf8	// 1cf8 <ADC12_Configure_VREF_Selecte+0x78>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_INTVREF1000_VREFN_EXIT)
    1dce:	384b      	cmpnei      	r0, 11
    1dd0:	0b60      	bt      	0x1c90	// 1c90 <ADC12_Configure_VREF_Selecte+0x10>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x0000B000;					
    1dd2:	106b      	lrw      	r3, 0x2000004c	// 1dfc <ADC12_Configure_VREF_Selecte+0x17c>
    1dd4:	32f0      	movi      	r2, 240
    1dd6:	9320      	ld.w      	r1, (r3, 0x0)
    1dd8:	9160      	ld.w      	r3, (r1, 0x0)
    1dda:	4248      	lsli      	r2, r2, 8
    1ddc:	68c9      	andn      	r3, r2
    1dde:	32b0      	movi      	r2, 176
    1de0:	4248      	lsli      	r2, r2, 8
    1de2:	6cc8      	or      	r3, r2
    1de4:	b160      	st.w      	r3, (r1, 0x0)
		ADC0->CR=(ADC0->CR&0xfffefc3f)|(0x0C<<6)|(0X00<<16)|(0X02<<17);	
    1de6:	1029      	lrw      	r1, 0x503c0	// 1e08 <ADC12_Configure_VREF_Selecte+0x188>
    1de8:	1063      	lrw      	r3, 0x20000050	// 1df4 <ADC12_Configure_VREF_Selecte+0x174>
    1dea:	9340      	ld.w      	r2, (r3, 0x0)
    1dec:	9264      	ld.w      	r3, (r2, 0x10)
    1dee:	68c5      	andn      	r3, r1
    1df0:	1029      	lrw      	r1, 0x40300	// 1e14 <ADC12_Configure_VREF_Selecte+0x194>
    1df2:	0783      	br      	0x1cf8	// 1cf8 <ADC12_Configure_VREF_Selecte+0x78>
    1df4:	20000050 	.long	0x20000050
    1df8:	000103c0 	.long	0x000103c0
    1dfc:	2000004c 	.long	0x2000004c
    1e00:	030103c0 	.long	0x030103c0
    1e04:	030000c0 	.long	0x030000c0
    1e08:	000503c0 	.long	0x000503c0
    1e0c:	01000280 	.long	0x01000280
    1e10:	030002c0 	.long	0x030002c0
    1e14:	00040300 	.long	0x00040300

Disassembly of section .text.ADC12_ConversionChannel_Config:

00001e18 <ADC12_ConversionChannel_Config>:
//ADC12_ADCINX:ADC12_ADCIN0~ADC12_ADCIN17,ADC12_INTVREF,ADC12_DIV4_VDD,ADC12_VSS
//ReturnValue:NONE
/*************************************************************/ 
void ADC12_ConversionChannel_Config(ADC12_InputSet_TypeDef ADC12_ADCINX ,
						ADC12_CV_RepeatNum_TypeDef CV_RepeatTime, ADC12_Control_TypeDef AVG_Set, U8_T SEQx)
{
    1e18:	14d4      	push      	r4-r7, r15
    1e1a:	1421      	subi      	r14, r14, 4
    1e1c:	b840      	st.w      	r2, (r14, 0x0)
    1e1e:	6d43      	mov      	r5, r0
	U8_T i;
	for(i=0;i<15;i++)
	{
		ADC0->SEQ[i] &=~(0x01<<7);
    1e20:	125b      	lrw      	r2, 0x20000050	// 1f8c <ADC12_ConversionChannel_Config+0x174>
    1e22:	92c0      	ld.w      	r6, (r2, 0x0)
    1e24:	3200      	movi      	r2, 0
    1e26:	4202      	lsli      	r0, r2, 2
    1e28:	6018      	addu      	r0, r6
    1e2a:	908c      	ld.w      	r4, (r0, 0x30)
    1e2c:	2200      	addi      	r2, 1
    1e2e:	3c87      	bclri      	r4, 7
	for(i=0;i<15;i++)
    1e30:	3a4f      	cmpnei      	r2, 15
		ADC0->SEQ[i] &=~(0x01<<7);
    1e32:	b08c      	st.w      	r4, (r0, 0x30)
	for(i=0;i<15;i++)
    1e34:	0bf9      	bt      	0x1e26	// 1e26 <ADC12_ConversionChannel_Config+0xe>
	}
	switch(ADC12_ADCINX)
    1e36:	3d0f      	cmphsi      	r5, 16
    1e38:	0825      	bt      	0x1e82	// 1e82 <ADC12_ConversionChannel_Config+0x6a>
    1e3a:	6c17      	mov      	r0, r5
    1e3c:	1255      	lrw      	r2, 0x2000004c	// 1f90 <ADC12_ConversionChannel_Config+0x178>
    1e3e:	1296      	lrw      	r4, 0x20000048	// 1f94 <ADC12_ConversionChannel_Config+0x17c>
    1e40:	e3fff1ba 	bsr      	0x1b4	// 1b4 <___gnu_csky_case_uqi>
    1e44:	322c1408 	.long	0x322c1408
    1e48:	4d474039 	.long	0x4d474039
    1e4c:	756d6559 	.long	0x756d6559
    1e50:	9990877e 	.long	0x9990877e
	{
		case 0:	
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC0 PB0.1
    1e54:	9240      	ld.w      	r2, (r2, 0x0)
    1e56:	9200      	ld.w      	r0, (r2, 0x0)
    1e58:	b200      	st.w      	r0, (r2, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFFF)  | 0x00000000;	
    1e5a:	9201      	ld.w      	r0, (r2, 0x4)
    1e5c:	b201      	st.w      	r0, (r2, 0x4)
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFF0F)  | 0x00000010;			
    1e5e:	9400      	ld.w      	r0, (r4, 0x0)
    1e60:	9040      	ld.w      	r2, (r0, 0x0)
    1e62:	34f0      	movi      	r4, 240
    1e64:	6891      	andn      	r2, r4
    1e66:	3aa4      	bseti      	r2, 4
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFFF)  | 0x00000000;		
			break;
		case 15:
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC15 PB0.0
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFFF)  | 0x00000000;	
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0)  | 0x00000001;		
    1e68:	b040      	st.w      	r2, (r0, 0x0)
			break;
    1e6a:	040c      	br      	0x1e82	// 1e82 <ADC12_ConversionChannel_Config+0x6a>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFF0)  | 0x00000001;							//ADC1 PA0.0
    1e6c:	9200      	ld.w      	r0, (r2, 0x0)
    1e6e:	9040      	ld.w      	r2, (r0, 0x0)
    1e70:	370f      	movi      	r7, 15
    1e72:	689d      	andn      	r2, r7
    1e74:	3aa0      	bseti      	r2, 0
			GPIOA0->CONLR = (GPIOA0->CONLR&0X0FFFFFFF)  | 0x10000000;							//ADC6 PA0.7
    1e76:	b040      	st.w      	r2, (r0, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFFF)  | 0x00000000;	
    1e78:	9041      	ld.w      	r2, (r0, 0x4)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF)  | 0x00100000;	
    1e7a:	b041      	st.w      	r2, (r0, 0x4)
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFFF)  | 0x00000000;		
    1e7c:	9440      	ld.w      	r2, (r4, 0x0)
    1e7e:	9200      	ld.w      	r0, (r2, 0x0)
    1e80:	b200      	st.w      	r0, (r2, 0x0)
    1e82:	4362      	lsli      	r3, r3, 2
    1e84:	618c      	addu      	r6, r3
		//case 27: break;
		case 0x1Cul: break;
		case 0x1Dul: break;
		case 0x1Eul: break;
	}
	ADC0->SEQ[SEQx] = ADC0->SEQ[SEQx] & 0;
    1e86:	966c      	ld.w      	r3, (r6, 0x30)
    1e88:	3300      	movi      	r3, 0
    1e8a:	b66c      	st.w      	r3, (r6, 0x30)
	ADC0->SEQ[SEQx] = ADC0->SEQ[SEQx] | ADC12_ADCINX  | CV_RepeatTime | AVG_Set;
    1e8c:	9860      	ld.w      	r3, (r14, 0x0)
    1e8e:	6c4c      	or      	r1, r3
    1e90:	964c      	ld.w      	r2, (r6, 0x30)
    1e92:	6d44      	or      	r5, r1
    1e94:	6d48      	or      	r5, r2
    1e96:	b6ac      	st.w      	r5, (r6, 0x30)
}
    1e98:	1401      	addi      	r14, r14, 4
    1e9a:	1494      	pop      	r4-r7, r15
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF0F)  | 0x00000010;							//ADC2 PA0.1
    1e9c:	9200      	ld.w      	r0, (r2, 0x0)
    1e9e:	9040      	ld.w      	r2, (r0, 0x0)
    1ea0:	37f0      	movi      	r7, 240
    1ea2:	689d      	andn      	r2, r7
    1ea4:	3aa4      	bseti      	r2, 4
    1ea6:	07e8      	br      	0x1e76	// 1e76 <ADC12_ConversionChannel_Config+0x5e>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x00001000;							//ADC3 PA0.3
    1ea8:	9200      	ld.w      	r0, (r2, 0x0)
    1eaa:	37f0      	movi      	r7, 240
    1eac:	9040      	ld.w      	r2, (r0, 0x0)
    1eae:	47e8      	lsli      	r7, r7, 8
    1eb0:	689d      	andn      	r2, r7
    1eb2:	3aac      	bseti      	r2, 12
    1eb4:	07e1      	br      	0x1e76	// 1e76 <ADC12_ConversionChannel_Config+0x5e>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFF0FFFFF)  | 0x00100000;							//ADC4 PA0.5
    1eb6:	9200      	ld.w      	r0, (r2, 0x0)
    1eb8:	37f0      	movi      	r7, 240
    1eba:	9040      	ld.w      	r2, (r0, 0x0)
    1ebc:	47f0      	lsli      	r7, r7, 16
    1ebe:	689d      	andn      	r2, r7
    1ec0:	3ab4      	bseti      	r2, 20
    1ec2:	07da      	br      	0x1e76	// 1e76 <ADC12_ConversionChannel_Config+0x5e>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XF0FFFFFF)  | 0x01000000;							//ADC5 PA0.6
    1ec4:	9200      	ld.w      	r0, (r2, 0x0)
    1ec6:	37f0      	movi      	r7, 240
    1ec8:	9040      	ld.w      	r2, (r0, 0x0)
    1eca:	47f4      	lsli      	r7, r7, 20
    1ecc:	689d      	andn      	r2, r7
    1ece:	3ab8      	bseti      	r2, 24
    1ed0:	07d3      	br      	0x1e76	// 1e76 <ADC12_ConversionChannel_Config+0x5e>
			GPIOA0->CONLR = (GPIOA0->CONLR&0X0FFFFFFF)  | 0x10000000;							//ADC6 PA0.7
    1ed2:	9200      	ld.w      	r0, (r2, 0x0)
    1ed4:	9040      	ld.w      	r2, (r0, 0x0)
    1ed6:	4244      	lsli      	r2, r2, 4
    1ed8:	4a44      	lsri      	r2, r2, 4
    1eda:	3abc      	bseti      	r2, 28
    1edc:	07cd      	br      	0x1e76	// 1e76 <ADC12_ConversionChannel_Config+0x5e>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC7 PB0.2
    1ede:	9240      	ld.w      	r2, (r2, 0x0)
    1ee0:	9200      	ld.w      	r0, (r2, 0x0)
    1ee2:	b200      	st.w      	r0, (r2, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFFF)  | 0x00000000;	
    1ee4:	9201      	ld.w      	r0, (r2, 0x4)
    1ee6:	b201      	st.w      	r0, (r2, 0x4)
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFF0FF)  | 0x00000100;
    1ee8:	9400      	ld.w      	r0, (r4, 0x0)
    1eea:	34f0      	movi      	r4, 240
    1eec:	9040      	ld.w      	r2, (r0, 0x0)
    1eee:	4484      	lsli      	r4, r4, 4
    1ef0:	6891      	andn      	r2, r4
    1ef2:	3aa8      	bseti      	r2, 8
    1ef4:	07ba      	br      	0x1e68	// 1e68 <ADC12_ConversionChannel_Config+0x50>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC8 PB0.3
    1ef6:	9240      	ld.w      	r2, (r2, 0x0)
    1ef8:	9200      	ld.w      	r0, (r2, 0x0)
    1efa:	b200      	st.w      	r0, (r2, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFFF)  | 0x00000000;	
    1efc:	9201      	ld.w      	r0, (r2, 0x4)
    1efe:	b201      	st.w      	r0, (r2, 0x4)
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFF0FFF)  | 0x00001000;
    1f00:	9400      	ld.w      	r0, (r4, 0x0)
    1f02:	34f0      	movi      	r4, 240
    1f04:	9040      	ld.w      	r2, (r0, 0x0)
    1f06:	4488      	lsli      	r4, r4, 8
    1f08:	6891      	andn      	r2, r4
    1f0a:	3aac      	bseti      	r2, 12
    1f0c:	07ae      	br      	0x1e68	// 1e68 <ADC12_ConversionChannel_Config+0x50>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC9 PA0.8
    1f0e:	9200      	ld.w      	r0, (r2, 0x0)
    1f10:	9040      	ld.w      	r2, (r0, 0x0)
    1f12:	b040      	st.w      	r2, (r0, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFF0)  | 0x00000001;	
    1f14:	9041      	ld.w      	r2, (r0, 0x4)
    1f16:	370f      	movi      	r7, 15
    1f18:	689d      	andn      	r2, r7
    1f1a:	3aa0      	bseti      	r2, 0
    1f1c:	07af      	br      	0x1e7a	// 1e7a <ADC12_ConversionChannel_Config+0x62>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC10 PA0.9
    1f1e:	9200      	ld.w      	r0, (r2, 0x0)
    1f20:	9040      	ld.w      	r2, (r0, 0x0)
    1f22:	b040      	st.w      	r2, (r0, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFF0F)  | 0x00000010;	
    1f24:	9041      	ld.w      	r2, (r0, 0x4)
    1f26:	37f0      	movi      	r7, 240
    1f28:	689d      	andn      	r2, r7
    1f2a:	3aa4      	bseti      	r2, 4
    1f2c:	07a7      	br      	0x1e7a	// 1e7a <ADC12_ConversionChannel_Config+0x62>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC11 PA0.10
    1f2e:	9200      	ld.w      	r0, (r2, 0x0)
    1f30:	9040      	ld.w      	r2, (r0, 0x0)
    1f32:	b040      	st.w      	r2, (r0, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFF0FF)  | 0x00000100;	
    1f34:	37f0      	movi      	r7, 240
    1f36:	9041      	ld.w      	r2, (r0, 0x4)
    1f38:	47e4      	lsli      	r7, r7, 4
    1f3a:	689d      	andn      	r2, r7
    1f3c:	3aa8      	bseti      	r2, 8
    1f3e:	079e      	br      	0x1e7a	// 1e7a <ADC12_ConversionChannel_Config+0x62>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC12 PA0.11
    1f40:	9200      	ld.w      	r0, (r2, 0x0)
    1f42:	9040      	ld.w      	r2, (r0, 0x0)
    1f44:	b040      	st.w      	r2, (r0, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFF0FFF)  | 0x00001000;	
    1f46:	37f0      	movi      	r7, 240
    1f48:	9041      	ld.w      	r2, (r0, 0x4)
    1f4a:	47e8      	lsli      	r7, r7, 8
    1f4c:	689d      	andn      	r2, r7
    1f4e:	3aac      	bseti      	r2, 12
    1f50:	0795      	br      	0x1e7a	// 1e7a <ADC12_ConversionChannel_Config+0x62>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC13 PA0.12
    1f52:	9200      	ld.w      	r0, (r2, 0x0)
    1f54:	9040      	ld.w      	r2, (r0, 0x0)
    1f56:	b040      	st.w      	r2, (r0, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFF0FFFF)  | 0x00010000;	
    1f58:	37f0      	movi      	r7, 240
    1f5a:	9041      	ld.w      	r2, (r0, 0x4)
    1f5c:	47ec      	lsli      	r7, r7, 12
    1f5e:	689d      	andn      	r2, r7
    1f60:	3ab0      	bseti      	r2, 16
    1f62:	078c      	br      	0x1e7a	// 1e7a <ADC12_ConversionChannel_Config+0x62>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC14 PA0.13	
    1f64:	9200      	ld.w      	r0, (r2, 0x0)
    1f66:	9040      	ld.w      	r2, (r0, 0x0)
    1f68:	b040      	st.w      	r2, (r0, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF)  | 0x00100000;	
    1f6a:	37f0      	movi      	r7, 240
    1f6c:	9041      	ld.w      	r2, (r0, 0x4)
    1f6e:	47f0      	lsli      	r7, r7, 16
    1f70:	689d      	andn      	r2, r7
    1f72:	3ab4      	bseti      	r2, 20
    1f74:	0783      	br      	0x1e7a	// 1e7a <ADC12_ConversionChannel_Config+0x62>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC15 PB0.0
    1f76:	9240      	ld.w      	r2, (r2, 0x0)
    1f78:	9200      	ld.w      	r0, (r2, 0x0)
    1f7a:	b200      	st.w      	r0, (r2, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFFF)  | 0x00000000;	
    1f7c:	9201      	ld.w      	r0, (r2, 0x4)
    1f7e:	b201      	st.w      	r0, (r2, 0x4)
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0)  | 0x00000001;		
    1f80:	9400      	ld.w      	r0, (r4, 0x0)
    1f82:	9040      	ld.w      	r2, (r0, 0x0)
    1f84:	340f      	movi      	r4, 15
    1f86:	6891      	andn      	r2, r4
    1f88:	3aa0      	bseti      	r2, 0
    1f8a:	076f      	br      	0x1e68	// 1e68 <ADC12_ConversionChannel_Config+0x50>
    1f8c:	20000050 	.long	0x20000050
    1f90:	2000004c 	.long	0x2000004c
    1f94:	20000048 	.long	0x20000048

Disassembly of section .text.Page_ProgramData:

00001f98 <Page_ProgramData>:
		IFC->CR=0X01;					//Start Program
	}
}
//Normal mode, when the call is completed once, it will delay 4.2ms in the program
void Page_ProgramData(unsigned int FlashAdd,unsigned int DataSize,volatile unsigned char *BufArry)
{
    1f98:	14c4      	push      	r4-r7
    1f9a:	1422      	subi      	r14, r14, 8
	int i,DataBuffer;

	//Page cache wipe 1
	SetUserKey;
    1f9c:	1165      	lrw      	r3, 0x20000060	// 2030 <Page_ProgramData+0x98>
    1f9e:	1186      	lrw      	r4, 0x5a5a5a5a	// 2034 <Page_ProgramData+0x9c>
    1fa0:	9360      	ld.w      	r3, (r3, 0x0)
    1fa2:	b388      	st.w      	r4, (r3, 0x20)
	IFC->CMR=0x07;					
    1fa4:	3407      	movi      	r4, 7
    1fa6:	b383      	st.w      	r4, (r3, 0xc)
	IFC->FM_ADDR=FlashAdd;
	IFC->CR=0X01;					//Start Program
    1fa8:	3401      	movi      	r4, 1
	IFC->FM_ADDR=FlashAdd;
    1faa:	b306      	st.w      	r0, (r3, 0x18)
	IFC->CR=0X01;					//Start Program
    1fac:	b384      	st.w      	r4, (r3, 0x10)
	while(IFC->CR!=0x0);			//Wait for the operation to complete
    1fae:	9384      	ld.w      	r4, (r3, 0x10)
    1fb0:	3c40      	cmpnei      	r4, 0
    1fb2:	0bfe      	bt      	0x1fae	// 1fae <Page_ProgramData+0x16>
	//Write data to the cache 2
	for(i=0;i<((DataSize+3)/4);i++)   //sizeof structure
    1fb4:	2102      	addi      	r1, 3
    1fb6:	4922      	lsri      	r1, r1, 2
    1fb8:	4122      	lsli      	r1, r1, 2
    1fba:	6048      	addu      	r1, r2
    1fbc:	b820      	st.w      	r1, (r14, 0x0)
    1fbe:	5829      	subu      	r1, r0, r2
    1fc0:	b821      	st.w      	r1, (r14, 0x4)
    1fc2:	9820      	ld.w      	r1, (r14, 0x0)
    1fc4:	644a      	cmpne      	r2, r1
    1fc6:	0826      	bt      	0x2012	// 2012 <Page_ProgramData+0x7a>
		*(volatile unsigned int *)(FlashAdd+4*i)=DataBuffer;
		BufArry  +=4;
	}
	//Pre-programmed operation settings 3
	SetUserKey;
	IFC->CMR=0x06;					
    1fc8:	3106      	movi      	r1, 6
	SetUserKey;
    1fca:	105b      	lrw      	r2, 0x5a5a5a5a	// 2034 <Page_ProgramData+0x9c>
    1fcc:	b348      	st.w      	r2, (r3, 0x20)
	IFC->CMR=0x06;					
    1fce:	b323      	st.w      	r1, (r3, 0xc)
	IFC->FM_ADDR=FlashAdd;
	IFC->CR=0X01;					//Start Program
    1fd0:	3101      	movi      	r1, 1
	IFC->FM_ADDR=FlashAdd;
    1fd2:	b306      	st.w      	r0, (r3, 0x18)
	IFC->CR=0X01;					//Start Program
    1fd4:	b324      	st.w      	r1, (r3, 0x10)
	while(IFC->CR!=0x0);			//Wait for the operation to complete
    1fd6:	9324      	ld.w      	r1, (r3, 0x10)
    1fd8:	3940      	cmpnei      	r1, 0
    1fda:	0bfe      	bt      	0x1fd6	// 1fd6 <Page_ProgramData+0x3e>
	//Perform pre-programming 4
	SetUserKey;
    1fdc:	b348      	st.w      	r2, (r3, 0x20)
	IFC->CMR=0x01;					
    1fde:	3201      	movi      	r2, 1
    1fe0:	b343      	st.w      	r2, (r3, 0xc)
	IFC->FM_ADDR=FlashAdd;			//
    1fe2:	b306      	st.w      	r0, (r3, 0x18)
	IFC->CR=0X01;					//Start Program
    1fe4:	b344      	st.w      	r2, (r3, 0x10)
	while(IFC->RISR!=PEP_END_INT);			//Wait for the operation to complete
    1fe6:	934a      	ld.w      	r2, (r3, 0x28)
    1fe8:	3a44      	cmpnei      	r2, 4
    1fea:	0bfe      	bt      	0x1fe6	// 1fe6 <Page_ProgramData+0x4e>
	//Page erase 5
	SetUserKey;
	IFC->CMR=0x02;					
    1fec:	3102      	movi      	r1, 2
	SetUserKey;
    1fee:	1052      	lrw      	r2, 0x5a5a5a5a	// 2034 <Page_ProgramData+0x9c>
    1ff0:	b348      	st.w      	r2, (r3, 0x20)
	IFC->CMR=0x02;					
    1ff2:	b323      	st.w      	r1, (r3, 0xc)
	IFC->FM_ADDR=FlashAdd;			//
	IFC->CR=0X01;					//Start Program
    1ff4:	3101      	movi      	r1, 1
	IFC->FM_ADDR=FlashAdd;			//
    1ff6:	b306      	st.w      	r0, (r3, 0x18)
	IFC->CR=0X01;					//Start Program
    1ff8:	b324      	st.w      	r1, (r3, 0x10)
	while(IFC->RISR!=ERS_END_INT);			//Wait for the operation to complete
    1ffa:	932a      	ld.w      	r1, (r3, 0x28)
    1ffc:	3941      	cmpnei      	r1, 1
    1ffe:	0bfe      	bt      	0x1ffa	// 1ffa <Page_ProgramData+0x62>
	//Write page cache data to flash memory 6
	SetUserKey;
    2000:	b348      	st.w      	r2, (r3, 0x20)
	IFC->CMR=0x01;					
    2002:	b323      	st.w      	r1, (r3, 0xc)
	IFC->FM_ADDR=FlashAdd;		//
    2004:	b306      	st.w      	r0, (r3, 0x18)
	IFC->CR=0X01;					//Start Program
    2006:	b324      	st.w      	r1, (r3, 0x10)
	while(IFC->RISR!=RGM_END_INT);			//Wait for the operation to complete
    2008:	934a      	ld.w      	r2, (r3, 0x28)
    200a:	3a42      	cmpnei      	r2, 2
    200c:	0bfe      	bt      	0x2008	// 2008 <Page_ProgramData+0x70>
}
    200e:	1402      	addi      	r14, r14, 8
    2010:	1484      	pop      	r4-r7
		DataBuffer=*BufArry+(*(BufArry+1)<<8)+(*(BufArry+2)<<16)+(*(BufArry+3)<<24);
    2012:	82e0      	ld.b      	r7, (r2, 0x0)
    2014:	8281      	ld.b      	r4, (r2, 0x1)
    2016:	4488      	lsli      	r4, r4, 8
    2018:	8222      	ld.b      	r1, (r2, 0x2)
    201a:	611c      	addu      	r4, r7
    201c:	82a3      	ld.b      	r5, (r2, 0x3)
    201e:	4130      	lsli      	r1, r1, 16
    2020:	98c1      	ld.w      	r6, (r14, 0x4)
    2022:	6050      	addu      	r1, r4
    2024:	45b8      	lsli      	r5, r5, 24
    2026:	6188      	addu      	r6, r2
    2028:	6054      	addu      	r1, r5
		*(volatile unsigned int *)(FlashAdd+4*i)=DataBuffer;
    202a:	b620      	st.w      	r1, (r6, 0x0)
		BufArry  +=4;
    202c:	2203      	addi      	r2, 4
    202e:	07ca      	br      	0x1fc2	// 1fc2 <Page_ProgramData+0x2a>
    2030:	20000060 	.long	0x20000060
    2034:	5a5a5a5a 	.long	0x5a5a5a5a

Disassembly of section .text.ReadDataArry_U8:

00002038 <ReadDataArry_U8>:
//ReadFlashData fuction return Data arry save in Flash
//EntryParameter:RdStartAdd、DataLength、*DataArryPoint
//ReturnValue:NONE
*************************************************************/
void ReadDataArry_U8(unsigned int RdStartAdd,unsigned int DataLength,volatile unsigned char *DataArryPoint)
{
    2038:	14c3      	push      	r4-r6
	unsigned int i;
	for (i=0;i<DataLength;i++)
    203a:	3300      	movi      	r3, 0
	{
		if((i!=0)&&(i%4==0))
    203c:	3503      	movi      	r5, 3
	for (i=0;i<DataLength;i++)
    203e:	644e      	cmpne      	r3, r1
    2040:	5acc      	addu      	r6, r2, r3
    2042:	0802      	bt      	0x2046	// 2046 <ReadDataArry_U8+0xe>
			RdStartAdd +=4;
		}	
		*DataArryPoint=*(U8_T *)(RdStartAdd+ (i%4));
		DataArryPoint++;
	}
}
    2044:	1483      	pop      	r4-r6
		if((i!=0)&&(i%4==0))
    2046:	3b40      	cmpnei      	r3, 0
    2048:	0c06      	bf      	0x2054	// 2054 <ReadDataArry_U8+0x1c>
    204a:	6d0f      	mov      	r4, r3
    204c:	6914      	and      	r4, r5
    204e:	3c40      	cmpnei      	r4, 0
    2050:	0802      	bt      	0x2054	// 2054 <ReadDataArry_U8+0x1c>
			RdStartAdd +=4;
    2052:	2003      	addi      	r0, 4
		*DataArryPoint=*(U8_T *)(RdStartAdd+ (i%4));
    2054:	6d0f      	mov      	r4, r3
    2056:	6914      	and      	r4, r5
    2058:	6100      	addu      	r4, r0
    205a:	8480      	ld.b      	r4, (r4, 0x0)
    205c:	a680      	st.b      	r4, (r6, 0x0)
	for (i=0;i<DataLength;i++)
    205e:	2300      	addi      	r3, 1
    2060:	07ef      	br      	0x203e	// 203e <ReadDataArry_U8+0x6>

Disassembly of section .text.startup.main:

00002064 <main>:

/***************************************************/
//main
/**************************************************/
int main(void) 
{
    2064:	14d0      	push      	r15
	//delay_nms(10000);							//power on delay if needed
	APT32F102_init();							//102 initial
    2066:	e00001d5 	bsr      	0x2410	// 2410 <APT32F102_init>
	
	PB_Init();
    206a:	e00007cd 	bsr      	0x3004	// 3004 <PB_Init>
	
	PWM_Init();
    206e:	e00016d5 	bsr      	0x4e18	// 4e18 <PWM_Init>
	
	Dbg_Println(DBG_BIT_SYS_STATUS,"MCU Start!");
    2072:	1026      	lrw      	r1, 0x5a0c	// 2088 <main+0x24>
    2074:	3000      	movi      	r0, 0
    2076:	e0000799 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
    while(1)
	{
		SYSCON_IWDCNT_Reload(); 				//IWDT Clear
    207a:	e3fff743 	bsr      	0xf00	// f00 <SYSCON_IWDCNT_Reload>

		UART1_TASK();
    207e:	e0000767 	bsr      	0x2f4c	// 2f4c <UART1_TASK>
		
		PB_Task();
    2082:	e0001623 	bsr      	0x4cc8	// 4cc8 <PB_Task>
    2086:	07fa      	br      	0x207a	// 207a <main+0x16>
    2088:	00005a0c 	.long	0x00005a0c

Disassembly of section .text.delay_nms:

0000208c <delay_nms>:
//software delay
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/	
void delay_nms(unsigned int t)
{
    208c:	14d0      	push      	r15
    208e:	1423      	subi      	r14, r14, 12
    volatile unsigned int i,j ,k=0;
    j = 50* t;
    2090:	3232      	movi      	r2, 50
    volatile unsigned int i,j ,k=0;
    2092:	3300      	movi      	r3, 0
    j = 50* t;
    2094:	7c08      	mult      	r0, r2
    volatile unsigned int i,j ,k=0;
    2096:	b862      	st.w      	r3, (r14, 0x8)
    j = 50* t;
    2098:	b801      	st.w      	r0, (r14, 0x4)
    for ( i = 0; i < j; i++ )
    209a:	b860      	st.w      	r3, (r14, 0x0)
    209c:	9840      	ld.w      	r2, (r14, 0x0)
    209e:	9861      	ld.w      	r3, (r14, 0x4)
    20a0:	64c8      	cmphs      	r2, r3
    20a2:	0c03      	bf      	0x20a8	// 20a8 <delay_nms+0x1c>
    {
        k++;
		SYSCON_IWDCNT_Reload(); 
    }
}
    20a4:	1403      	addi      	r14, r14, 12
    20a6:	1490      	pop      	r15
        k++;
    20a8:	9862      	ld.w      	r3, (r14, 0x8)
    20aa:	2300      	addi      	r3, 1
    20ac:	b862      	st.w      	r3, (r14, 0x8)
		SYSCON_IWDCNT_Reload(); 
    20ae:	e3fff729 	bsr      	0xf00	// f00 <SYSCON_IWDCNT_Reload>
    for ( i = 0; i < j; i++ )
    20b2:	9860      	ld.w      	r3, (r14, 0x0)
    20b4:	2300      	addi      	r3, 1
    20b6:	07f2      	br      	0x209a	// 209a <delay_nms+0xe>

Disassembly of section .text.GPIO_CONFIG:

000020b8 <GPIO_CONFIG>:
//GPIO Initial
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/	
void GPIO_CONFIG(void)
{
    20b8:	14d2      	push      	r4-r5, r15
	//外部中断初始化
	GPIO_IntGroup_Set(PB0,1,Selete_EXI_PIN1);					//PB0.0 set as EXI18 
	GPIO_Init(GPIOB0,1,1);										//PB0.0 set as input                                	
    20ba:	11a4      	lrw      	r5, 0x20000048	// 2148 <GPIO_CONFIG+0x90>
	GPIO_IntGroup_Set(PB0,1,Selete_EXI_PIN1);					//PB0.0 set as EXI18 
    20bc:	3201      	movi      	r2, 1
    20be:	3101      	movi      	r1, 1
    20c0:	3002      	movi      	r0, 2
    20c2:	e3fff84d 	bsr      	0x115c	// 115c <GPIO_IntGroup_Set>
	GPIO_Init(GPIOB0,1,1);										//PB0.0 set as input                                	
    20c6:	9500      	ld.w      	r0, (r5, 0x0)
    20c8:	3201      	movi      	r2, 1
    20ca:	3101      	movi      	r1, 1
    20cc:	e3fff7d0 	bsr      	0x106c	// 106c <GPIO_Init>
	EXTI_trigger_CMD(ENABLE,EXI_PIN1,_EXIRT);                  //ENABLE falling edge
    20d0:	3200      	movi      	r2, 0
    20d2:	3102      	movi      	r1, 2
    20d4:	3001      	movi      	r0, 1
    20d6:	e3fff757 	bsr      	0xf84	// f84 <EXTI_trigger_CMD>

    EXTI_interrupt_CMD(ENABLE,EXI_PIN1);                	   	//enable EXI
    20da:	3102      	movi      	r1, 2
    20dc:	3001      	movi      	r0, 1
    20de:	e3fff773 	bsr      	0xfc4	// fc4 <EXTI_interrupt_CMD>
    GPIO_EXTI_interrupt(GPIOB0,0b0000000000000010);				//enable GPIOB0.0 as EXI
    20e2:	9500      	ld.w      	r0, (r5, 0x0)
    20e4:	3102      	movi      	r1, 2
    20e6:	e3fff789 	bsr      	0xff8	// ff8 <GPIO_EXTI_interrupt>
	
	Set_INT_Priority(EXI1_IRQ,0);								//0:set int priority 1st
    20ea:	3100      	movi      	r1, 0
    20ec:	3008      	movi      	r0, 8
    20ee:	e3fff7a7 	bsr      	0x103c	// 103c <Set_INT_Priority>
    EXI1_Int_Enable();                                       	//EXI1 / EXI17 INT Vector
    20f2:	e3fff785 	bsr      	0xffc	// ffc <EXI1_Int_Enable>

	//GPIO初始化
	GPIO_Init(GPIOB0,4,0);										//PB0.4 set as output
	GPIO_Init(GPIOA0,12,0);										//PA0.12 set as output
    20f6:	1096      	lrw      	r4, 0x2000004c	// 214c <GPIO_CONFIG+0x94>
	GPIO_Init(GPIOB0,4,0);										//PB0.4 set as output
    20f8:	3200      	movi      	r2, 0
    20fa:	9500      	ld.w      	r0, (r5, 0x0)
    20fc:	3104      	movi      	r1, 4
    20fe:	e3fff7b7 	bsr      	0x106c	// 106c <GPIO_Init>
	GPIO_Init(GPIOA0,12,0);										//PA0.12 set as output
    2102:	9400      	ld.w      	r0, (r4, 0x0)
    2104:	3200      	movi      	r2, 0
    2106:	310c      	movi      	r1, 12
    2108:	e3fff7b2 	bsr      	0x106c	// 106c <GPIO_Init>
	GPIO_Init(GPIOA0,14,0);										//PA0.14 set as output
    210c:	3200      	movi      	r2, 0
    210e:	9400      	ld.w      	r0, (r4, 0x0)
    2110:	310e      	movi      	r1, 14
    2112:	e3fff7ad 	bsr      	0x106c	// 106c <GPIO_Init>
	
	GPIO_DriveStrength_EN(GPIOB0,4);
    2116:	9500      	ld.w      	r0, (r5, 0x0)
    2118:	3104      	movi      	r1, 4
    211a:	e3fff819 	bsr      	0x114c	// 114c <GPIO_DriveStrength_EN>
	GPIO_DriveStrength_EN(GPIOA0,12);
    211e:	9400      	ld.w      	r0, (r4, 0x0)
    2120:	310c      	movi      	r1, 12
    2122:	e3fff815 	bsr      	0x114c	// 114c <GPIO_DriveStrength_EN>
	GPIO_DriveStrength_EN(GPIOA0,14);
    2126:	9400      	ld.w      	r0, (r4, 0x0)
    2128:	310e      	movi      	r1, 14
    212a:	e3fff811 	bsr      	0x114c	// 114c <GPIO_DriveStrength_EN>
	
	GPIO_Write_Low(GPIOB0,4);		//上电默认为低电平
    212e:	9500      	ld.w      	r0, (r5, 0x0)
    2130:	3104      	movi      	r1, 4
    2132:	e3fff89f 	bsr      	0x1270	// 1270 <GPIO_Write_Low>
	GPIO_Write_Low(GPIOA0,12);
    2136:	9400      	ld.w      	r0, (r4, 0x0)
    2138:	310c      	movi      	r1, 12
    213a:	e3fff89b 	bsr      	0x1270	// 1270 <GPIO_Write_Low>
	GPIO_Write_Low(GPIOA0,14);
    213e:	9400      	ld.w      	r0, (r4, 0x0)
    2140:	310e      	movi      	r1, 14
    2142:	e3fff897 	bsr      	0x1270	// 1270 <GPIO_Write_Low>
	

}
    2146:	1492      	pop      	r4-r5, r15
    2148:	20000048 	.long	0x20000048
    214c:	2000004c 	.long	0x2000004c

Disassembly of section .text.EPT0_CONFIG:

00002150 <EPT0_CONFIG>:
//ETP0 Functions
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/ 
void EPT0_CONFIG(void)
{
    2150:	14d3      	push      	r4-r6, r15
    2152:	1429      	subi      	r14, r14, 36
	//4路 PWM初始化
	EPT_Software_Prg();								//EPT software reset
    2154:	e3fffae8 	bsr      	0x1724	// 1724 <EPT_Software_Prg>
//------------  EPT GPIO Setting  --------------------------------/
	EPT_IO_SET(EPT_IO_CHAX,IO_NUM_PA10);			//AX channel selection
    2158:	3111      	movi      	r1, 17
    215a:	3000      	movi      	r0, 0
    215c:	e3fffb08 	bsr      	0x176c	// 176c <EPT_IO_SET>
	EPT_IO_SET(EPT_IO_CHBX,IO_NUM_PA11);			//BX channel selection
    2160:	3117      	movi      	r1, 23
    2162:	3002      	movi      	r0, 2
    2164:	e3fffb04 	bsr      	0x176c	// 176c <EPT_IO_SET>
	EPT_IO_SET(EPT_IO_CHCX,IO_NUM_PB05);			//CX channel selection
    2168:	3114      	movi      	r1, 20
    216a:	3004      	movi      	r0, 4
    216c:	e3fffb00 	bsr      	0x176c	// 176c <EPT_IO_SET>
	EPT_IO_SET(EPT_IO_CHD,IO_NUM_PA08);			//D channel selection
    2170:	311b      	movi      	r1, 27
    2172:	3006      	movi      	r0, 6
//------------  EPT Control  --------------------------------/
	EPT_PWM_Config(EPT_Selecte_PCLK,EPT_CNTMD_increase,EPT_OPM_Continue,0);//PCLK as clock，increasing mode,continuous mode,TCLK=PCLK/(0+1) 

	EPT_PWMX_Output_Control(EPT_PWMA,EPT_CA_Selecte_CMPA,EPT_CB_Selecte_CMPA,EPT_PWM_ZRO_Event_OutLow,EPT_PWM_PRD_Event_Nochange,
    2174:	3400      	movi      	r4, 0
	EPT_IO_SET(EPT_IO_CHD,IO_NUM_PA08);			//D channel selection
    2176:	e3fffafb 	bsr      	0x176c	// 176c <EPT_IO_SET>
	EPT_PWMX_Output_Control(EPT_PWMA,EPT_CA_Selecte_CMPA,EPT_CB_Selecte_CMPA,EPT_PWM_ZRO_Event_OutLow,EPT_PWM_PRD_Event_Nochange,
    217a:	3680      	movi      	r6, 128
    217c:	3520      	movi      	r5, 32
	EPT_PWM_Config(EPT_Selecte_PCLK,EPT_CNTMD_increase,EPT_OPM_Continue,0);//PCLK as clock，increasing mode,continuous mode,TCLK=PCLK/(0+1) 
    217e:	3300      	movi      	r3, 0
    2180:	3200      	movi      	r2, 0
    2182:	3100      	movi      	r1, 0
    2184:	3000      	movi      	r0, 0
    2186:	e3fffc0f 	bsr      	0x19a4	// 19a4 <EPT_PWM_Config>
	EPT_PWMX_Output_Control(EPT_PWMA,EPT_CA_Selecte_CMPA,EPT_CB_Selecte_CMPA,EPT_PWM_ZRO_Event_OutLow,EPT_PWM_PRD_Event_Nochange,
    218a:	b888      	st.w      	r4, (r14, 0x20)
    218c:	b887      	st.w      	r4, (r14, 0x1c)
    218e:	b886      	st.w      	r4, (r14, 0x18)
    2190:	b885      	st.w      	r4, (r14, 0x14)
    2192:	b884      	st.w      	r4, (r14, 0x10)
    2194:	b883      	st.w      	r4, (r14, 0xc)
    2196:	b8c2      	st.w      	r6, (r14, 0x8)
    2198:	b8a1      	st.w      	r5, (r14, 0x4)
    219a:	b880      	st.w      	r4, (r14, 0x0)
    219c:	3301      	movi      	r3, 1
    219e:	3200      	movi      	r2, 0
    21a0:	3100      	movi      	r1, 0
    21a2:	3000      	movi      	r0, 0
    21a4:	e3fffc1c 	bsr      	0x19dc	// 19dc <EPT_PWMX_Output_Control>
							EPT_PWM_CAU_Event_OutHigh,EPT_PWM_CAD_Event_OutHigh,
							EPT_PWM_CBU_Event_Nochange,EPT_PWM_CBD_Event_Nochange,
							EPT_PWM_T1U_Event_Nochange,EPT_PWM_T1D_Event_Nochange,
							EPT_PWM_T2U_Event_Nochange,EPT_PWM_T2D_Event_Nochange);
	EPT_PWMX_Output_Control(EPT_PWMB,EPT_CA_Selecte_CMPB,EPT_CB_Selecte_CMPB,EPT_PWM_ZRO_Event_OutLow,EPT_PWM_PRD_Event_Nochange,
    21a8:	3280      	movi      	r2, 128
    21aa:	3180      	movi      	r1, 128
    21ac:	424f      	lsli      	r2, r2, 15
    21ae:	412d      	lsli      	r1, r1, 13
    21b0:	b888      	st.w      	r4, (r14, 0x20)
    21b2:	b887      	st.w      	r4, (r14, 0x1c)
    21b4:	b886      	st.w      	r4, (r14, 0x18)
    21b6:	b885      	st.w      	r4, (r14, 0x14)
    21b8:	b884      	st.w      	r4, (r14, 0x10)
    21ba:	b883      	st.w      	r4, (r14, 0xc)
    21bc:	b8c2      	st.w      	r6, (r14, 0x8)
    21be:	b8a1      	st.w      	r5, (r14, 0x4)
    21c0:	b880      	st.w      	r4, (r14, 0x0)
    21c2:	3301      	movi      	r3, 1
    21c4:	3001      	movi      	r0, 1
    21c6:	e3fffc0b 	bsr      	0x19dc	// 19dc <EPT_PWMX_Output_Control>
							EPT_PWM_CAU_Event_OutHigh,EPT_PWM_CAD_Event_OutHigh,
							EPT_PWM_CBU_Event_Nochange,EPT_PWM_CBD_Event_Nochange,
							EPT_PWM_T1U_Event_Nochange,EPT_PWM_T1D_Event_Nochange,
							EPT_PWM_T2U_Event_Nochange,EPT_PWM_T2D_Event_Nochange);						
	EPT_PWMX_Output_Control(EPT_PWMC,EPT_CA_Selecte_CMPC,EPT_CB_Selecte_CMPC,EPT_PWM_ZRO_Event_OutLow,EPT_PWM_PRD_Event_Nochange,
    21ca:	3280      	movi      	r2, 128
    21cc:	3180      	movi      	r1, 128
    21ce:	4250      	lsli      	r2, r2, 16
    21d0:	412e      	lsli      	r1, r1, 14
    21d2:	b888      	st.w      	r4, (r14, 0x20)
    21d4:	b887      	st.w      	r4, (r14, 0x1c)
    21d6:	b886      	st.w      	r4, (r14, 0x18)
    21d8:	b885      	st.w      	r4, (r14, 0x14)
    21da:	b884      	st.w      	r4, (r14, 0x10)
    21dc:	b883      	st.w      	r4, (r14, 0xc)
    21de:	b8c2      	st.w      	r6, (r14, 0x8)
    21e0:	b8a1      	st.w      	r5, (r14, 0x4)
    21e2:	b880      	st.w      	r4, (r14, 0x0)
    21e4:	3301      	movi      	r3, 1
    21e6:	3002      	movi      	r0, 2
    21e8:	e3fffbfa 	bsr      	0x19dc	// 19dc <EPT_PWMX_Output_Control>
							EPT_PWM_CAU_Event_OutHigh,EPT_PWM_CAD_Event_OutHigh,
							EPT_PWM_CBU_Event_Nochange,EPT_PWM_CBD_Event_Nochange,
							EPT_PWM_T1U_Event_Nochange,EPT_PWM_T1D_Event_Nochange,
							EPT_PWM_T2U_Event_Nochange,EPT_PWM_T2D_Event_Nochange);	
	EPT_PWMX_Output_Control(EPT_PWMD,EPT_CA_Selecte_CMPD,EPT_CB_Selecte_CMPD,EPT_PWM_ZRO_Event_OutLow,EPT_PWM_PRD_Event_Nochange,
    21ec:	32c0      	movi      	r2, 192
    21ee:	31c0      	movi      	r1, 192
    21f0:	4250      	lsli      	r2, r2, 16
    21f2:	412e      	lsli      	r1, r1, 14
    21f4:	b888      	st.w      	r4, (r14, 0x20)
    21f6:	b887      	st.w      	r4, (r14, 0x1c)
    21f8:	b886      	st.w      	r4, (r14, 0x18)
    21fa:	b885      	st.w      	r4, (r14, 0x14)
    21fc:	b884      	st.w      	r4, (r14, 0x10)
    21fe:	b883      	st.w      	r4, (r14, 0xc)
    2200:	b8c2      	st.w      	r6, (r14, 0x8)
    2202:	b8a1      	st.w      	r5, (r14, 0x4)
    2204:	b880      	st.w      	r4, (r14, 0x0)
    2206:	3301      	movi      	r3, 1
    2208:	3003      	movi      	r0, 3
    220a:	e3fffbe9 	bsr      	0x19dc	// 19dc <EPT_PWMX_Output_Control>
							EPT_PWM_CAU_Event_OutHigh,EPT_PWM_CAD_Event_OutHigh,
							EPT_PWM_CBU_Event_Nochange,EPT_PWM_CBD_Event_Nochange,
							EPT_PWM_T1U_Event_Nochange,EPT_PWM_T1D_Event_Nochange,
							EPT_PWM_T2U_Event_Nochange,EPT_PWM_T2D_Event_Nochange);	
	
	EPT_PRDR_CMPA_CMPB_CMPC_CMPD_Config(PWM_OUT_VAL_MAX,0,0,0,0);//PRDR=2400,CMPA=1200,CMPB=600,CMPC=2400,CMPD=0	
    220e:	3300      	movi      	r3, 0
    2210:	3200      	movi      	r2, 0
    2212:	3100      	movi      	r1, 0
    2214:	1004      	lrw      	r0, 0xbb8	// 2224 <EPT0_CONFIG+0xd4>
    2216:	b880      	st.w      	r4, (r14, 0x0)
    2218:	e3fffc4e 	bsr      	0x1ab4	// 1ab4 <EPT_PRDR_CMPA_CMPB_CMPC_CMPD_Config>

//------------  EPT start  --------------------------------/	
	EPT_Start();
    221c:	e3fffa94 	bsr      	0x1744	// 1744 <EPT_Start>

}
    2220:	1409      	addi      	r14, r14, 36
    2222:	1493      	pop      	r4-r6, r15
    2224:	00000bb8 	.long	0x00000bb8

Disassembly of section .text.BT_CONFIG:

00002228 <BT_CONFIG>:
//BT Initial
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/	
void BT_CONFIG(void)
{
    2228:	14d3      	push      	r4-r6, r15
    222a:	1424      	subi      	r14, r14, 16
	//PB 保护电流PWM_CURR_LMT
	BT_DeInit(BT0);
    222c:	11a6      	lrw      	r5, 0x2000000c	// 22c4 <BT_CONFIG+0x9c>
	BT_IO_Init(BT0_PA15);
	BT_Configure(BT0,BTCLK_EN,7,BT_IMMEDIATE,BT_CONTINUOUS,BT_PCLKDIV);//TCLK=PCLK/(0+1)
    222e:	3400      	movi      	r4, 0
	BT_DeInit(BT0);
    2230:	9500      	ld.w      	r0, (r5, 0x0)
    2232:	e3fff863 	bsr      	0x12f8	// 12f8 <BT_DeInit>
	BT_IO_Init(BT0_PA15);
    2236:	3007      	movi      	r0, 7
    2238:	e3fff86e 	bsr      	0x1314	// 1314 <BT_IO_Init>
	BT_ControlSet_Configure(BT0,BT_START_HIGH,BT_IDLE_LOW,BT_SYNC_DIS,BT_SYNCMD_DIS,BT_OSTMDX_ONCE,BT_AREARM_DIS,BT_CNTRLD_EN);
    223c:	3680      	movi      	r6, 128
	BT_Configure(BT0,BTCLK_EN,7,BT_IMMEDIATE,BT_CONTINUOUS,BT_PCLKDIV);//TCLK=PCLK/(0+1)
    223e:	b881      	st.w      	r4, (r14, 0x4)
    2240:	b880      	st.w      	r4, (r14, 0x0)
    2242:	9500      	ld.w      	r0, (r5, 0x0)
	BT_ControlSet_Configure(BT0,BT_START_HIGH,BT_IDLE_LOW,BT_SYNC_DIS,BT_SYNCMD_DIS,BT_OSTMDX_ONCE,BT_AREARM_DIS,BT_CNTRLD_EN);
    2244:	46c3      	lsli      	r6, r6, 3
	BT_Configure(BT0,BTCLK_EN,7,BT_IMMEDIATE,BT_CONTINUOUS,BT_PCLKDIV);//TCLK=PCLK/(0+1)
    2246:	3308      	movi      	r3, 8
    2248:	3207      	movi      	r2, 7
    224a:	3101      	movi      	r1, 1
    224c:	e3fff913 	bsr      	0x1472	// 1472 <BT_Configure>
	BT_ControlSet_Configure(BT0,BT_START_HIGH,BT_IDLE_LOW,BT_SYNC_DIS,BT_SYNCMD_DIS,BT_OSTMDX_ONCE,BT_AREARM_DIS,BT_CNTRLD_EN);
    2250:	b883      	st.w      	r4, (r14, 0xc)
    2252:	b882      	st.w      	r4, (r14, 0x8)
    2254:	b8c1      	st.w      	r6, (r14, 0x4)
    2256:	b880      	st.w      	r4, (r14, 0x0)
    2258:	3300      	movi      	r3, 0
    225a:	9500      	ld.w      	r0, (r5, 0x0)
    225c:	3200      	movi      	r2, 0
    225e:	3180      	movi      	r1, 128
    2260:	e3fff915 	bsr      	0x148a	// 148a <BT_ControlSet_Configure>
	//BT_ControlSet_Configure(BT0,BT_START_HIGH,BT_IDLE_LOW,BT_SYNC_EN,BT_SYNCMD_DIS,BT_OSTMDX_ONCE,BT_AREARM_DIS,BT_CNTRLD_EN);
	//BT_Trigger_Configure(BT0,BT_TRGSRC_PEND,BT_TRGOE_EN);
	BT_Period_CMP_Write(BT0,4095,4000);
    2264:	32fa      	movi      	r2, 250
    2266:	4244      	lsli      	r2, r2, 4
    2268:	1038      	lrw      	r1, 0xfff	// 22c8 <BT_CONFIG+0xa0>
    226a:	9500      	ld.w      	r0, (r5, 0x0)
    226c:	e3fff925 	bsr      	0x14b6	// 14b6 <BT_Period_CMP_Write>
	BT_Start(BT0);
    2270:	9500      	ld.w      	r0, (r5, 0x0)
    2272:	e3fff8f7 	bsr      	0x1460	// 1460 <BT_Start>
//	BT_ConfigInterrupt_CMD(BT0,ENABLE,BT_PEND);
//	BT0_INT_ENABLE();
	
	
	//100us 定时器初始化
	BT_DeInit(BT1);
    2276:	10b6      	lrw      	r5, 0x20000008	// 22cc <BT_CONFIG+0xa4>
    2278:	9500      	ld.w      	r0, (r5, 0x0)
    227a:	e3fff83f 	bsr      	0x12f8	// 12f8 <BT_DeInit>
	BT_Configure(BT1,BTCLK_EN,0,BT_IMMEDIATE,BT_CONTINUOUS,BT_PCLKDIV);
    227e:	b881      	st.w      	r4, (r14, 0x4)
    2280:	b880      	st.w      	r4, (r14, 0x0)
    2282:	9500      	ld.w      	r0, (r5, 0x0)
    2284:	3308      	movi      	r3, 8
    2286:	3200      	movi      	r2, 0
    2288:	3101      	movi      	r1, 1
    228a:	e3fff8f4 	bsr      	0x1472	// 1472 <BT_Configure>
	BT_ControlSet_Configure(BT1,BT_START_HIGH,BT_IDLE_LOW,BT_SYNC_DIS,BT_SYNCMD_DIS,BT_OSTMDX_ONCE,BT_AREARM_DIS,BT_CNTRLD_EN);
    228e:	b883      	st.w      	r4, (r14, 0xc)
    2290:	b882      	st.w      	r4, (r14, 0x8)
    2292:	b8c1      	st.w      	r6, (r14, 0x4)
    2294:	b880      	st.w      	r4, (r14, 0x0)
    2296:	3300      	movi      	r3, 0
    2298:	9500      	ld.w      	r0, (r5, 0x0)
    229a:	3200      	movi      	r2, 0
    229c:	3180      	movi      	r1, 128
    229e:	e3fff8f6 	bsr      	0x148a	// 148a <BT_ControlSet_Configure>
	BT_Period_CMP_Write(BT1,4780,1);		
    22a2:	3201      	movi      	r2, 1
    22a4:	102b      	lrw      	r1, 0x12ac	// 22d0 <BT_CONFIG+0xa8>
    22a6:	9500      	ld.w      	r0, (r5, 0x0)
    22a8:	e3fff907 	bsr      	0x14b6	// 14b6 <BT_Period_CMP_Write>
	BT_Start(BT1);
    22ac:	9500      	ld.w      	r0, (r5, 0x0)
    22ae:	e3fff8d9 	bsr      	0x1460	// 1460 <BT_Start>
	BT_ConfigInterrupt_CMD(BT1,ENABLE,BT_CMP);
    22b2:	9500      	ld.w      	r0, (r5, 0x0)
    22b4:	3202      	movi      	r2, 2
    22b6:	3101      	movi      	r1, 1
    22b8:	e3fff902 	bsr      	0x14bc	// 14bc <BT_ConfigInterrupt_CMD>
	BT1_INT_ENABLE();
    22bc:	e3fff90a 	bsr      	0x14d0	// 14d0 <BT1_INT_ENABLE>
	
}
    22c0:	1404      	addi      	r14, r14, 16
    22c2:	1493      	pop      	r4-r6, r15
    22c4:	2000000c 	.long	0x2000000c
    22c8:	00000fff 	.long	0x00000fff
    22cc:	20000008 	.long	0x20000008
    22d0:	000012ac 	.long	0x000012ac

Disassembly of section .text.ADC12_CONFIG:

000022d4 <ADC12_CONFIG>:
//adc config
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/	
void ADC12_CONFIG(void)
{
    22d4:	14d0      	push      	r15
    22d6:	1422      	subi      	r14, r14, 8

	ADC12_RESET_VALUE();				//ADC所有寄存器复位
    22d8:	e3fffbfc 	bsr      	0x1ad0	// 1ad0 <ADC12_RESET_VALUE>
	ADC12_Software_Reset();				//ADC软件复位
    22dc:	e3fffc5a 	bsr      	0x1b90	// 1b90 <ADC12_Software_Reset>
	ADC12_CLK_CMD(ADC_CLK_CR,ENABLE);	//使能ADC CLK
    22e0:	3101      	movi      	r1, 1
    22e2:	3002      	movi      	r0, 2
    22e4:	e3fffc40 	bsr      	0x1b64	// 1b64 <ADC12_CLK_CMD>
	
	ADC12_Configure_Mode(ADC12_12BIT,Continuous_mode,0,6,2,4);
    22e8:	3304      	movi      	r3, 4
    22ea:	b861      	st.w      	r3, (r14, 0x4)
    22ec:	3302      	movi      	r3, 2
    22ee:	b860      	st.w      	r3, (r14, 0x0)
    22f0:	3200      	movi      	r2, 0
    22f2:	3306      	movi      	r3, 6
    22f4:	3101      	movi      	r1, 1
    22f6:	3001      	movi      	r0, 1
    22f8:	e3fffc86 	bsr      	0x1c04	// 1c04 <ADC12_Configure_Mode>
	
	ADC12_Configure_VREF_Selecte(ADC12_VREFP_VDD_VREFN_VSS);
    22fc:	3000      	movi      	r0, 0
    22fe:	e3fffcc1 	bsr      	0x1c80	// 1c80 <ADC12_Configure_VREF_Selecte>
	
	ADC12_ConversionChannel_Config(ADC12_ADCIN4,ADC12_CV_RepeatNum1,ADC12_AVGDIS,0);
    2302:	3300      	movi      	r3, 0
    2304:	3200      	movi      	r2, 0
    2306:	3100      	movi      	r1, 0
    2308:	3004      	movi      	r0, 4
    230a:	e3fffd87 	bsr      	0x1e18	// 1e18 <ADC12_ConversionChannel_Config>
	ADC12_ConversionChannel_Config(ADC12_ADCIN7,ADC12_CV_RepeatNum1,ADC12_AVGDIS,1);
    230e:	3301      	movi      	r3, 1
    2310:	3200      	movi      	r2, 0
    2312:	3100      	movi      	r1, 0
    2314:	3007      	movi      	r0, 7
    2316:	e3fffd81 	bsr      	0x1e18	// 1e18 <ADC12_ConversionChannel_Config>
	ADC12_ConversionChannel_Config(ADC12_ADCIN8,ADC12_CV_RepeatNum1,ADC12_AVGDIS,2);
    231a:	3302      	movi      	r3, 2
    231c:	3200      	movi      	r2, 0
    231e:	3100      	movi      	r1, 0
    2320:	3008      	movi      	r0, 8
    2322:	e3fffd7b 	bsr      	0x1e18	// 1e18 <ADC12_ConversionChannel_Config>
	ADC12_ConversionChannel_Config(ADC12_ADCIN10,ADC12_CV_RepeatNum1,ADC12_AVGDIS,3);
    2326:	3303      	movi      	r3, 3
    2328:	3200      	movi      	r2, 0
    232a:	3100      	movi      	r1, 0
    232c:	300a      	movi      	r0, 10
    232e:	e3fffd75 	bsr      	0x1e18	// 1e18 <ADC12_ConversionChannel_Config>
	
	ADC12_CMD(ENABLE);
    2332:	3001      	movi      	r0, 1
    2334:	e3fffc34 	bsr      	0x1b9c	// 1b9c <ADC12_CMD>
	
	ADC12_ready_wait();
    2338:	e3fffc46 	bsr      	0x1bc4	// 1bc4 <ADC12_ready_wait>
	
	ADC12_Control(ADC12_START);
    233c:	3008      	movi      	r0, 8
    233e:	e3fffbfb 	bsr      	0x1b34	// 1b34 <ADC12_Control>
}
    2342:	1402      	addi      	r14, r14, 8
    2344:	1490      	pop      	r15

Disassembly of section .text.GPT0_CONFIG:

00002348 <GPT0_CONFIG>:
//GPT0 Functions
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/ 
void GPT0_CONFIG(void)
{
    2348:	14d0      	push      	r15
    234a:	1426      	subi      	r14, r14, 24

	GPT_Configure(GPTCLK_EN,GPT_PCLK,GPT_IMMEDIATE,1);
    234c:	3301      	movi      	r3, 1
    234e:	3240      	movi      	r2, 64
    2350:	3100      	movi      	r1, 0
    2352:	3001      	movi      	r0, 1
    2354:	e3fff8c6 	bsr      	0x14e0	// 14e0 <GPT_Configure>
	GPT_WaveCtrl_Configure(GPT_INCREASE,GPT_SWSYNDIS,GPT_IDLE_LOW,GPT_PRDLD_PEND,GPT_OPM_CONTINUOUS,GPT_BURST_DIS,GPT_CKS_PCLK,GPT_CG_CHAX,GPT_CGFLT_00,GPT_PRDLD_ZERO);
    2358:	3300      	movi      	r3, 0
    235a:	b865      	st.w      	r3, (r14, 0x14)
    235c:	b864      	st.w      	r3, (r14, 0x10)
    235e:	b863      	st.w      	r3, (r14, 0xc)
    2360:	b862      	st.w      	r3, (r14, 0x8)
    2362:	b861      	st.w      	r3, (r14, 0x4)
    2364:	b860      	st.w      	r3, (r14, 0x0)
    2366:	3208      	movi      	r2, 8
    2368:	3100      	movi      	r1, 0
    236a:	3000      	movi      	r0, 0
    236c:	e3fff8c4 	bsr      	0x14f4	// 14f4 <GPT_WaveCtrl_Configure>
	GPT_Period_CMP_Write(24000,1,1000);
    2370:	32fa      	movi      	r2, 250
    2372:	4242      	lsli      	r2, r2, 2
    2374:	3101      	movi      	r1, 1
    2376:	1008      	lrw      	r0, 0x5dc0	// 2394 <GPT0_CONFIG+0x4c>
    2378:	e3fff8e8 	bsr      	0x1548	// 1548 <GPT_Period_CMP_Write>
	//GPT_WaveLoad_Configure(GPT_WAVEA_IMMEDIATE,GPT_WAVEB_SHADOW,GPT_AQLDA_ZERO,GPT_AQLDB_ZERO);

	//GPT_SyncSet_Configure(GPT_SYNCUSR0_EN,GPT_OST_CONTINUOUS,GPT_TXREARM_DIS,GPT_TRGO0SEL_SR0,GPT_TRG10SEL_SR0,GPT_AREARM_DIS);
	//GPT_Trigger_Configure(GPT_SRCSEL_TRGUSR0EN,GPT_BLKINV_DIS,GPT_ALIGNMD_PRD,GPT_CROSSMD_DIS,5,5);
	//GPT_EVTRG_Configure(GPT_TRGSRC0_PRD,GPT_TRGSRC1_PRD,GPT_ESYN0OE_EN,GPT_ESYN1OE_EN,GPT_CNT0INIT_EN,GPT_CNT1INIT_EN,3,3,3,3);
	GPT_Start();
    237c:	e3fff8de 	bsr      	0x1538	// 1538 <GPT_Start>
	GPT_ConfigInterrupt_CMD(ENABLE,GPT_INT_PEND);
    2380:	3180      	movi      	r1, 128
    2382:	4129      	lsli      	r1, r1, 9
    2384:	3001      	movi      	r0, 1
    2386:	e3fff8e9 	bsr      	0x1558	// 1558 <GPT_ConfigInterrupt_CMD>
	GPT_INT_ENABLE();
    238a:	e3fff8f5 	bsr      	0x1574	// 1574 <GPT_INT_ENABLE>

}
    238e:	1406      	addi      	r14, r14, 24
    2390:	1490      	pop      	r15
    2392:	0000      	bkpt
    2394:	00005dc0 	.long	0x00005dc0

Disassembly of section .text.SYSCON_CONFIG:

00002398 <SYSCON_CONFIG>:
//syscon Functions
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void SYSCON_CONFIG(void)
{
    2398:	14d0      	push      	r15
    239a:	1421      	subi      	r14, r14, 4
//------SYSTEM CLK AND PCLK FUNTION---------------------------/
	SYSCON_RST_VALUE();                                                         //SYSCON all register clr
    239c:	e3fff4f8 	bsr      	0xd8c	// d8c <SYSCON_RST_VALUE>
	SYSCON_General_CMD(ENABLE,ENDIS_ISOSC);										//SYSCON enable/disable clock source
    23a0:	3101      	movi      	r1, 1
    23a2:	3001      	movi      	r0, 1
    23a4:	e3fff520 	bsr      	0xde4	// de4 <SYSCON_General_CMD>
	//EMOSC_OSTR_Config(0XAD,0X1f,EM_LFSEL_EN,EM_FLEN_EN,EM_FLSEL_10ns);		//EM_CNT=0X3FF,0xAD(36K),EM_GM=0,Low F modedisable,EM filter disable,if enable,cont set 5ns
	//SYSCON_General_CMD(ENABLE,ENDIS_EMOSC);
	SYSCON_HFOSC_SELECTE(HFOSC_SELECTE_48M);									//HFOSC selected 48MHz
    23a8:	3000      	movi      	r0, 0
    23aa:	e3fff579 	bsr      	0xe9c	// e9c <SYSCON_HFOSC_SELECTE>
	SystemCLK_HCLKDIV_PCLKDIV_Config(SYSCLK_HFOSC,HCLK_DIV_1,PCLK_DIV_1,HFOSC_48M);//system clock set, Hclk div ,Pclk div  set system clock=SystemCLK/Hclk div/Pclk div
    23ae:	3180      	movi      	r1, 128
    23b0:	3308      	movi      	r3, 8
    23b2:	3200      	movi      	r2, 0
    23b4:	4121      	lsli      	r1, r1, 1
    23b6:	3002      	movi      	r0, 2
    23b8:	e3fff52e 	bsr      	0xe14	// e14 <SystemCLK_HCLKDIV_PCLKDIV_Config>
//------------  WDT FUNTION  --------------------------------/
    SYSCON_IWDCNT_Config(IWDT_TIME_4S,IWDT_INTW_DIV_7);      					//WDT TIME 1s,WDT alarm interrupt time=1s-1s*1/8=0.875S
    23bc:	30c0      	movi      	r0, 192
    23be:	3118      	movi      	r1, 24
    23c0:	4003      	lsli      	r0, r0, 3
    23c2:	e3fff5a9 	bsr      	0xf14	// f14 <SYSCON_IWDCNT_Config>
    SYSCON_WDT_CMD(ENABLE);                                                  	//enable/disable WDT		
    23c6:	3001      	movi      	r0, 1
    23c8:	e3fff57e 	bsr      	0xec4	// ec4 <SYSCON_WDT_CMD>
    SYSCON_IWDCNT_Reload();                                                   	//reload WDT
    23cc:	e3fff59a 	bsr      	0xf00	// f00 <SYSCON_IWDCNT_Reload>
	IWDT_Int_Enable();
    23d0:	e3fff5cc 	bsr      	0xf68	// f68 <IWDT_Int_Enable>
//------------  WWDT FUNTION  --------------------------------/
	WWDT_CNT_Load(0xFF);
    23d4:	30ff      	movi      	r0, 255
    23d6:	e3fff76f 	bsr      	0x12b4	// 12b4 <WWDT_CNT_Load>
	WWDT_CONFIG(PCLK_4096_DIV0,0xFF,WWDT_DBGDIS);
    23da:	3200      	movi      	r2, 0
    23dc:	31ff      	movi      	r1, 255
    23de:	3000      	movi      	r0, 0
    23e0:	e3fff75e 	bsr      	0x129c	// 129c <WWDT_CONFIG>
	WWDT_Int_Config(DISABLE);													
    23e4:	3000      	movi      	r0, 0
    23e6:	e3fff76f 	bsr      	0x12c4	// 12c4 <WWDT_Int_Config>
	//WWDT_CMD(ENABLE);															//enable wwdt
//------------  CLO Output --------------------------------/	
	//SYSCON_CLO_CONFIG(CLO_PA08);												//CLO output setting
	//SYSCON_CLO_SRC_SET(CLO_HFCLK,CLO_DIV16);									//CLO output clock and div
//------------  LVD FUNTION  --------------------------------/ 
    SYSCON_LVD_Config(ENABLE_LVDEN,INTDET_LVL_3_9V,RSTDET_LVL_1_9V,ENABLE_LVD_INT,INTDET_POL_fall);   //LVD LVR Enable/Disable
    23ea:	3340      	movi      	r3, 64
    23ec:	b860      	st.w      	r3, (r14, 0x0)
    23ee:	31c0      	movi      	r1, 192
    23f0:	3380      	movi      	r3, 128
    23f2:	4364      	lsli      	r3, r3, 4
    23f4:	3200      	movi      	r2, 0
    23f6:	4123      	lsli      	r1, r1, 3
    23f8:	3000      	movi      	r0, 0
    23fa:	e3fff599 	bsr      	0xf2c	// f2c <SYSCON_LVD_Config>
    LVD_Int_Enable();	
    23fe:	e3fff5a7 	bsr      	0xf4c	// f4c <LVD_Int_Enable>
//------------  SYSCON Vector  --------------------------------/ 	
	SYSCON_Int_Enable();    														//SYSCON VECTOR
    2402:	e3fff605 	bsr      	0x100c	// 100c <SYSCON_Int_Enable>
	//SYSCON_WakeUp_Enable();    													//Enable WDT wakeup INT
//------------------------------------------------------------/
//OSC CLOCK Calibration
//------------------------------------------------------------/	
	std_clk_calib(CLK_HFOSC_48M);												//Select the same clock source as the system
    2406:	3000      	movi      	r0, 0
    2408:	e0001852 	bsr      	0x54ac	// 54ac <std_clk_calib>
	
}
    240c:	1401      	addi      	r14, r14, 4
    240e:	1490      	pop      	r15

Disassembly of section .text.APT32F102_init:

00002410 <APT32F102_init>:
//ReturnValue:NONE                                                                /
/*********************************************************************************/
/*********************************************************************************/  
/*********************************************************************************/
void APT32F102_init(void) 
{
    2410:	14d0      	push      	r15
//------------------------------------------------------------/
//Peripheral clock enable and disable
//EntryParameter:NONE
//ReturnValue:NONE
//------------------------------------------------------------/
    SYSCON->PCER0=0xFFFFFFF;                                        //PCLK Enable
    2412:	107b      	lrw      	r3, 0x2000005c	// 247c <APT32F102_init+0x6c>
    SYSCON->PCER1=0xFFFFFFF;                                        //PCLK Enable
    while(!(SYSCON->PCSR0&0x1));                                    //Wait PCLK enabled	
    2414:	3101      	movi      	r1, 1
    SYSCON->PCER0=0xFFFFFFF;                                        //PCLK Enable
    2416:	9340      	ld.w      	r2, (r3, 0x0)
    2418:	107a      	lrw      	r3, 0xfffffff	// 2480 <APT32F102_init+0x70>
    241a:	b26a      	st.w      	r3, (r2, 0x28)
    SYSCON->PCER1=0xFFFFFFF;                                        //PCLK Enable
    241c:	b26d      	st.w      	r3, (r2, 0x34)
    while(!(SYSCON->PCSR0&0x1));                                    //Wait PCLK enabled	
    241e:	926c      	ld.w      	r3, (r2, 0x30)
    2420:	68c4      	and      	r3, r1
    2422:	3b40      	cmpnei      	r3, 0
    2424:	0ffd      	bf      	0x241e	// 241e <APT32F102_init+0xe>
//------------------------------------------------------------/
//ISOSC/IMOSC/EMOSC/SYSCLK/IWDT/LVD/EM_CMFAIL/EM_CMRCV/CMD_ERR OSC stable interrupt
//EntryParameter:NONE
//ReturnValue:NONE
//------------------------------------------------------------/
    SYSCON_CONFIG();                                                 //syscon  initial
    2426:	e3ffffb9 	bsr      	0x2398	// 2398 <SYSCON_CONFIG>
	CK_CPU_EnAllNormalIrq();                                         //enable all IRQ
    242a:	e0000527 	bsr      	0x2e78	// 2e78 <CK_CPU_EnAllNormalIrq>
	SYSCON_INT_Priority();										 //initial all Priority=0xC0
    242e:	e3fff5f5 	bsr      	0x1018	// 1018 <SYSCON_INT_Priority>
	
	Set_INT_Priority(EXI1_IRQ,0);
    2432:	3100      	movi      	r1, 0
    2434:	3008      	movi      	r0, 8
    2436:	e3fff603 	bsr      	0x103c	// 103c <Set_INT_Priority>
	Set_INT_Priority(UART1_IRQ,1);
    243a:	3101      	movi      	r1, 1
    243c:	300e      	movi      	r0, 14
    243e:	e3fff5ff 	bsr      	0x103c	// 103c <Set_INT_Priority>
	Set_INT_Priority(BT1_IRQ,1);
    2442:	3101      	movi      	r1, 1
    2444:	301d      	movi      	r0, 29
    2446:	e3fff5fb 	bsr      	0x103c	// 103c <Set_INT_Priority>
	Set_INT_Priority(UART0_IRQ,2);
    244a:	3102      	movi      	r1, 2
    244c:	300d      	movi      	r0, 13
    244e:	e3fff5f7 	bsr      	0x103c	// 103c <Set_INT_Priority>
//------------------------------------------------------------/
//Other IP config
//------------------------------------------------------------/
	GPIO_CONFIG();                                                //GPIO initial     
    2452:	e3fffe33 	bsr      	0x20b8	// 20b8 <GPIO_CONFIG>
	EPT0_CONFIG();                                                //EPT0 initial 
    2456:	e3fffe7d 	bsr      	0x2150	// 2150 <EPT0_CONFIG>
	
	BT_CONFIG();													//BT initial
    245a:	e3fffee7 	bsr      	0x2228	// 2228 <BT_CONFIG>
	GPT0_CONFIG();					//2024-06-16 修改 单独用于PWM 1ms定时控制
    245e:	e3ffff75 	bsr      	0x2348	// 2348 <GPT0_CONFIG>
	
	UARTx_Init(UART_0,NULL);
    2462:	3100      	movi      	r1, 0
    2464:	3000      	movi      	r0, 0
    2466:	e000050d 	bsr      	0x2e80	// 2e80 <UARTx_Init>
	UARTx_Init(UART_1,BLV_PB_Control_Protocol_Processing);
    246a:	1027      	lrw      	r1, 0x4a1c	// 2484 <APT32F102_init+0x74>
    246c:	3001      	movi      	r0, 1
    246e:	e0000509 	bsr      	0x2e80	// 2e80 <UARTx_Init>
	
	EEPROM_Init();
    2472:	e00017fb 	bsr      	0x5468	// 5468 <EEPROM_Init>
	
	ADC12_CONFIG();                                               //ADC initial 
    2476:	e3ffff2f 	bsr      	0x22d4	// 22d4 <ADC12_CONFIG>
	
}
    247a:	1490      	pop      	r15
    247c:	2000005c 	.long	0x2000005c
    2480:	0fffffff 	.long	0x0fffffff
    2484:	00004a1c 	.long	0x00004a1c

Disassembly of section .text.SYSCONIntHandler:

00002488 <SYSCONIntHandler>:
//SYSCON Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void SYSCONIntHandler(void) 
{
    2488:	1460      	nie
    248a:	1462      	ipush
    // ISR content ...
	nop;
    248c:	6c03      	mov      	r0, r0
	if((SYSCON->MISR&ISOSC_ST)==ISOSC_ST)				//ISOSC stable interrupt
    248e:	117a      	lrw      	r3, 0x2000005c	// 2574 <SYSCONIntHandler+0xec>
    2490:	3280      	movi      	r2, 128
    2492:	9360      	ld.w      	r3, (r3, 0x0)
    2494:	60c8      	addu      	r3, r2
    2496:	9323      	ld.w      	r1, (r3, 0xc)
    2498:	3001      	movi      	r0, 1
    249a:	6840      	and      	r1, r0
    249c:	3940      	cmpnei      	r1, 0
    249e:	0c04      	bf      	0x24a6	// 24a6 <SYSCONIntHandler+0x1e>
	{
		SYSCON->ICR = EMOSC_ST;
	} 
	else if((SYSCON->MISR&HFOSC_ST)==HFOSC_ST)			//HFOSC stable interrupt
	{
		SYSCON->ICR = HFOSC_ST;
    24a0:	b301      	st.w      	r0, (r3, 0x4)
	}
	else if((SYSCON->MISR&CMD_ERR_ST)==CMD_ERR_ST)		//Command error interrupt
	{
		SYSCON->ICR = CMD_ERR_ST;
	}
}
    24a2:	1463      	ipop
    24a4:	1461      	nir
	else if((SYSCON->MISR&IMOSC_ST)==IMOSC_ST)			//IMOSC stable interrupt
    24a6:	9323      	ld.w      	r1, (r3, 0xc)
    24a8:	3002      	movi      	r0, 2
    24aa:	6840      	and      	r1, r0
    24ac:	3940      	cmpnei      	r1, 0
    24ae:	0bf9      	bt      	0x24a0	// 24a0 <SYSCONIntHandler+0x18>
	else if((SYSCON->MISR&EMOSC_ST)==EMOSC_ST)			//EMOSC stable interrupt
    24b0:	9323      	ld.w      	r1, (r3, 0xc)
    24b2:	3008      	movi      	r0, 8
    24b4:	6840      	and      	r1, r0
    24b6:	3940      	cmpnei      	r1, 0
    24b8:	0bf4      	bt      	0x24a0	// 24a0 <SYSCONIntHandler+0x18>
	else if((SYSCON->MISR&HFOSC_ST)==HFOSC_ST)			//HFOSC stable interrupt
    24ba:	9323      	ld.w      	r1, (r3, 0xc)
    24bc:	3010      	movi      	r0, 16
    24be:	6840      	and      	r1, r0
    24c0:	3940      	cmpnei      	r1, 0
    24c2:	0bef      	bt      	0x24a0	// 24a0 <SYSCONIntHandler+0x18>
	else if((SYSCON->MISR&SYSCLK_ST)==SYSCLK_ST)		//SYSCLK change end & stable interrupt
    24c4:	9323      	ld.w      	r1, (r3, 0xc)
    24c6:	6848      	and      	r1, r2
    24c8:	3940      	cmpnei      	r1, 0
    24ca:	0c03      	bf      	0x24d0	// 24d0 <SYSCONIntHandler+0x48>
		SYSCON->ICR = CMD_ERR_ST;
    24cc:	b341      	st.w      	r2, (r3, 0x4)
}
    24ce:	07ea      	br      	0x24a2	// 24a2 <SYSCONIntHandler+0x1a>
	else if((SYSCON->MISR&IWDT_INT_ST)==IWDT_INT_ST)	//IWDT alarm window interrupt
    24d0:	3280      	movi      	r2, 128
    24d2:	9323      	ld.w      	r1, (r3, 0xc)
    24d4:	4241      	lsli      	r2, r2, 1
    24d6:	6848      	and      	r1, r2
    24d8:	3940      	cmpnei      	r1, 0
    24da:	0bf9      	bt      	0x24cc	// 24cc <SYSCONIntHandler+0x44>
	else if((SYSCON->MISR&WKI_INT_ST)==WKI_INT_ST)
    24dc:	3280      	movi      	r2, 128
    24de:	9323      	ld.w      	r1, (r3, 0xc)
    24e0:	4242      	lsli      	r2, r2, 2
    24e2:	6848      	and      	r1, r2
    24e4:	3940      	cmpnei      	r1, 0
    24e6:	0bf3      	bt      	0x24cc	// 24cc <SYSCONIntHandler+0x44>
	else if((SYSCON->MISR&RAMERRINT_ST)==RAMERRINT_ST)	//SRAM check fail interrupt
    24e8:	3280      	movi      	r2, 128
    24ea:	9323      	ld.w      	r1, (r3, 0xc)
    24ec:	4243      	lsli      	r2, r2, 3
    24ee:	6848      	and      	r1, r2
    24f0:	3940      	cmpnei      	r1, 0
    24f2:	0bed      	bt      	0x24cc	// 24cc <SYSCONIntHandler+0x44>
	else if((SYSCON->MISR&LVD_INT_ST)==LVD_INT_ST)		//LVD threshold interrupt
    24f4:	3280      	movi      	r2, 128
    24f6:	9323      	ld.w      	r1, (r3, 0xc)
    24f8:	4244      	lsli      	r2, r2, 4
    24fa:	6848      	and      	r1, r2
    24fc:	3940      	cmpnei      	r1, 0
    24fe:	0c03      	bf      	0x2504	// 2504 <SYSCONIntHandler+0x7c>
		nop;
    2500:	6c03      	mov      	r0, r0
    2502:	07e5      	br      	0x24cc	// 24cc <SYSCONIntHandler+0x44>
	else if((SYSCON->MISR&HWD_ERR_ST)==HWD_ERR_ST)		//Hardware Divider divisor = 0 interrupt
    2504:	3280      	movi      	r2, 128
    2506:	9323      	ld.w      	r1, (r3, 0xc)
    2508:	4245      	lsli      	r2, r2, 5
    250a:	6848      	and      	r1, r2
    250c:	3940      	cmpnei      	r1, 0
    250e:	0bdf      	bt      	0x24cc	// 24cc <SYSCONIntHandler+0x44>
	else if((SYSCON->MISR&EFL_ERR_ST)==EFL_ERR_ST)		//Flash check fail interrupt
    2510:	3280      	movi      	r2, 128
    2512:	9323      	ld.w      	r1, (r3, 0xc)
    2514:	4246      	lsli      	r2, r2, 6
    2516:	6848      	and      	r1, r2
    2518:	3940      	cmpnei      	r1, 0
    251a:	0bd9      	bt      	0x24cc	// 24cc <SYSCONIntHandler+0x44>
	else if((SYSCON->MISR&OPTERR_INT)==OPTERR_INT)		//Option load fail interrupt
    251c:	3280      	movi      	r2, 128
    251e:	9323      	ld.w      	r1, (r3, 0xc)
    2520:	4247      	lsli      	r2, r2, 7
    2522:	6848      	and      	r1, r2
    2524:	3940      	cmpnei      	r1, 0
    2526:	0bd3      	bt      	0x24cc	// 24cc <SYSCONIntHandler+0x44>
	else if((SYSCON->MISR&EM_CMLST_ST)==EM_CMLST_ST)	//EMOSC clock monitor fail interrupt
    2528:	3280      	movi      	r2, 128
    252a:	9323      	ld.w      	r1, (r3, 0xc)
    252c:	424b      	lsli      	r2, r2, 11
    252e:	6848      	and      	r1, r2
    2530:	3940      	cmpnei      	r1, 0
    2532:	0bcd      	bt      	0x24cc	// 24cc <SYSCONIntHandler+0x44>
	else if((SYSCON->MISR&EM_EVTRG0_ST)==EM_EVTRG0_ST)	//Event Trigger Channel 0 Interrupt
    2534:	3280      	movi      	r2, 128
    2536:	9323      	ld.w      	r1, (r3, 0xc)
    2538:	424c      	lsli      	r2, r2, 12
    253a:	6848      	and      	r1, r2
    253c:	3940      	cmpnei      	r1, 0
    253e:	0bc7      	bt      	0x24cc	// 24cc <SYSCONIntHandler+0x44>
	else if((SYSCON->MISR&EM_EVTRG1_ST)==EM_EVTRG1_ST)	//Event Trigger Channel 1 Interrupt
    2540:	3280      	movi      	r2, 128
    2542:	9323      	ld.w      	r1, (r3, 0xc)
    2544:	424d      	lsli      	r2, r2, 13
    2546:	6848      	and      	r1, r2
    2548:	3940      	cmpnei      	r1, 0
    254a:	0bc1      	bt      	0x24cc	// 24cc <SYSCONIntHandler+0x44>
	else if((SYSCON->MISR&EM_EVTRG2_ST)==EM_EVTRG2_ST)	//Event Trigger Channel 2 Interrupt
    254c:	3280      	movi      	r2, 128
    254e:	9323      	ld.w      	r1, (r3, 0xc)
    2550:	424e      	lsli      	r2, r2, 14
    2552:	6848      	and      	r1, r2
    2554:	3940      	cmpnei      	r1, 0
    2556:	0bbb      	bt      	0x24cc	// 24cc <SYSCONIntHandler+0x44>
	else if((SYSCON->MISR&EM_EVTRG3_ST)==EM_EVTRG3_ST)	//Event Trigger Channel 3 Interrupt
    2558:	3280      	movi      	r2, 128
    255a:	9323      	ld.w      	r1, (r3, 0xc)
    255c:	424f      	lsli      	r2, r2, 15
    255e:	6848      	and      	r1, r2
    2560:	3940      	cmpnei      	r1, 0
    2562:	0bb5      	bt      	0x24cc	// 24cc <SYSCONIntHandler+0x44>
	else if((SYSCON->MISR&CMD_ERR_ST)==CMD_ERR_ST)		//Command error interrupt
    2564:	3280      	movi      	r2, 128
    2566:	9323      	ld.w      	r1, (r3, 0xc)
    2568:	4256      	lsli      	r2, r2, 22
    256a:	6848      	and      	r1, r2
    256c:	3940      	cmpnei      	r1, 0
    256e:	0baf      	bt      	0x24cc	// 24cc <SYSCONIntHandler+0x44>
    2570:	0799      	br      	0x24a2	// 24a2 <SYSCONIntHandler+0x1a>
    2572:	0000      	bkpt
    2574:	2000005c 	.long	0x2000005c

Disassembly of section .text.IFCIntHandler:

00002578 <IFCIntHandler>:
//IFC Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void IFCIntHandler(void) 
{
    2578:	1460      	nie
    257a:	1462      	ipush
    // ISR content ...
	if(IFC->MISR&ERS_END_INT)			
    257c:	1078      	lrw      	r3, 0x20000060	// 25dc <IFCIntHandler+0x64>
    257e:	3101      	movi      	r1, 1
    2580:	9360      	ld.w      	r3, (r3, 0x0)
    2582:	934b      	ld.w      	r2, (r3, 0x2c)
    2584:	6884      	and      	r2, r1
    2586:	3a40      	cmpnei      	r2, 0
    2588:	0c04      	bf      	0x2590	// 2590 <IFCIntHandler+0x18>
	{
		IFC->ICR=RGM_END_INT;
	}
	else if(IFC->MISR&PEP_END_INT)		
	{
		IFC->ICR=PEP_END_INT;
    258a:	b32c      	st.w      	r1, (r3, 0x30)
	}
	else if(IFC->MISR&OVW_ERR_INT)		
	{
		IFC->ICR=OVW_ERR_INT;
	}
}
    258c:	1463      	ipop
    258e:	1461      	nir
	else if(IFC->MISR&RGM_END_INT)		
    2590:	934b      	ld.w      	r2, (r3, 0x2c)
    2592:	3102      	movi      	r1, 2
    2594:	6884      	and      	r2, r1
    2596:	3a40      	cmpnei      	r2, 0
    2598:	0bf9      	bt      	0x258a	// 258a <IFCIntHandler+0x12>
	else if(IFC->MISR&PEP_END_INT)		
    259a:	934b      	ld.w      	r2, (r3, 0x2c)
    259c:	3104      	movi      	r1, 4
    259e:	6884      	and      	r2, r1
    25a0:	3a40      	cmpnei      	r2, 0
    25a2:	0bf4      	bt      	0x258a	// 258a <IFCIntHandler+0x12>
	else if(IFC->MISR&PROT_ERR_INT)		
    25a4:	3280      	movi      	r2, 128
    25a6:	932b      	ld.w      	r1, (r3, 0x2c)
    25a8:	4245      	lsli      	r2, r2, 5
    25aa:	6848      	and      	r1, r2
    25ac:	3940      	cmpnei      	r1, 0
    25ae:	0c03      	bf      	0x25b4	// 25b4 <IFCIntHandler+0x3c>
		IFC->ICR=OVW_ERR_INT;
    25b0:	b34c      	st.w      	r2, (r3, 0x30)
}
    25b2:	07ed      	br      	0x258c	// 258c <IFCIntHandler+0x14>
	else if(IFC->MISR&UDEF_ERR_INT)		
    25b4:	3280      	movi      	r2, 128
    25b6:	932b      	ld.w      	r1, (r3, 0x2c)
    25b8:	4246      	lsli      	r2, r2, 6
    25ba:	6848      	and      	r1, r2
    25bc:	3940      	cmpnei      	r1, 0
    25be:	0bf9      	bt      	0x25b0	// 25b0 <IFCIntHandler+0x38>
	else if(IFC->MISR&ADDR_ERR_INT)		
    25c0:	3280      	movi      	r2, 128
    25c2:	932b      	ld.w      	r1, (r3, 0x2c)
    25c4:	4247      	lsli      	r2, r2, 7
    25c6:	6848      	and      	r1, r2
    25c8:	3940      	cmpnei      	r1, 0
    25ca:	0bf3      	bt      	0x25b0	// 25b0 <IFCIntHandler+0x38>
	else if(IFC->MISR&OVW_ERR_INT)		
    25cc:	3280      	movi      	r2, 128
    25ce:	932b      	ld.w      	r1, (r3, 0x2c)
    25d0:	4248      	lsli      	r2, r2, 8
    25d2:	6848      	and      	r1, r2
    25d4:	3940      	cmpnei      	r1, 0
    25d6:	0bed      	bt      	0x25b0	// 25b0 <IFCIntHandler+0x38>
    25d8:	07da      	br      	0x258c	// 258c <IFCIntHandler+0x14>
    25da:	0000      	bkpt
    25dc:	20000060 	.long	0x20000060

Disassembly of section .text.ADCIntHandler:

000025e0 <ADCIntHandler>:
//ADC Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void ADCIntHandler(void) 
{
    25e0:	1460      	nie
    25e2:	1462      	ipush
    // ISR content ...
	if((ADC0->SR&ADC12_EOC)==ADC12_EOC)				//ADC EOC interrupt
    25e4:	1078      	lrw      	r3, 0x20000050	// 2644 <ADCIntHandler+0x64>
    25e6:	3101      	movi      	r1, 1
    25e8:	9360      	ld.w      	r3, (r3, 0x0)
    25ea:	9348      	ld.w      	r2, (r3, 0x20)
    25ec:	6884      	and      	r2, r1
    25ee:	3a40      	cmpnei      	r2, 0
    25f0:	0c04      	bf      	0x25f8	// 25f8 <ADCIntHandler+0x18>
	{
		ADC0->CSR = ADC12_CMP1H;
	}
	else if((ADC0->SR&ADC12_CMP1L)==ADC12_CMP1L)	//ADC CMP1L interrupt.
	{
		ADC0->CSR = ADC12_CMP1L;
    25f2:	b327      	st.w      	r1, (r3, 0x1c)
	}
	else if((ADC0->SR&ADC12_SEQ_END0)==ADC12_SEQ_END0) //ADC SEQ0 interrupt,SEQ1~SEQ15 replace the parameter with ADC12_SEQ_END1~ADC12_SEQ_END15
	{
		ADC0->CSR = ADC12_SEQ_END0;
	}
}
    25f4:	1463      	ipop
    25f6:	1461      	nir
	else if((ADC0->SR&ADC12_READY)==ADC12_READY)	//ADC READY interrupt
    25f8:	9348      	ld.w      	r2, (r3, 0x20)
    25fa:	3102      	movi      	r1, 2
    25fc:	6884      	and      	r2, r1
    25fe:	3a40      	cmpnei      	r2, 0
    2600:	0bf9      	bt      	0x25f2	// 25f2 <ADCIntHandler+0x12>
	else if((ADC0->SR&ADC12_OVR)==ADC12_OVR)		//ADC OVR interrupt
    2602:	9348      	ld.w      	r2, (r3, 0x20)
    2604:	3104      	movi      	r1, 4
    2606:	6884      	and      	r2, r1
    2608:	3a40      	cmpnei      	r2, 0
    260a:	0bf4      	bt      	0x25f2	// 25f2 <ADCIntHandler+0x12>
	else if((ADC0->SR&ADC12_CMP0H)==ADC12_CMP0H)	//ADC CMP0H interrupt
    260c:	9348      	ld.w      	r2, (r3, 0x20)
    260e:	3110      	movi      	r1, 16
    2610:	6884      	and      	r2, r1
    2612:	3a40      	cmpnei      	r2, 0
    2614:	0bef      	bt      	0x25f2	// 25f2 <ADCIntHandler+0x12>
	else if((ADC0->SR&ADC12_CMP0L)==ADC12_CMP0L)	//ADC CMP0L interrupt.
    2616:	9348      	ld.w      	r2, (r3, 0x20)
    2618:	3120      	movi      	r1, 32
    261a:	6884      	and      	r2, r1
    261c:	3a40      	cmpnei      	r2, 0
    261e:	0bea      	bt      	0x25f2	// 25f2 <ADCIntHandler+0x12>
	else if((ADC0->SR&ADC12_CMP1H)==ADC12_CMP1H)	//ADC CMP1H interrupt.
    2620:	9348      	ld.w      	r2, (r3, 0x20)
    2622:	3140      	movi      	r1, 64
    2624:	6884      	and      	r2, r1
    2626:	3a40      	cmpnei      	r2, 0
    2628:	0be5      	bt      	0x25f2	// 25f2 <ADCIntHandler+0x12>
	else if((ADC0->SR&ADC12_CMP1L)==ADC12_CMP1L)	//ADC CMP1L interrupt.
    262a:	9348      	ld.w      	r2, (r3, 0x20)
    262c:	3180      	movi      	r1, 128
    262e:	6884      	and      	r2, r1
    2630:	3a40      	cmpnei      	r2, 0
    2632:	0be0      	bt      	0x25f2	// 25f2 <ADCIntHandler+0x12>
	else if((ADC0->SR&ADC12_SEQ_END0)==ADC12_SEQ_END0) //ADC SEQ0 interrupt,SEQ1~SEQ15 replace the parameter with ADC12_SEQ_END1~ADC12_SEQ_END15
    2634:	3280      	movi      	r2, 128
    2636:	9328      	ld.w      	r1, (r3, 0x20)
    2638:	4249      	lsli      	r2, r2, 9
    263a:	6848      	and      	r1, r2
    263c:	3940      	cmpnei      	r1, 0
    263e:	0fdb      	bf      	0x25f4	// 25f4 <ADCIntHandler+0x14>
		ADC0->CSR = ADC12_SEQ_END0;
    2640:	b347      	st.w      	r2, (r3, 0x1c)
}
    2642:	07d9      	br      	0x25f4	// 25f4 <ADCIntHandler+0x14>
    2644:	20000050 	.long	0x20000050

Disassembly of section .text.EPT0IntHandler:

00002648 <EPT0IntHandler>:
//EPT0 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EPT0IntHandler(void) 
{
    2648:	1460      	nie
    264a:	1462      	ipush
    264c:	14d1      	push      	r4, r15
    // ISR content ...
	if((EPT0->MISR&EPT_TRGEV0_INT)==EPT_TRGEV0_INT)			//TRGEV0 interrupt
    264e:	1386      	lrw      	r4, 0x20000020	// 27e4 <EPT0IntHandler+0x19c>
    2650:	3280      	movi      	r2, 128
    2652:	9460      	ld.w      	r3, (r4, 0x0)
    2654:	60c8      	addu      	r3, r2
    2656:	9335      	ld.w      	r1, (r3, 0x54)
    2658:	3001      	movi      	r0, 1
    265a:	6840      	and      	r1, r0
    265c:	3940      	cmpnei      	r1, 0
    265e:	0c03      	bf      	0x2664	// 2664 <EPT0IntHandler+0x1c>
		EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIFT);
		R_CMPB_BUF=EPT0->CMPB;			//Duty counter
	}
	else if((EPT0->MISR&EPT_CAP_LD2)==EPT_CAP_LD2)			//Capture Load to CMPC interrupt
	{
		EPT0->ICR=EPT_CAP_LD2;
    2660:	b317      	st.w      	r0, (r3, 0x5c)
    2662:	0424      	br      	0x26aa	// 26aa <EPT0IntHandler+0x62>
	else if((EPT0->MISR&EPT_TRGEV1_INT)==EPT_TRGEV1_INT)	//TRGEV1 interrupt
    2664:	9335      	ld.w      	r1, (r3, 0x54)
    2666:	3002      	movi      	r0, 2
    2668:	6840      	and      	r1, r0
    266a:	3940      	cmpnei      	r1, 0
    266c:	0bfa      	bt      	0x2660	// 2660 <EPT0IntHandler+0x18>
	else if((EPT0->MISR&EPT_TRGEV2_INT)==EPT_TRGEV2_INT)	//TRGEV2 interrupt
    266e:	9335      	ld.w      	r1, (r3, 0x54)
    2670:	3004      	movi      	r0, 4
    2672:	6840      	and      	r1, r0
    2674:	3940      	cmpnei      	r1, 0
    2676:	0bf5      	bt      	0x2660	// 2660 <EPT0IntHandler+0x18>
	else if((EPT0->MISR&EPT_TRGEV3_INT)==EPT_TRGEV3_INT)	//TRGEV3 interrupt
    2678:	9335      	ld.w      	r1, (r3, 0x54)
    267a:	3008      	movi      	r0, 8
    267c:	6840      	and      	r1, r0
    267e:	3940      	cmpnei      	r1, 0
    2680:	0bf0      	bt      	0x2660	// 2660 <EPT0IntHandler+0x18>
	else if((EPT0->MISR&EPT_CAP_LD0)==EPT_CAP_LD0)			//Capture Load to CMPA interrupt
    2682:	9335      	ld.w      	r1, (r3, 0x54)
    2684:	3010      	movi      	r0, 16
    2686:	6840      	and      	r1, r0
    2688:	3940      	cmpnei      	r1, 0
    268a:	0c1f      	bf      	0x26c8	// 26c8 <EPT0IntHandler+0x80>
		EPT0->ICR=EPT_CAP_LD0;
    268c:	b317      	st.w      	r0, (r3, 0x5c)
		EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIRT);
    268e:	3200      	movi      	r2, 0
    2690:	3101      	movi      	r1, 1
    2692:	3000      	movi      	r0, 0
    2694:	e3fff478 	bsr      	0xf84	// f84 <EXTI_trigger_CMD>
		EXTI_trigger_CMD(ENABLE,EXI_PIN0,_EXIFT);
    2698:	3201      	movi      	r2, 1
    269a:	3101      	movi      	r1, 1
    269c:	3001      	movi      	r0, 1
    269e:	e3fff473 	bsr      	0xf84	// f84 <EXTI_trigger_CMD>
		R_CMPA_BUF=EPT0->CMPA;			//Low voltage counter
    26a2:	9460      	ld.w      	r3, (r4, 0x0)
    26a4:	934b      	ld.w      	r2, (r3, 0x2c)
    26a6:	1271      	lrw      	r3, 0x20000084	// 27e8 <EPT0IntHandler+0x1a0>
		R_CMPB_BUF=EPT0->CMPB;			//Duty counter
    26a8:	b340      	st.w      	r2, (r3, 0x0)
	else if((EPT0->MISR&EPT_PEND)==EPT_PEND)				//End of cycle interrupt
	{
		EPT0->ICR=EPT_PEND;
	}
	//Emergency interruption
	if((EPT0->EMMISR&EPT_EP0_EMINT)==EPT_EP0_EMINT)			//interrupt flag of EP0 event
    26aa:	9460      	ld.w      	r3, (r4, 0x0)
    26ac:	3280      	movi      	r2, 128
    26ae:	60c8      	addu      	r3, r2
    26b0:	932b      	ld.w      	r1, (r3, 0x2c)
    26b2:	3001      	movi      	r0, 1
    26b4:	6840      	and      	r1, r0
    26b6:	3940      	cmpnei      	r1, 0
    26b8:	0c5e      	bf      	0x2774	// 2774 <EPT0IntHandler+0x12c>
	{
		EPT0->EMICR=EPT_EP5_EMINT;
	}
	else if((EPT0->EMMISR&EPT_EP6_EMINT)==EPT_EP6_EMINT)	//interrupt flag of EP6 event
	{
		EPT0->EMICR=EPT_EP6_EMINT;
    26ba:	b30d      	st.w      	r0, (r3, 0x34)
	}
	else if((EPT0->EMMISR&EPT_EOM_FAULT_EMINT)==EPT_EOM_FAULT_EMINT)	//interrupt flag of EOM_FAULT event
	{
		EPT0->EMICR=EPT_EOM_FAULT_EMINT;
	}
}
    26bc:	d9ee2001 	ld.w      	r15, (r14, 0x4)
    26c0:	9880      	ld.w      	r4, (r14, 0x0)
    26c2:	1402      	addi      	r14, r14, 8
    26c4:	1463      	ipop
    26c6:	1461      	nir
	else if((EPT0->MISR&EPT_CAP_LD1)==EPT_CAP_LD1)			//Capture Load to CMPB interrupt
    26c8:	9335      	ld.w      	r1, (r3, 0x54)
    26ca:	3020      	movi      	r0, 32
    26cc:	6840      	and      	r1, r0
    26ce:	3940      	cmpnei      	r1, 0
    26d0:	0c10      	bf      	0x26f0	// 26f0 <EPT0IntHandler+0xa8>
		EPT0->ICR=EPT_CAP_LD1;
    26d2:	b317      	st.w      	r0, (r3, 0x5c)
		EXTI_trigger_CMD(ENABLE,EXI_PIN0,_EXIRT);
    26d4:	3200      	movi      	r2, 0
    26d6:	3101      	movi      	r1, 1
    26d8:	3001      	movi      	r0, 1
    26da:	e3fff455 	bsr      	0xf84	// f84 <EXTI_trigger_CMD>
		EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIFT);
    26de:	3201      	movi      	r2, 1
    26e0:	3101      	movi      	r1, 1
    26e2:	3000      	movi      	r0, 0
    26e4:	e3fff450 	bsr      	0xf84	// f84 <EXTI_trigger_CMD>
		R_CMPB_BUF=EPT0->CMPB;			//Duty counter
    26e8:	9460      	ld.w      	r3, (r4, 0x0)
    26ea:	934c      	ld.w      	r2, (r3, 0x30)
    26ec:	1260      	lrw      	r3, 0x2000007c	// 27ec <EPT0IntHandler+0x1a4>
    26ee:	07dd      	br      	0x26a8	// 26a8 <EPT0IntHandler+0x60>
	else if((EPT0->MISR&EPT_CAP_LD2)==EPT_CAP_LD2)			//Capture Load to CMPC interrupt
    26f0:	9335      	ld.w      	r1, (r3, 0x54)
    26f2:	3040      	movi      	r0, 64
    26f4:	6840      	and      	r1, r0
    26f6:	3940      	cmpnei      	r1, 0
    26f8:	0bb4      	bt      	0x2660	// 2660 <EPT0IntHandler+0x18>
	else if((EPT0->MISR&EPT_CAP_LD3)==EPT_CAP_LD3)			//Capture Load to CMPD interrupt
    26fa:	9335      	ld.w      	r1, (r3, 0x54)
    26fc:	6848      	and      	r1, r2
    26fe:	3940      	cmpnei      	r1, 0
    2700:	0c03      	bf      	0x2706	// 2706 <EPT0IntHandler+0xbe>
		EPT0->ICR=EPT_PEND;
    2702:	b357      	st.w      	r2, (r3, 0x5c)
    2704:	07d3      	br      	0x26aa	// 26aa <EPT0IntHandler+0x62>
	else if((EPT0->MISR&EPT_CAU)==EPT_CAU)					//Up-Counting phase CNT = CMPA interrupt
    2706:	3280      	movi      	r2, 128
    2708:	9335      	ld.w      	r1, (r3, 0x54)
    270a:	4241      	lsli      	r2, r2, 1
    270c:	6848      	and      	r1, r2
    270e:	3940      	cmpnei      	r1, 0
    2710:	0bf9      	bt      	0x2702	// 2702 <EPT0IntHandler+0xba>
	else if((EPT0->MISR&EPT_CAD)==EPT_CAD)					//Down-Counting phase CNT = CMPA interrupt
    2712:	3280      	movi      	r2, 128
    2714:	9335      	ld.w      	r1, (r3, 0x54)
    2716:	4242      	lsli      	r2, r2, 2
    2718:	6848      	and      	r1, r2
    271a:	3940      	cmpnei      	r1, 0
    271c:	0bf3      	bt      	0x2702	// 2702 <EPT0IntHandler+0xba>
	else if((EPT0->MISR&EPT_CBU)==EPT_CBU)					//Up-Counting phase CNT = CMPB interrupt 
    271e:	3280      	movi      	r2, 128
    2720:	9335      	ld.w      	r1, (r3, 0x54)
    2722:	4243      	lsli      	r2, r2, 3
    2724:	6848      	and      	r1, r2
    2726:	3940      	cmpnei      	r1, 0
    2728:	0bed      	bt      	0x2702	// 2702 <EPT0IntHandler+0xba>
	else if((EPT0->MISR&EPT_CBD)==EPT_CBD)					//Down-Counting phase CNT = CMPB interrupt
    272a:	3280      	movi      	r2, 128
    272c:	9335      	ld.w      	r1, (r3, 0x54)
    272e:	4244      	lsli      	r2, r2, 4
    2730:	6848      	and      	r1, r2
    2732:	3940      	cmpnei      	r1, 0
    2734:	0be7      	bt      	0x2702	// 2702 <EPT0IntHandler+0xba>
	else if((EPT0->MISR&EPT_CCU)==EPT_CCU)					//Up-Counting phase CNT = CMPC interrupt 
    2736:	3280      	movi      	r2, 128
    2738:	9335      	ld.w      	r1, (r3, 0x54)
    273a:	4245      	lsli      	r2, r2, 5
    273c:	6848      	and      	r1, r2
    273e:	3940      	cmpnei      	r1, 0
    2740:	0be1      	bt      	0x2702	// 2702 <EPT0IntHandler+0xba>
	else if((EPT0->MISR&EPT_CCD)==EPT_CCD)					//Down-Counting phase CNT = CMPC interrupt
    2742:	3280      	movi      	r2, 128
    2744:	9335      	ld.w      	r1, (r3, 0x54)
    2746:	4246      	lsli      	r2, r2, 6
    2748:	6848      	and      	r1, r2
    274a:	3940      	cmpnei      	r1, 0
    274c:	0bdb      	bt      	0x2702	// 2702 <EPT0IntHandler+0xba>
	else if((EPT0->MISR&EPT_CDU)==EPT_CDU)					//Up-Counting phase CNT = CMPD interrupt
    274e:	3280      	movi      	r2, 128
    2750:	9335      	ld.w      	r1, (r3, 0x54)
    2752:	4247      	lsli      	r2, r2, 7
    2754:	6848      	and      	r1, r2
    2756:	3940      	cmpnei      	r1, 0
    2758:	0bd5      	bt      	0x2702	// 2702 <EPT0IntHandler+0xba>
	else if((EPT0->MISR&EPT_CDD)==EPT_CDD)					//Down-Counting phase CNT = CMPD interrupt
    275a:	3280      	movi      	r2, 128
    275c:	9335      	ld.w      	r1, (r3, 0x54)
    275e:	4248      	lsli      	r2, r2, 8
    2760:	6848      	and      	r1, r2
    2762:	3940      	cmpnei      	r1, 0
    2764:	0bcf      	bt      	0x2702	// 2702 <EPT0IntHandler+0xba>
	else if((EPT0->MISR&EPT_PEND)==EPT_PEND)				//End of cycle interrupt
    2766:	3280      	movi      	r2, 128
    2768:	9335      	ld.w      	r1, (r3, 0x54)
    276a:	4249      	lsli      	r2, r2, 9
    276c:	6848      	and      	r1, r2
    276e:	3940      	cmpnei      	r1, 0
    2770:	0f9d      	bf      	0x26aa	// 26aa <EPT0IntHandler+0x62>
    2772:	07c8      	br      	0x2702	// 2702 <EPT0IntHandler+0xba>
	else if((EPT0->EMMISR&EPT_EP1_EMINT)==EPT_EP1_EMINT)	//interrupt flag of EP1 event
    2774:	932b      	ld.w      	r1, (r3, 0x2c)
    2776:	3002      	movi      	r0, 2
    2778:	6840      	and      	r1, r0
    277a:	3940      	cmpnei      	r1, 0
    277c:	0b9f      	bt      	0x26ba	// 26ba <EPT0IntHandler+0x72>
	else if((EPT0->EMMISR&EPT_EP2_EMINT)==EPT_EP2_EMINT)	//interrupt flag of EP2 event
    277e:	932b      	ld.w      	r1, (r3, 0x2c)
    2780:	3004      	movi      	r0, 4
    2782:	6840      	and      	r1, r0
    2784:	3940      	cmpnei      	r1, 0
    2786:	0b9a      	bt      	0x26ba	// 26ba <EPT0IntHandler+0x72>
	else if((EPT0->EMMISR&EPT_EP3_EMINT)==EPT_EP3_EMINT)	//interrupt flag of EP3 event
    2788:	932b      	ld.w      	r1, (r3, 0x2c)
    278a:	3008      	movi      	r0, 8
    278c:	6840      	and      	r1, r0
    278e:	3940      	cmpnei      	r1, 0
    2790:	0b95      	bt      	0x26ba	// 26ba <EPT0IntHandler+0x72>
	else if((EPT0->EMMISR&EPT_EP4_EMINT)==EPT_EP4_EMINT)	//interrupt flag of EP4 event
    2792:	932b      	ld.w      	r1, (r3, 0x2c)
    2794:	3010      	movi      	r0, 16
    2796:	6840      	and      	r1, r0
    2798:	3940      	cmpnei      	r1, 0
    279a:	0b90      	bt      	0x26ba	// 26ba <EPT0IntHandler+0x72>
	else if((EPT0->EMMISR&EPT_EP5_EMINT)==EPT_EP5_EMINT)	//interrupt flag of EP5 event
    279c:	932b      	ld.w      	r1, (r3, 0x2c)
    279e:	3020      	movi      	r0, 32
    27a0:	6840      	and      	r1, r0
    27a2:	3940      	cmpnei      	r1, 0
    27a4:	0b8b      	bt      	0x26ba	// 26ba <EPT0IntHandler+0x72>
	else if((EPT0->EMMISR&EPT_EP6_EMINT)==EPT_EP6_EMINT)	//interrupt flag of EP6 event
    27a6:	932b      	ld.w      	r1, (r3, 0x2c)
    27a8:	3040      	movi      	r0, 64
    27aa:	6840      	and      	r1, r0
    27ac:	3940      	cmpnei      	r1, 0
    27ae:	0b86      	bt      	0x26ba	// 26ba <EPT0IntHandler+0x72>
	else if((EPT0->EMMISR&EPT_EP7_EMINT)==EPT_EP7_EMINT)	//interrupt flag of EP7 event
    27b0:	932b      	ld.w      	r1, (r3, 0x2c)
    27b2:	6848      	and      	r1, r2
    27b4:	3940      	cmpnei      	r1, 0
    27b6:	0c03      	bf      	0x27bc	// 27bc <EPT0IntHandler+0x174>
		EPT0->EMICR=EPT_EOM_FAULT_EMINT;
    27b8:	b34d      	st.w      	r2, (r3, 0x34)
}
    27ba:	0781      	br      	0x26bc	// 26bc <EPT0IntHandler+0x74>
	else if((EPT0->EMMISR&EPT_CPU_FAULT_EMINT)==EPT_CPU_FAULT_EMINT)	//interrupt flag of CPU_FAULT event
    27bc:	3280      	movi      	r2, 128
    27be:	932b      	ld.w      	r1, (r3, 0x2c)
    27c0:	4241      	lsli      	r2, r2, 1
    27c2:	6848      	and      	r1, r2
    27c4:	3940      	cmpnei      	r1, 0
    27c6:	0bf9      	bt      	0x27b8	// 27b8 <EPT0IntHandler+0x170>
	else if((EPT0->EMMISR&EPT_MEM_FAULT_EMINT)==EPT_MEM_FAULT_EMINT)	//interrupt flag of MEM_FAULT event
    27c8:	3280      	movi      	r2, 128
    27ca:	932b      	ld.w      	r1, (r3, 0x2c)
    27cc:	4242      	lsli      	r2, r2, 2
    27ce:	6848      	and      	r1, r2
    27d0:	3940      	cmpnei      	r1, 0
    27d2:	0bf3      	bt      	0x27b8	// 27b8 <EPT0IntHandler+0x170>
	else if((EPT0->EMMISR&EPT_EOM_FAULT_EMINT)==EPT_EOM_FAULT_EMINT)	//interrupt flag of EOM_FAULT event
    27d4:	3280      	movi      	r2, 128
    27d6:	932b      	ld.w      	r1, (r3, 0x2c)
    27d8:	4243      	lsli      	r2, r2, 3
    27da:	6848      	and      	r1, r2
    27dc:	3940      	cmpnei      	r1, 0
    27de:	0bed      	bt      	0x27b8	// 27b8 <EPT0IntHandler+0x170>
    27e0:	076e      	br      	0x26bc	// 26bc <EPT0IntHandler+0x74>
    27e2:	0000      	bkpt
    27e4:	20000020 	.long	0x20000020
    27e8:	20000084 	.long	0x20000084
    27ec:	2000007c 	.long	0x2000007c

Disassembly of section .text.WWDTHandler:

000027f0 <WWDTHandler>:
//WWDT Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void WWDTHandler(void)
{
    27f0:	1460      	nie
    27f2:	1462      	ipush
    27f4:	14d2      	push      	r4-r5, r15
	WWDT->ICR=0X01;
    27f6:	10ab      	lrw      	r5, 0x20000010	// 2820 <WWDTHandler+0x30>
    27f8:	3401      	movi      	r4, 1
    27fa:	9560      	ld.w      	r3, (r5, 0x0)
    27fc:	b385      	st.w      	r4, (r3, 0x14)
	WWDT_CNT_Load(0xFF);
    27fe:	30ff      	movi      	r0, 255
    2800:	e3fff55a 	bsr      	0x12b4	// 12b4 <WWDT_CNT_Load>
	if((WWDT->MISR&WWDT_EVI)==WWDT_EVI)					//WWDT EVI interrupt
    2804:	9540      	ld.w      	r2, (r5, 0x0)
    2806:	9263      	ld.w      	r3, (r2, 0xc)
    2808:	68d0      	and      	r3, r4
    280a:	3b40      	cmpnei      	r3, 0
    280c:	0c02      	bf      	0x2810	// 2810 <WWDTHandler+0x20>
	{
		WWDT->ICR = WWDT_EVI;
    280e:	b285      	st.w      	r4, (r2, 0x14)
	} 
}
    2810:	d9ee2002 	ld.w      	r15, (r14, 0x8)
    2814:	98a1      	ld.w      	r5, (r14, 0x4)
    2816:	9880      	ld.w      	r4, (r14, 0x0)
    2818:	1403      	addi      	r14, r14, 12
    281a:	1463      	ipop
    281c:	1461      	nir
    281e:	0000      	bkpt
    2820:	20000010 	.long	0x20000010

Disassembly of section .text.GPT0IntHandler:

00002824 <GPT0IntHandler>:
//GPT0 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void GPT0IntHandler(void) 
{
    2824:	1460      	nie
    2826:	1462      	ipush
    2828:	14d0      	push      	r15
    // ISR content ...
	if((GPT0->MISR&GPT_INT_TRGEV0)==GPT_INT_TRGEV0)			//TRGEV0 interrupt
    282a:	1161      	lrw      	r3, 0x20000024	// 28ac <GPT0IntHandler+0x88>
    282c:	3101      	movi      	r1, 1
    282e:	9360      	ld.w      	r3, (r3, 0x0)
    2830:	237f      	addi      	r3, 128
    2832:	9355      	ld.w      	r2, (r3, 0x54)
    2834:	6884      	and      	r2, r1
    2836:	3a40      	cmpnei      	r2, 0
    2838:	0c07      	bf      	0x2846	// 2846 <GPT0IntHandler+0x22>
	{
		GPT0->ICR = GPT_INT_CAPLD0;
	}
	else if((GPT0->MISR&GPT_INT_CAPLD1)==GPT_INT_CAPLD1)		//Capture Load to CMPB interrupt
	{
		GPT0->ICR = GPT_INT_CAPLD1;
    283a:	b337      	st.w      	r1, (r3, 0x5c)
		GPT0->ICR = GPT_INT_PEND;
		
		//2024-06-16 修改 单独用于PWM 1ms定时控制
		PWM_Timer_1ms_Task();	
	}
}
    283c:	d9ee2000 	ld.w      	r15, (r14, 0x0)
    2840:	1401      	addi      	r14, r14, 4
    2842:	1463      	ipop
    2844:	1461      	nir
	else if((GPT0->MISR&GPT_INT_TRGEV1)==GPT_INT_TRGEV1)	//TRGEV1 interrupt
    2846:	9355      	ld.w      	r2, (r3, 0x54)
    2848:	3102      	movi      	r1, 2
    284a:	6884      	and      	r2, r1
    284c:	3a40      	cmpnei      	r2, 0
    284e:	0bf6      	bt      	0x283a	// 283a <GPT0IntHandler+0x16>
	else if((GPT0->MISR&GPT_INT_CAPLD0)==GPT_INT_CAPLD0)		//Capture Load to CMPA interrupt
    2850:	9355      	ld.w      	r2, (r3, 0x54)
    2852:	3110      	movi      	r1, 16
    2854:	6884      	and      	r2, r1
    2856:	3a40      	cmpnei      	r2, 0
    2858:	0bf1      	bt      	0x283a	// 283a <GPT0IntHandler+0x16>
	else if((GPT0->MISR&GPT_INT_CAPLD1)==GPT_INT_CAPLD1)		//Capture Load to CMPB interrupt
    285a:	9355      	ld.w      	r2, (r3, 0x54)
    285c:	3120      	movi      	r1, 32
    285e:	6884      	and      	r2, r1
    2860:	3a40      	cmpnei      	r2, 0
    2862:	0bec      	bt      	0x283a	// 283a <GPT0IntHandler+0x16>
	else if((GPT0->MISR&GPT_INT_CAU)==GPT_INT_CAU)			//Up-Counting phase CNT = CMPA Interrupt
    2864:	3280      	movi      	r2, 128
    2866:	9335      	ld.w      	r1, (r3, 0x54)
    2868:	4241      	lsli      	r2, r2, 1
    286a:	6848      	and      	r1, r2
    286c:	3940      	cmpnei      	r1, 0
    286e:	0c03      	bf      	0x2874	// 2874 <GPT0IntHandler+0x50>
		GPT0->ICR = GPT_INT_CBD;
    2870:	b357      	st.w      	r2, (r3, 0x5c)
    2872:	07e5      	br      	0x283c	// 283c <GPT0IntHandler+0x18>
	else if((GPT0->MISR&GPT_INT_CAD)==GPT_INT_CAD)			//Down-Counting phase CNT = CMPA Interrupt
    2874:	3280      	movi      	r2, 128
    2876:	9335      	ld.w      	r1, (r3, 0x54)
    2878:	4242      	lsli      	r2, r2, 2
    287a:	6848      	and      	r1, r2
    287c:	3940      	cmpnei      	r1, 0
    287e:	0bf9      	bt      	0x2870	// 2870 <GPT0IntHandler+0x4c>
	else if((GPT0->MISR&GPT_INT_CBU)==GPT_INT_CBU)			//Up-Counting phase CNT = CMPB Interrupt
    2880:	3280      	movi      	r2, 128
    2882:	9335      	ld.w      	r1, (r3, 0x54)
    2884:	4243      	lsli      	r2, r2, 3
    2886:	6848      	and      	r1, r2
    2888:	3940      	cmpnei      	r1, 0
    288a:	0bf3      	bt      	0x2870	// 2870 <GPT0IntHandler+0x4c>
	else if((GPT0->MISR&GPT_INT_CBD)==GPT_INT_CBD)			//Down-Counting phase CNT = CMPB Interrupt
    288c:	3280      	movi      	r2, 128
    288e:	9335      	ld.w      	r1, (r3, 0x54)
    2890:	4244      	lsli      	r2, r2, 4
    2892:	6848      	and      	r1, r2
    2894:	3940      	cmpnei      	r1, 0
    2896:	0bed      	bt      	0x2870	// 2870 <GPT0IntHandler+0x4c>
	else if((GPT0->MISR&GPT_INT_PEND)==GPT_INT_PEND)		//End of cycle interrupt 
    2898:	3280      	movi      	r2, 128
    289a:	9335      	ld.w      	r1, (r3, 0x54)
    289c:	4249      	lsli      	r2, r2, 9
    289e:	6848      	and      	r1, r2
    28a0:	3940      	cmpnei      	r1, 0
    28a2:	0fcd      	bf      	0x283c	// 283c <GPT0IntHandler+0x18>
		GPT0->ICR = GPT_INT_PEND;
    28a4:	b357      	st.w      	r2, (r3, 0x5c)
		PWM_Timer_1ms_Task();	
    28a6:	e0001435 	bsr      	0x5110	// 5110 <PWM_Timer_1ms_Task>
}
    28aa:	07c9      	br      	0x283c	// 283c <GPT0IntHandler+0x18>
    28ac:	20000024 	.long	0x20000024

Disassembly of section .text.RTCIntHandler:

000028b0 <RTCIntHandler>:
//RTC Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void RTCIntHandler(void) 
{
    28b0:	1460      	nie
    28b2:	1462      	ipush
    // ISR content ...
	if((RTC->MISR&ALRA_INT)==ALRA_INT)			//Interrupt of alarm A
    28b4:	1079      	lrw      	r3, 0x20000018	// 2918 <RTCIntHandler+0x68>
    28b6:	3101      	movi      	r1, 1
    28b8:	9360      	ld.w      	r3, (r3, 0x0)
    28ba:	934a      	ld.w      	r2, (r3, 0x28)
    28bc:	6884      	and      	r2, r1
    28be:	3a40      	cmpnei      	r2, 0
    28c0:	0c14      	bf      	0x28e8	// 28e8 <RTCIntHandler+0x38>
	{
		RTC->ICR=ALRA_INT;
		RTC->KEY=0XCA53;
    28c2:	1057      	lrw      	r2, 0xca53	// 291c <RTCIntHandler+0x6c>
		RTC->ICR=ALRA_INT;
    28c4:	b32b      	st.w      	r1, (r3, 0x2c)
		RTC->KEY=0XCA53;
    28c6:	b34c      	st.w      	r2, (r3, 0x30)
		RTC->CR=RTC->CR|0x01;
    28c8:	9342      	ld.w      	r2, (r3, 0x8)
    28ca:	6c84      	or      	r2, r1
    28cc:	b342      	st.w      	r2, (r3, 0x8)
		RTC->TIMR=(0x10<<16)|(0x00<<8)|(0x00);			//Hour bit6->0:am 1:pm	
    28ce:	3280      	movi      	r2, 128
    28d0:	424d      	lsli      	r2, r2, 13
    28d2:	b340      	st.w      	r2, (r3, 0x0)
		while(RTC->CR&0x02);							//busy TIMR DATR ALRAR ALRBR Update done
    28d4:	3102      	movi      	r1, 2
    28d6:	9342      	ld.w      	r2, (r3, 0x8)
    28d8:	6884      	and      	r2, r1
    28da:	3a40      	cmpnei      	r2, 0
    28dc:	0bfd      	bt      	0x28d6	// 28d6 <RTCIntHandler+0x26>
		RTC->CR &= ~0x1;
    28de:	9342      	ld.w      	r2, (r3, 0x8)
    28e0:	3a80      	bclri      	r2, 0
    28e2:	b342      	st.w      	r2, (r3, 0x8)
	}
	else if((RTC->MISR&RTC_TRGEV1_INT)==RTC_TRGEV1_INT)		//Interrupt of trigger event 1
	{
		RTC->ICR=RTC_TRGEV1_INT;
	}
}
    28e4:	1463      	ipop
    28e6:	1461      	nir
	else if((RTC->MISR&ALRB_INT)==ALRB_INT)			//Interrupt of alarm B				
    28e8:	934a      	ld.w      	r2, (r3, 0x28)
    28ea:	3102      	movi      	r1, 2
    28ec:	6884      	and      	r2, r1
    28ee:	3a40      	cmpnei      	r2, 0
    28f0:	0c03      	bf      	0x28f6	// 28f6 <RTCIntHandler+0x46>
		RTC->ICR=RTC_TRGEV1_INT;
    28f2:	b32b      	st.w      	r1, (r3, 0x2c)
}
    28f4:	07f8      	br      	0x28e4	// 28e4 <RTCIntHandler+0x34>
	else if((RTC->MISR&CPRD_INT)==CPRD_INT)			//Interrupt of alarm CPRD
    28f6:	934a      	ld.w      	r2, (r3, 0x28)
    28f8:	3104      	movi      	r1, 4
    28fa:	6884      	and      	r2, r1
    28fc:	3a40      	cmpnei      	r2, 0
    28fe:	0bfa      	bt      	0x28f2	// 28f2 <RTCIntHandler+0x42>
	else if((RTC->MISR&RTC_TRGEV0_INT)==RTC_TRGEV0_INT)		//Interrupt of trigger event 0
    2900:	934a      	ld.w      	r2, (r3, 0x28)
    2902:	3108      	movi      	r1, 8
    2904:	6884      	and      	r2, r1
    2906:	3a40      	cmpnei      	r2, 0
    2908:	0bf5      	bt      	0x28f2	// 28f2 <RTCIntHandler+0x42>
	else if((RTC->MISR&RTC_TRGEV1_INT)==RTC_TRGEV1_INT)		//Interrupt of trigger event 1
    290a:	934a      	ld.w      	r2, (r3, 0x28)
    290c:	3110      	movi      	r1, 16
    290e:	6884      	and      	r2, r1
    2910:	3a40      	cmpnei      	r2, 0
    2912:	0bf0      	bt      	0x28f2	// 28f2 <RTCIntHandler+0x42>
    2914:	07e8      	br      	0x28e4	// 28e4 <RTCIntHandler+0x34>
    2916:	0000      	bkpt
    2918:	20000018 	.long	0x20000018
    291c:	0000ca53 	.long	0x0000ca53

Disassembly of section .text.UART0IntHandler:

00002920 <UART0IntHandler>:
//UART0 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void UART0IntHandler(void) 
{
    2920:	1460      	nie
    2922:	1462      	ipush
    2924:	14d0      	push      	r15
	char inchar = 0;
	
    // ISR content ...
	if ((UART0->ISR&UART_RX_INT_S)==UART_RX_INT_S)				//RX interrupt
    2926:	1073      	lrw      	r3, 0x20000040	// 2970 <UART0IntHandler+0x50>
    2928:	3102      	movi      	r1, 2
    292a:	9360      	ld.w      	r3, (r3, 0x0)
    292c:	9343      	ld.w      	r2, (r3, 0xc)
    292e:	6884      	and      	r2, r1
    2930:	3a40      	cmpnei      	r2, 0
    2932:	0c08      	bf      	0x2942	// 2942 <UART0IntHandler+0x22>
	{
		UART0->ISR=UART_RX_INT_S;
    2934:	b323      	st.w      	r1, (r3, 0xc)
		inchar = CSP_UART_GET_DATA(UART0);
    2936:	9360      	ld.w      	r3, (r3, 0x0)
	}
	else if ((UART0->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)			//TX overrun interrupt
	{
		UART0->ISR=UART_TX_IOV_S;
	}
}
    2938:	d9ee2000 	ld.w      	r15, (r14, 0x0)
    293c:	1401      	addi      	r14, r14, 4
    293e:	1463      	ipop
    2940:	1461      	nir
	else if( (UART0->ISR&UART_TX_INT_S)==UART_TX_INT_S ) 		//TX interrupt
    2942:	9343      	ld.w      	r2, (r3, 0xc)
    2944:	3101      	movi      	r1, 1
    2946:	6884      	and      	r2, r1
    2948:	3a40      	cmpnei      	r2, 0
    294a:	0c05      	bf      	0x2954	// 2954 <UART0IntHandler+0x34>
		UART0->ISR=UART_TX_INT_S;
    294c:	b323      	st.w      	r1, (r3, 0xc)
		PB_Send_String_INT();
    294e:	e0000431 	bsr      	0x31b0	// 31b0 <PB_Send_String_INT>
    2952:	07f3      	br      	0x2938	// 2938 <UART0IntHandler+0x18>
	else if ((UART0->ISR&UART_RX_IOV_S)==UART_RX_IOV_S)			//RX overrun interrupt
    2954:	9343      	ld.w      	r2, (r3, 0xc)
    2956:	3108      	movi      	r1, 8
    2958:	6884      	and      	r2, r1
    295a:	3a40      	cmpnei      	r2, 0
    295c:	0c03      	bf      	0x2962	// 2962 <UART0IntHandler+0x42>
		UART0->ISR=UART_TX_IOV_S;
    295e:	b323      	st.w      	r1, (r3, 0xc)
}
    2960:	07ec      	br      	0x2938	// 2938 <UART0IntHandler+0x18>
	else if ((UART0->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)			//TX overrun interrupt
    2962:	9343      	ld.w      	r2, (r3, 0xc)
    2964:	3104      	movi      	r1, 4
    2966:	6884      	and      	r2, r1
    2968:	3a40      	cmpnei      	r2, 0
    296a:	0bfa      	bt      	0x295e	// 295e <UART0IntHandler+0x3e>
    296c:	07e6      	br      	0x2938	// 2938 <UART0IntHandler+0x18>
    296e:	0000      	bkpt
    2970:	20000040 	.long	0x20000040

Disassembly of section .text.UART1IntHandler:

00002974 <UART1IntHandler>:
//UART1 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void UART1IntHandler(void) 
{
    2974:	1460      	nie
    2976:	1462      	ipush
    2978:	14d0      	push      	r15
	char inchar = 0;
	
    // ISR content ...
	if ((UART1->ISR&UART_RX_INT_S)==UART_RX_INT_S)				//RX interrupt
    297a:	1072      	lrw      	r3, 0x2000003c	// 29c0 <UART1IntHandler+0x4c>
    297c:	3102      	movi      	r1, 2
    297e:	9360      	ld.w      	r3, (r3, 0x0)
    2980:	9343      	ld.w      	r2, (r3, 0xc)
    2982:	6884      	and      	r2, r1
    2984:	3a40      	cmpnei      	r2, 0
    2986:	0c0b      	bf      	0x299c	// 299c <UART1IntHandler+0x28>
	{
		UART1->ISR=UART_RX_INT_S;
    2988:	b323      	st.w      	r1, (r3, 0xc)
		inchar = CSP_UART_GET_DATA(UART1);
    298a:	9300      	ld.w      	r0, (r3, 0x0)
		UART1_RecvINT_Processing(inchar);
    298c:	7400      	zextb      	r0, r0
    298e:	e00002c3 	bsr      	0x2f14	// 2f14 <UART1_RecvINT_Processing>
	}
	else if ((UART1->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)			//TX overrun interrupt
	{
		UART1->ISR=UART_TX_IOV_S;
	}
}
    2992:	d9ee2000 	ld.w      	r15, (r14, 0x0)
    2996:	1401      	addi      	r14, r14, 4
    2998:	1463      	ipop
    299a:	1461      	nir
	else if( (UART1->ISR&UART_TX_INT_S)==UART_TX_INT_S ) 		//TX interrupt
    299c:	9343      	ld.w      	r2, (r3, 0xc)
    299e:	3101      	movi      	r1, 1
    29a0:	6884      	and      	r2, r1
    29a2:	3a40      	cmpnei      	r2, 0
    29a4:	0c03      	bf      	0x29aa	// 29aa <UART1IntHandler+0x36>
		UART1->ISR=UART_TX_IOV_S;
    29a6:	b323      	st.w      	r1, (r3, 0xc)
}
    29a8:	07f5      	br      	0x2992	// 2992 <UART1IntHandler+0x1e>
	else if ((UART1->ISR&UART_RX_IOV_S)==UART_RX_IOV_S)			//RX overrun interrupt
    29aa:	9343      	ld.w      	r2, (r3, 0xc)
    29ac:	3108      	movi      	r1, 8
    29ae:	6884      	and      	r2, r1
    29b0:	3a40      	cmpnei      	r2, 0
    29b2:	0bfa      	bt      	0x29a6	// 29a6 <UART1IntHandler+0x32>
	else if ((UART1->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)			//TX overrun interrupt
    29b4:	9343      	ld.w      	r2, (r3, 0xc)
    29b6:	3104      	movi      	r1, 4
    29b8:	6884      	and      	r2, r1
    29ba:	3a40      	cmpnei      	r2, 0
    29bc:	0bf5      	bt      	0x29a6	// 29a6 <UART1IntHandler+0x32>
    29be:	07ea      	br      	0x2992	// 2992 <UART1IntHandler+0x1e>
    29c0:	2000003c 	.long	0x2000003c

Disassembly of section .text.UART2IntHandler:

000029c4 <UART2IntHandler>:
//UART2 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void UART2IntHandler(void) 
{
    29c4:	1460      	nie
    29c6:	1462      	ipush
    // ISR content ...
	if ((UART2->ISR&UART_RX_INT_S)==UART_RX_INT_S)				//RX interrupt
    29c8:	106d      	lrw      	r3, 0x20000038	// 29fc <UART2IntHandler+0x38>
    29ca:	3102      	movi      	r1, 2
    29cc:	9360      	ld.w      	r3, (r3, 0x0)
    29ce:	9343      	ld.w      	r2, (r3, 0xc)
    29d0:	6884      	and      	r2, r1
    29d2:	3a40      	cmpnei      	r2, 0
    29d4:	0c03      	bf      	0x29da	// 29da <UART2IntHandler+0x16>
	{
		UART2->ISR=UART_RX_IOV_S;
	}
	else if ((UART2->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)			//TX overrun interrupt
	{
		UART2->ISR=UART_TX_IOV_S;
    29d6:	b323      	st.w      	r1, (r3, 0xc)
	}
}
    29d8:	0410      	br      	0x29f8	// 29f8 <UART2IntHandler+0x34>
	else if( (UART2->ISR&UART_TX_INT_S)==UART_TX_INT_S ) 		//TX interrupt
    29da:	9343      	ld.w      	r2, (r3, 0xc)
    29dc:	3101      	movi      	r1, 1
    29de:	6884      	and      	r2, r1
    29e0:	3a40      	cmpnei      	r2, 0
    29e2:	0bfa      	bt      	0x29d6	// 29d6 <UART2IntHandler+0x12>
	else if ((UART2->ISR&UART_RX_IOV_S)==UART_RX_IOV_S)			//RX overrun interrupt
    29e4:	9343      	ld.w      	r2, (r3, 0xc)
    29e6:	3108      	movi      	r1, 8
    29e8:	6884      	and      	r2, r1
    29ea:	3a40      	cmpnei      	r2, 0
    29ec:	0bf5      	bt      	0x29d6	// 29d6 <UART2IntHandler+0x12>
	else if ((UART2->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)			//TX overrun interrupt
    29ee:	9343      	ld.w      	r2, (r3, 0xc)
    29f0:	3104      	movi      	r1, 4
    29f2:	6884      	and      	r2, r1
    29f4:	3a40      	cmpnei      	r2, 0
    29f6:	0bf0      	bt      	0x29d6	// 29d6 <UART2IntHandler+0x12>
}
    29f8:	1463      	ipop
    29fa:	1461      	nir
    29fc:	20000038 	.long	0x20000038

Disassembly of section .text.SPI0IntHandler:

00002a00 <SPI0IntHandler>:
//SPI Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void SPI0IntHandler(void) 
{
    2a00:	1460      	nie
    2a02:	1462      	ipush
    // ISR content ...
	if((SPI0->MISR&SPI_PORIM)==SPI_PORIM)					//Receive Overrun Interrupt
    2a04:	1178      	lrw      	r3, 0x20000034	// 2ae4 <SPI0IntHandler+0xe4>
    2a06:	3101      	movi      	r1, 1
    2a08:	9360      	ld.w      	r3, (r3, 0x0)
    2a0a:	9347      	ld.w      	r2, (r3, 0x1c)
    2a0c:	6884      	and      	r2, r1
    2a0e:	3a40      	cmpnei      	r2, 0
    2a10:	0c03      	bf      	0x2a16	// 2a16 <SPI0IntHandler+0x16>
			}
		}
	}
	else if((SPI0->MISR&SPI_TXIM)==SPI_TXIM)				//Transmit FIFO Interrupt
	{
		SPI0->ICR = SPI_TXIM;
    2a12:	b328      	st.w      	r1, (r3, 0x20)
	}

}
    2a14:	0407      	br      	0x2a22	// 2a22 <SPI0IntHandler+0x22>
	else if((SPI0->MISR&SPI_RTIM)==SPI_RTIM)				//Receive Timeout Interrupt
    2a16:	9347      	ld.w      	r2, (r3, 0x1c)
    2a18:	3002      	movi      	r0, 2
    2a1a:	6880      	and      	r2, r0
    2a1c:	3a40      	cmpnei      	r2, 0
    2a1e:	0c04      	bf      	0x2a26	// 2a26 <SPI0IntHandler+0x26>
		SPI0->ICR = SPI_RTIM;
    2a20:	b308      	st.w      	r0, (r3, 0x20)
}
    2a22:	1463      	ipop
    2a24:	1461      	nir
	else if((SPI0->MISR&SPI_RXIM)==SPI_RXIM)				//Receive FIFO Interrupt,FIFO can be set 1/8,1/4,1/2 FIFO Interrupt
    2a26:	9347      	ld.w      	r2, (r3, 0x1c)
    2a28:	3004      	movi      	r0, 4
    2a2a:	6880      	and      	r2, r0
    2a2c:	3a40      	cmpnei      	r2, 0
    2a2e:	0c55      	bf      	0x2ad8	// 2ad8 <SPI0IntHandler+0xd8>
		SPI0->ICR = SPI_RXIM;
    2a30:	b308      	st.w      	r0, (r3, 0x20)
		if(SPI0->DR==0xaa)
    2a32:	9302      	ld.w      	r0, (r3, 0x8)
    2a34:	32aa      	movi      	r2, 170
    2a36:	6482      	cmpne      	r0, r2
    2a38:	083e      	bt      	0x2ab4	// 2ab4 <SPI0IntHandler+0xb4>
			while(((SPI0->SR) & SSP_TNF) != SSP_TNF);	//Transmit FIFO is not full？
    2a3a:	3102      	movi      	r1, 2
    2a3c:	9343      	ld.w      	r2, (r3, 0xc)
    2a3e:	6884      	and      	r2, r1
    2a40:	3a40      	cmpnei      	r2, 0
    2a42:	0ffd      	bf      	0x2a3c	// 2a3c <SPI0IntHandler+0x3c>
			SPI0->DR = 0x11;
    2a44:	3211      	movi      	r2, 17
    2a46:	b342      	st.w      	r2, (r3, 0x8)
			while(((SPI0->SR) & SSP_BSY) == SSP_BSY);	//Send or receive over？
    2a48:	3110      	movi      	r1, 16
    2a4a:	9343      	ld.w      	r2, (r3, 0xc)
    2a4c:	6884      	and      	r2, r1
    2a4e:	3a40      	cmpnei      	r2, 0
    2a50:	0bfd      	bt      	0x2a4a	// 2a4a <SPI0IntHandler+0x4a>
			while(((SPI0->SR) & SSP_TNF) != SSP_TNF);	//Transmit FIFO is not full？
    2a52:	3102      	movi      	r1, 2
    2a54:	9343      	ld.w      	r2, (r3, 0xc)
    2a56:	6884      	and      	r2, r1
    2a58:	3a40      	cmpnei      	r2, 0
    2a5a:	0ffd      	bf      	0x2a54	// 2a54 <SPI0IntHandler+0x54>
			SPI0->DR = 0x12;
    2a5c:	3212      	movi      	r2, 18
    2a5e:	b342      	st.w      	r2, (r3, 0x8)
			while(((SPI0->SR) & SSP_BSY) == SSP_BSY);	//Send or receive over？
    2a60:	3110      	movi      	r1, 16
    2a62:	9343      	ld.w      	r2, (r3, 0xc)
    2a64:	6884      	and      	r2, r1
    2a66:	3a40      	cmpnei      	r2, 0
    2a68:	0bfd      	bt      	0x2a62	// 2a62 <SPI0IntHandler+0x62>
			while(((SPI0->SR) & SSP_TNF) != SSP_TNF);	//Transmit FIFO is not full？
    2a6a:	3102      	movi      	r1, 2
    2a6c:	9343      	ld.w      	r2, (r3, 0xc)
    2a6e:	6884      	and      	r2, r1
    2a70:	3a40      	cmpnei      	r2, 0
    2a72:	0ffd      	bf      	0x2a6c	// 2a6c <SPI0IntHandler+0x6c>
			SPI0->DR = 0x13;
    2a74:	3213      	movi      	r2, 19
    2a76:	b342      	st.w      	r2, (r3, 0x8)
			while(((SPI0->SR) & SSP_BSY) == SSP_BSY);	//Send or receive over？
    2a78:	3110      	movi      	r1, 16
    2a7a:	9343      	ld.w      	r2, (r3, 0xc)
    2a7c:	6884      	and      	r2, r1
    2a7e:	3a40      	cmpnei      	r2, 0
    2a80:	0bfd      	bt      	0x2a7a	// 2a7a <SPI0IntHandler+0x7a>
			while(((SPI0->SR) & SSP_TNF) != SSP_TNF);	//Transmit FIFO is not full？
    2a82:	3102      	movi      	r1, 2
    2a84:	9343      	ld.w      	r2, (r3, 0xc)
    2a86:	6884      	and      	r2, r1
    2a88:	3a40      	cmpnei      	r2, 0
    2a8a:	0ffd      	bf      	0x2a84	// 2a84 <SPI0IntHandler+0x84>
			SPI0->DR = 0x14;
    2a8c:	3214      	movi      	r2, 20
    2a8e:	b342      	st.w      	r2, (r3, 0x8)
			while(((SPI0->SR) & SSP_BSY) == SSP_BSY);	//Send or receive over？
    2a90:	3110      	movi      	r1, 16
    2a92:	9343      	ld.w      	r2, (r3, 0xc)
    2a94:	6884      	and      	r2, r1
    2a96:	3a40      	cmpnei      	r2, 0
    2a98:	0bfd      	bt      	0x2a92	// 2a92 <SPI0IntHandler+0x92>
			while(((SPI0->SR) & SSP_TNF) != SSP_TNF);	//Transmit FIFO is not full？
    2a9a:	3102      	movi      	r1, 2
    2a9c:	9343      	ld.w      	r2, (r3, 0xc)
    2a9e:	6884      	and      	r2, r1
    2aa0:	3a40      	cmpnei      	r2, 0
    2aa2:	0ffd      	bf      	0x2a9c	// 2a9c <SPI0IntHandler+0x9c>
			SPI0->DR = 0x15;
    2aa4:	3215      	movi      	r2, 21
    2aa6:	b342      	st.w      	r2, (r3, 0x8)
			while(((SPI0->SR) & SSP_BSY) == SSP_BSY);	//Send or receive over？
    2aa8:	3110      	movi      	r1, 16
    2aaa:	9343      	ld.w      	r2, (r3, 0xc)
    2aac:	6884      	and      	r2, r1
    2aae:	3a40      	cmpnei      	r2, 0
    2ab0:	0bfd      	bt      	0x2aaa	// 2aaa <SPI0IntHandler+0xaa>
    2ab2:	07b8      	br      	0x2a22	// 2a22 <SPI0IntHandler+0x22>
			if(((SPI0->SR) & SSP_TFE)!=SSP_TFE)
    2ab4:	9343      	ld.w      	r2, (r3, 0xc)
    2ab6:	6884      	and      	r2, r1
    2ab8:	3a40      	cmpnei      	r2, 0
    2aba:	0bb4      	bt      	0x2a22	// 2a22 <SPI0IntHandler+0x22>
				SPI0->DR=0x0;								//FIFO=0
    2abc:	b342      	st.w      	r2, (r3, 0x8)
				while(((SPI0->SR) & SSP_BSY) == SSP_BSY);		//Send or receive over？
    2abe:	3110      	movi      	r1, 16
				SPI0->DR=0x0;								//FIFO=0
    2ac0:	b342      	st.w      	r2, (r3, 0x8)
				SPI0->DR=0x0;								//FIFO=0
    2ac2:	b342      	st.w      	r2, (r3, 0x8)
				SPI0->DR=0x0;								//FIFO=0
    2ac4:	b342      	st.w      	r2, (r3, 0x8)
				SPI0->DR=0x0;								//FIFO=0
    2ac6:	b342      	st.w      	r2, (r3, 0x8)
				SPI0->DR=0x0;								//FIFO=0
    2ac8:	b342      	st.w      	r2, (r3, 0x8)
				SPI0->DR=0x0;								//FIFO=0
    2aca:	b342      	st.w      	r2, (r3, 0x8)
				SPI0->DR=0x0;								//FIFO=0
    2acc:	b342      	st.w      	r2, (r3, 0x8)
				while(((SPI0->SR) & SSP_BSY) == SSP_BSY);		//Send or receive over？
    2ace:	9343      	ld.w      	r2, (r3, 0xc)
    2ad0:	6884      	and      	r2, r1
    2ad2:	3a40      	cmpnei      	r2, 0
    2ad4:	0bfd      	bt      	0x2ace	// 2ace <SPI0IntHandler+0xce>
    2ad6:	07a6      	br      	0x2a22	// 2a22 <SPI0IntHandler+0x22>
	else if((SPI0->MISR&SPI_TXIM)==SPI_TXIM)				//Transmit FIFO Interrupt
    2ad8:	9347      	ld.w      	r2, (r3, 0x1c)
    2ada:	3108      	movi      	r1, 8
    2adc:	6884      	and      	r2, r1
    2ade:	3a40      	cmpnei      	r2, 0
    2ae0:	0b99      	bt      	0x2a12	// 2a12 <SPI0IntHandler+0x12>
    2ae2:	07a0      	br      	0x2a22	// 2a22 <SPI0IntHandler+0x22>
    2ae4:	20000034 	.long	0x20000034

Disassembly of section .text.SIO0IntHandler:

00002ae8 <SIO0IntHandler>:
//SIO Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void SIO0IntHandler(void) 
{
    2ae8:	1460      	nie
    2aea:	1462      	ipush
		delay_nms(10);
		SIO0->TXBUF=(0x03<<30)|(0x02<<28)|(0x03<<26)|(0x02<<24)|(0x03<<22)|(0x02<<20)|(0x03<<18)|(0x02<<16)|
				(0x01<<14)|(0x00<<12)|(0x01<<10)|(0x00<<8)|(0x01<<6)|(0x00<<4)|(0x01<<2)|(0x0<<0);		//0:D0,1:D1,2:DL,3:DH;	
	}*/
	
	if(SIO0->MISR&0X02)					//RXDNE
    2aec:	107d      	lrw      	r3, 0x2000002c	// 2b60 <SIO0IntHandler+0x78>
    2aee:	3102      	movi      	r1, 2
    2af0:	9360      	ld.w      	r3, (r3, 0x0)
    2af2:	9349      	ld.w      	r2, (r3, 0x24)
    2af4:	6884      	and      	r2, r1
    2af6:	3a40      	cmpnei      	r2, 0
    2af8:	0c13      	bf      	0x2b1e	// 2b1e <SIO0IntHandler+0x36>
	{
		SIO0->ICR=0X02;
    2afa:	b32b      	st.w      	r1, (r3, 0x2c)
		if(R_SIORX_count>=1)
    2afc:	101a      	lrw      	r0, 0x20000088	// 2b64 <SIO0IntHandler+0x7c>
    2afe:	9040      	ld.w      	r2, (r0, 0x0)
    2b00:	3a20      	cmplti      	r2, 1
    2b02:	080c      	bt      	0x2b1a	// 2b1a <SIO0IntHandler+0x32>
		{
			R_SIORX_buf[R_SIORX_count]=SIO0->RXBUF&0xff000000;			//8bit
    2b04:	9040      	ld.w      	r2, (r0, 0x0)
    2b06:	9327      	ld.w      	r1, (r3, 0x1c)
    2b08:	4938      	lsri      	r1, r1, 24
    2b0a:	4262      	lsli      	r3, r2, 2
    2b0c:	1057      	lrw      	r2, 0x2000008c	// 2b68 <SIO0IntHandler+0x80>
    2b0e:	4138      	lsli      	r1, r1, 24
    2b10:	60c8      	addu      	r3, r2
    2b12:	b320      	st.w      	r1, (r3, 0x0)
			nop;
    2b14:	6c03      	mov      	r0, r0
			R_SIORX_count=0;
    2b16:	3300      	movi      	r3, 0
    2b18:	b060      	st.w      	r3, (r0, 0x0)
	}
	else if(SIO0->MISR&0X020)				//TIMEOUT
	{
		SIO0->ICR=0X20;
	}
}
    2b1a:	1463      	ipop
    2b1c:	1461      	nir
	else if(SIO0->MISR&0X08)					//RXBUFFULL	
    2b1e:	9349      	ld.w      	r2, (r3, 0x24)
    2b20:	3108      	movi      	r1, 8
    2b22:	6884      	and      	r2, r1
    2b24:	3a40      	cmpnei      	r2, 0
    2b26:	0c10      	bf      	0x2b46	// 2b46 <SIO0IntHandler+0x5e>
		SIO0->ICR=0X08;
    2b28:	b32b      	st.w      	r1, (r3, 0x2c)
		if(R_SIORX_count<1)
    2b2a:	102f      	lrw      	r1, 0x20000088	// 2b64 <SIO0IntHandler+0x7c>
    2b2c:	9140      	ld.w      	r2, (r1, 0x0)
    2b2e:	3a20      	cmplti      	r2, 1
    2b30:	0ff5      	bf      	0x2b1a	// 2b1a <SIO0IntHandler+0x32>
			R_SIORX_buf[R_SIORX_count]=SIO0->RXBUF;				//32bit
    2b32:	9140      	ld.w      	r2, (r1, 0x0)
    2b34:	9307      	ld.w      	r0, (r3, 0x1c)
    2b36:	4262      	lsli      	r3, r2, 2
    2b38:	104c      	lrw      	r2, 0x2000008c	// 2b68 <SIO0IntHandler+0x80>
    2b3a:	60c8      	addu      	r3, r2
    2b3c:	b300      	st.w      	r0, (r3, 0x0)
			R_SIORX_count++;
    2b3e:	9160      	ld.w      	r3, (r1, 0x0)
    2b40:	2300      	addi      	r3, 1
    2b42:	b160      	st.w      	r3, (r1, 0x0)
    2b44:	07eb      	br      	0x2b1a	// 2b1a <SIO0IntHandler+0x32>
	else if(SIO0->MISR&0X010)				//BREAK
    2b46:	9349      	ld.w      	r2, (r3, 0x24)
    2b48:	3110      	movi      	r1, 16
    2b4a:	6884      	and      	r2, r1
    2b4c:	3a40      	cmpnei      	r2, 0
    2b4e:	0c03      	bf      	0x2b54	// 2b54 <SIO0IntHandler+0x6c>
		SIO0->ICR=0X20;
    2b50:	b32b      	st.w      	r1, (r3, 0x2c)
}
    2b52:	07e4      	br      	0x2b1a	// 2b1a <SIO0IntHandler+0x32>
	else if(SIO0->MISR&0X020)				//TIMEOUT
    2b54:	9349      	ld.w      	r2, (r3, 0x24)
    2b56:	3120      	movi      	r1, 32
    2b58:	6884      	and      	r2, r1
    2b5a:	3a40      	cmpnei      	r2, 0
    2b5c:	0bfa      	bt      	0x2b50	// 2b50 <SIO0IntHandler+0x68>
    2b5e:	07de      	br      	0x2b1a	// 2b1a <SIO0IntHandler+0x32>
    2b60:	2000002c 	.long	0x2000002c
    2b64:	20000088 	.long	0x20000088
    2b68:	2000008c 	.long	0x2000008c

Disassembly of section .text.EXI0IntHandler:

00002b6c <EXI0IntHandler>:
//EXT0/16 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI0IntHandler(void) 
{
    2b6c:	1460      	nie
    2b6e:	1462      	ipush
    // ISR content ...
	if ((SYSCON->EXIRS&EXI_PIN0)==EXI_PIN0) 			//EXT0 Interrupt
    2b70:	106a      	lrw      	r3, 0x2000005c	// 2b98 <EXI0IntHandler+0x2c>
    2b72:	3101      	movi      	r1, 1
    2b74:	9360      	ld.w      	r3, (r3, 0x0)
    2b76:	237f      	addi      	r3, 128
    2b78:	934c      	ld.w      	r2, (r3, 0x30)
    2b7a:	6884      	and      	r2, r1
    2b7c:	3a40      	cmpnei      	r2, 0
    2b7e:	0c04      	bf      	0x2b86	// 2b86 <EXI0IntHandler+0x1a>
	{
		SYSCON->EXICR = EXI_PIN0;
    2b80:	b32b      	st.w      	r1, (r3, 0x2c)
	}
	else if ((SYSCON->EXIRS&EXI_PIN16)==EXI_PIN16) 		//EXT16 Interrupt
	{
		SYSCON->EXICR = EXI_PIN16;
	}
}
    2b82:	1463      	ipop
    2b84:	1461      	nir
	else if ((SYSCON->EXIRS&EXI_PIN16)==EXI_PIN16) 		//EXT16 Interrupt
    2b86:	3280      	movi      	r2, 128
    2b88:	932c      	ld.w      	r1, (r3, 0x30)
    2b8a:	4249      	lsli      	r2, r2, 9
    2b8c:	6848      	and      	r1, r2
    2b8e:	3940      	cmpnei      	r1, 0
    2b90:	0ff9      	bf      	0x2b82	// 2b82 <EXI0IntHandler+0x16>
		SYSCON->EXICR = EXI_PIN16;
    2b92:	b34b      	st.w      	r2, (r3, 0x2c)
}
    2b94:	07f7      	br      	0x2b82	// 2b82 <EXI0IntHandler+0x16>
    2b96:	0000      	bkpt
    2b98:	2000005c 	.long	0x2000005c

Disassembly of section .text.EXI1IntHandler:

00002b9c <EXI1IntHandler>:
//EXT1/17 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI1IntHandler(void) 
{
    2b9c:	1460      	nie
    2b9e:	1462      	ipush
    2ba0:	14d0      	push      	r15
    // ISR content ...
	if ((SYSCON->EXIRS&EXI_PIN1)==EXI_PIN1) 			//EXT1 Interrupt
    2ba2:	106d      	lrw      	r3, 0x2000005c	// 2bd4 <EXI1IntHandler+0x38>
    2ba4:	3102      	movi      	r1, 2
    2ba6:	9360      	ld.w      	r3, (r3, 0x0)
    2ba8:	237f      	addi      	r3, 128
    2baa:	934c      	ld.w      	r2, (r3, 0x30)
    2bac:	6884      	and      	r2, r1
    2bae:	3a40      	cmpnei      	r2, 0
    2bb0:	0c09      	bf      	0x2bc2	// 2bc2 <EXI1IntHandler+0x26>
	{
		SYSCON->EXICR = EXI_PIN1;
    2bb2:	b32b      	st.w      	r1, (r3, 0x2c)
		PB_OVERCURR_PWR_BUS_INT_Processing();
    2bb4:	e0000372 	bsr      	0x3298	// 3298 <PB_OVERCURR_PWR_BUS_INT_Processing>
	}
	else if ((SYSCON->EXIRS&EXI_PIN17)==EXI_PIN17) 		//EXT17 Interrupt
	{
		SYSCON->EXICR = EXI_PIN17;
	}
}
    2bb8:	d9ee2000 	ld.w      	r15, (r14, 0x0)
    2bbc:	1401      	addi      	r14, r14, 4
    2bbe:	1463      	ipop
    2bc0:	1461      	nir
	else if ((SYSCON->EXIRS&EXI_PIN17)==EXI_PIN17) 		//EXT17 Interrupt
    2bc2:	3280      	movi      	r2, 128
    2bc4:	932c      	ld.w      	r1, (r3, 0x30)
    2bc6:	424a      	lsli      	r2, r2, 10
    2bc8:	6848      	and      	r1, r2
    2bca:	3940      	cmpnei      	r1, 0
    2bcc:	0ff6      	bf      	0x2bb8	// 2bb8 <EXI1IntHandler+0x1c>
		SYSCON->EXICR = EXI_PIN17;
    2bce:	b34b      	st.w      	r2, (r3, 0x2c)
}
    2bd0:	07f4      	br      	0x2bb8	// 2bb8 <EXI1IntHandler+0x1c>
    2bd2:	0000      	bkpt
    2bd4:	2000005c 	.long	0x2000005c

Disassembly of section .text.EXI2to3IntHandler:

00002bd8 <EXI2to3IntHandler>:
//EXI2~3 18~19Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI2to3IntHandler(void) 
{
    2bd8:	1460      	nie
    2bda:	1462      	ipush
    // ISR content ...
	if ((SYSCON->EXIRS&EXI_PIN2)==EXI_PIN2) 			//EXT2 Interrupt
    2bdc:	1070      	lrw      	r3, 0x2000005c	// 2c1c <EXI2to3IntHandler+0x44>
    2bde:	3104      	movi      	r1, 4
    2be0:	9360      	ld.w      	r3, (r3, 0x0)
    2be2:	237f      	addi      	r3, 128
    2be4:	934c      	ld.w      	r2, (r3, 0x30)
    2be6:	6884      	and      	r2, r1
    2be8:	3a40      	cmpnei      	r2, 0
    2bea:	0c04      	bf      	0x2bf2	// 2bf2 <EXI2to3IntHandler+0x1a>
	{
		SYSCON->EXICR = EXI_PIN2;
	} 
	else if ((SYSCON->EXIRS&EXI_PIN3)==EXI_PIN3) 		//EXT3 Interrupt
	{
		SYSCON->EXICR = EXI_PIN3;
    2bec:	b32b      	st.w      	r1, (r3, 0x2c)
	}
	else if ((SYSCON->EXIRS&EXI_PIN19)==EXI_PIN19) 		//EXT19 Interrupt
	{
		SYSCON->EXICR = EXI_PIN19;
	}
}
    2bee:	1463      	ipop
    2bf0:	1461      	nir
	else if ((SYSCON->EXIRS&EXI_PIN3)==EXI_PIN3) 		//EXT3 Interrupt
    2bf2:	934c      	ld.w      	r2, (r3, 0x30)
    2bf4:	3108      	movi      	r1, 8
    2bf6:	6884      	and      	r2, r1
    2bf8:	3a40      	cmpnei      	r2, 0
    2bfa:	0bf9      	bt      	0x2bec	// 2bec <EXI2to3IntHandler+0x14>
	else if ((SYSCON->EXIRS&EXI_PIN18)==EXI_PIN18) 		//EXT18 Interrupt
    2bfc:	3280      	movi      	r2, 128
    2bfe:	932c      	ld.w      	r1, (r3, 0x30)
    2c00:	424b      	lsli      	r2, r2, 11
    2c02:	6848      	and      	r1, r2
    2c04:	3940      	cmpnei      	r1, 0
    2c06:	0c03      	bf      	0x2c0c	// 2c0c <EXI2to3IntHandler+0x34>
		SYSCON->EXICR = EXI_PIN19;
    2c08:	b34b      	st.w      	r2, (r3, 0x2c)
}
    2c0a:	07f2      	br      	0x2bee	// 2bee <EXI2to3IntHandler+0x16>
	else if ((SYSCON->EXIRS&EXI_PIN19)==EXI_PIN19) 		//EXT19 Interrupt
    2c0c:	3280      	movi      	r2, 128
    2c0e:	932c      	ld.w      	r1, (r3, 0x30)
    2c10:	424c      	lsli      	r2, r2, 12
    2c12:	6848      	and      	r1, r2
    2c14:	3940      	cmpnei      	r1, 0
    2c16:	0bf9      	bt      	0x2c08	// 2c08 <EXI2to3IntHandler+0x30>
    2c18:	07eb      	br      	0x2bee	// 2bee <EXI2to3IntHandler+0x16>
    2c1a:	0000      	bkpt
    2c1c:	2000005c 	.long	0x2000005c

Disassembly of section .text.EXI4to9IntHandler:

00002c20 <EXI4to9IntHandler>:
//EXI4~9 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI4to9IntHandler(void) 
{
    2c20:	1460      	nie
    2c22:	1462      	ipush
    // ISR content ...
	if ((SYSCON->EXIRS&EXI_PIN4)==EXI_PIN4) 			//EXT4 Interrupt
    2c24:	1075      	lrw      	r3, 0x2000005c	// 2c78 <EXI4to9IntHandler+0x58>
    2c26:	3280      	movi      	r2, 128
    2c28:	9360      	ld.w      	r3, (r3, 0x0)
    2c2a:	60c8      	addu      	r3, r2
    2c2c:	932c      	ld.w      	r1, (r3, 0x30)
    2c2e:	3010      	movi      	r0, 16
    2c30:	6840      	and      	r1, r0
    2c32:	3940      	cmpnei      	r1, 0
    2c34:	0c04      	bf      	0x2c3c	// 2c3c <EXI4to9IntHandler+0x1c>
	{
		SYSCON->EXICR = EXI_PIN5;
	} 
	else if ((SYSCON->EXIRS&EXI_PIN6)==EXI_PIN6) 		//EXT6 Interrupt
	{
		SYSCON->EXICR = EXI_PIN6;
    2c36:	b30b      	st.w      	r0, (r3, 0x2c)
	else if ((SYSCON->EXIRS&EXI_PIN9)==EXI_PIN9) 		//EXT9 Interrupt
	{
		SYSCON->EXICR = EXI_PIN9;
	} 

}
    2c38:	1463      	ipop
    2c3a:	1461      	nir
	else if ((SYSCON->EXIRS&EXI_PIN5)==EXI_PIN5) 		//EXT5 Interrupt
    2c3c:	932c      	ld.w      	r1, (r3, 0x30)
    2c3e:	3020      	movi      	r0, 32
    2c40:	6840      	and      	r1, r0
    2c42:	3940      	cmpnei      	r1, 0
    2c44:	0bf9      	bt      	0x2c36	// 2c36 <EXI4to9IntHandler+0x16>
	else if ((SYSCON->EXIRS&EXI_PIN6)==EXI_PIN6) 		//EXT6 Interrupt
    2c46:	932c      	ld.w      	r1, (r3, 0x30)
    2c48:	3040      	movi      	r0, 64
    2c4a:	6840      	and      	r1, r0
    2c4c:	3940      	cmpnei      	r1, 0
    2c4e:	0bf4      	bt      	0x2c36	// 2c36 <EXI4to9IntHandler+0x16>
	else if ((SYSCON->EXIRS&EXI_PIN7)==EXI_PIN7) 		//EXT7 Interrupt
    2c50:	932c      	ld.w      	r1, (r3, 0x30)
    2c52:	6848      	and      	r1, r2
    2c54:	3940      	cmpnei      	r1, 0
    2c56:	0c03      	bf      	0x2c5c	// 2c5c <EXI4to9IntHandler+0x3c>
		SYSCON->EXICR = EXI_PIN9;
    2c58:	b34b      	st.w      	r2, (r3, 0x2c)
}
    2c5a:	07ef      	br      	0x2c38	// 2c38 <EXI4to9IntHandler+0x18>
	else if ((SYSCON->EXIRS&EXI_PIN8)==EXI_PIN8) 		//EXT8 Interrupt
    2c5c:	3280      	movi      	r2, 128
    2c5e:	932c      	ld.w      	r1, (r3, 0x30)
    2c60:	4241      	lsli      	r2, r2, 1
    2c62:	6848      	and      	r1, r2
    2c64:	3940      	cmpnei      	r1, 0
    2c66:	0bf9      	bt      	0x2c58	// 2c58 <EXI4to9IntHandler+0x38>
	else if ((SYSCON->EXIRS&EXI_PIN9)==EXI_PIN9) 		//EXT9 Interrupt
    2c68:	3280      	movi      	r2, 128
    2c6a:	932c      	ld.w      	r1, (r3, 0x30)
    2c6c:	4242      	lsli      	r2, r2, 2
    2c6e:	6848      	and      	r1, r2
    2c70:	3940      	cmpnei      	r1, 0
    2c72:	0bf3      	bt      	0x2c58	// 2c58 <EXI4to9IntHandler+0x38>
    2c74:	07e2      	br      	0x2c38	// 2c38 <EXI4to9IntHandler+0x18>
    2c76:	0000      	bkpt
    2c78:	2000005c 	.long	0x2000005c

Disassembly of section .text.EXI10to15IntHandler:

00002c7c <EXI10to15IntHandler>:
//EXI4 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI10to15IntHandler(void) 
{
    2c7c:	1460      	nie
    2c7e:	1462      	ipush
    // ISR content ...
	if ((SYSCON->EXIRS&EXI_PIN10)==EXI_PIN10) 			//EXT10 Interrupt
    2c80:	1076      	lrw      	r3, 0x2000005c	// 2cd8 <EXI10to15IntHandler+0x5c>
    2c82:	3280      	movi      	r2, 128
    2c84:	9360      	ld.w      	r3, (r3, 0x0)
    2c86:	237f      	addi      	r3, 128
    2c88:	932c      	ld.w      	r1, (r3, 0x30)
    2c8a:	4243      	lsli      	r2, r2, 3
    2c8c:	6848      	and      	r1, r2
    2c8e:	3940      	cmpnei      	r1, 0
    2c90:	0c03      	bf      	0x2c96	// 2c96 <EXI10to15IntHandler+0x1a>
	{
		SYSCON->EXICR = EXI_PIN14;
	}
	else if ((SYSCON->EXIRS&EXI_PIN15)==EXI_PIN15) 		//EXT15 Interrupt
	{
		SYSCON->EXICR = EXI_PIN15;
    2c92:	b34b      	st.w      	r2, (r3, 0x2c)
	}
}
    2c94:	041f      	br      	0x2cd2	// 2cd2 <EXI10to15IntHandler+0x56>
	else if ((SYSCON->EXIRS&EXI_PIN11)==EXI_PIN11) 		//EXT11 Interrupt
    2c96:	3280      	movi      	r2, 128
    2c98:	932c      	ld.w      	r1, (r3, 0x30)
    2c9a:	4244      	lsli      	r2, r2, 4
    2c9c:	6848      	and      	r1, r2
    2c9e:	3940      	cmpnei      	r1, 0
    2ca0:	0bf9      	bt      	0x2c92	// 2c92 <EXI10to15IntHandler+0x16>
	else if ((SYSCON->EXIRS&EXI_PIN12)==EXI_PIN12) 		//EXT12 Interrupt
    2ca2:	3280      	movi      	r2, 128
    2ca4:	932c      	ld.w      	r1, (r3, 0x30)
    2ca6:	4245      	lsli      	r2, r2, 5
    2ca8:	6848      	and      	r1, r2
    2caa:	3940      	cmpnei      	r1, 0
    2cac:	0bf3      	bt      	0x2c92	// 2c92 <EXI10to15IntHandler+0x16>
	else if ((SYSCON->EXIRS&EXI_PIN13)==EXI_PIN13) 		//EXT13 Interrupt
    2cae:	3280      	movi      	r2, 128
    2cb0:	932c      	ld.w      	r1, (r3, 0x30)
    2cb2:	4246      	lsli      	r2, r2, 6
    2cb4:	6848      	and      	r1, r2
    2cb6:	3940      	cmpnei      	r1, 0
    2cb8:	0bed      	bt      	0x2c92	// 2c92 <EXI10to15IntHandler+0x16>
	else if ((SYSCON->EXIRS&EXI_PIN14)==EXI_PIN14) 		//EXT14 Interrupt
    2cba:	3280      	movi      	r2, 128
    2cbc:	932c      	ld.w      	r1, (r3, 0x30)
    2cbe:	4247      	lsli      	r2, r2, 7
    2cc0:	6848      	and      	r1, r2
    2cc2:	3940      	cmpnei      	r1, 0
    2cc4:	0be7      	bt      	0x2c92	// 2c92 <EXI10to15IntHandler+0x16>
	else if ((SYSCON->EXIRS&EXI_PIN15)==EXI_PIN15) 		//EXT15 Interrupt
    2cc6:	3280      	movi      	r2, 128
    2cc8:	932c      	ld.w      	r1, (r3, 0x30)
    2cca:	4248      	lsli      	r2, r2, 8
    2ccc:	6848      	and      	r1, r2
    2cce:	3940      	cmpnei      	r1, 0
    2cd0:	0be1      	bt      	0x2c92	// 2c92 <EXI10to15IntHandler+0x16>
}
    2cd2:	1463      	ipop
    2cd4:	1461      	nir
    2cd6:	0000      	bkpt
    2cd8:	2000005c 	.long	0x2000005c

Disassembly of section .text.LPTIntHandler:

00002cdc <LPTIntHandler>:
//LPT Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void LPTIntHandler(void) 
{
    2cdc:	1460      	nie
    2cde:	1462      	ipush
    // ISR content ...
	if((LPT->MISR&LPT_TRGEV0)==LPT_TRGEV0)			//TRGEV0 interrupt
    2ce0:	106b      	lrw      	r3, 0x20000014	// 2d0c <LPTIntHandler+0x30>
    2ce2:	3101      	movi      	r1, 1
    2ce4:	9360      	ld.w      	r3, (r3, 0x0)
    2ce6:	934e      	ld.w      	r2, (r3, 0x38)
    2ce8:	6884      	and      	r2, r1
    2cea:	3a40      	cmpnei      	r2, 0
    2cec:	0c03      	bf      	0x2cf2	// 2cf2 <LPTIntHandler+0x16>
	{
		LPT->ICR = LPT_MATCH;
	}
	else if((LPT->MISR&LPT_PEND)==LPT_PEND)			//PEND interrupt
	{
		LPT->ICR = LPT_PEND;
    2cee:	b330      	st.w      	r1, (r3, 0x40)
	}
}
    2cf0:	040b      	br      	0x2d06	// 2d06 <LPTIntHandler+0x2a>
	else if((LPT->MISR&LPT_MATCH)==LPT_MATCH)		//MATCH interrupt
    2cf2:	934e      	ld.w      	r2, (r3, 0x38)
    2cf4:	3102      	movi      	r1, 2
    2cf6:	6884      	and      	r2, r1
    2cf8:	3a40      	cmpnei      	r2, 0
    2cfa:	0bfa      	bt      	0x2cee	// 2cee <LPTIntHandler+0x12>
	else if((LPT->MISR&LPT_PEND)==LPT_PEND)			//PEND interrupt
    2cfc:	934e      	ld.w      	r2, (r3, 0x38)
    2cfe:	3104      	movi      	r1, 4
    2d00:	6884      	and      	r2, r1
    2d02:	3a40      	cmpnei      	r2, 0
    2d04:	0bf5      	bt      	0x2cee	// 2cee <LPTIntHandler+0x12>
}
    2d06:	1463      	ipop
    2d08:	1461      	nir
    2d0a:	0000      	bkpt
    2d0c:	20000014 	.long	0x20000014

Disassembly of section .text.BT0IntHandler:

00002d10 <BT0IntHandler>:
//BT0 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void BT0IntHandler(void) 
{
    2d10:	1460      	nie
    2d12:	1462      	ipush
    // ISR content ...
	if((BT0->MISR&BT_PEND)==BT_PEND)				//BT0 PEND interrupt
    2d14:	106d      	lrw      	r3, 0x2000000c	// 2d48 <BT0IntHandler+0x38>
    2d16:	3101      	movi      	r1, 1
    2d18:	9360      	ld.w      	r3, (r3, 0x0)
    2d1a:	934c      	ld.w      	r2, (r3, 0x30)
    2d1c:	6884      	and      	r2, r1
    2d1e:	3a40      	cmpnei      	r2, 0
    2d20:	0c03      	bf      	0x2d26	// 2d26 <BT0IntHandler+0x16>
	{
		BT0->ICR = BT_OVF;
	} 
	else if((BT0->MISR&BT_EVTRG)==BT_EVTRG)			//BT0 Event trigger interrupt
	{
		BT0->ICR = BT_EVTRG;
    2d22:	b32d      	st.w      	r1, (r3, 0x34)
	} 
}
    2d24:	0410      	br      	0x2d44	// 2d44 <BT0IntHandler+0x34>
	else if((BT0->MISR&BT_CMP)==BT_CMP)				//BT0 CMP Match interrupt 
    2d26:	934c      	ld.w      	r2, (r3, 0x30)
    2d28:	3102      	movi      	r1, 2
    2d2a:	6884      	and      	r2, r1
    2d2c:	3a40      	cmpnei      	r2, 0
    2d2e:	0bfa      	bt      	0x2d22	// 2d22 <BT0IntHandler+0x12>
	else if((BT0->MISR&BT_OVF)==BT_OVF)				//BT0 OVF interrupt
    2d30:	934c      	ld.w      	r2, (r3, 0x30)
    2d32:	3104      	movi      	r1, 4
    2d34:	6884      	and      	r2, r1
    2d36:	3a40      	cmpnei      	r2, 0
    2d38:	0bf5      	bt      	0x2d22	// 2d22 <BT0IntHandler+0x12>
	else if((BT0->MISR&BT_EVTRG)==BT_EVTRG)			//BT0 Event trigger interrupt
    2d3a:	934c      	ld.w      	r2, (r3, 0x30)
    2d3c:	3108      	movi      	r1, 8
    2d3e:	6884      	and      	r2, r1
    2d40:	3a40      	cmpnei      	r2, 0
    2d42:	0bf0      	bt      	0x2d22	// 2d22 <BT0IntHandler+0x12>
}
    2d44:	1463      	ipop
    2d46:	1461      	nir
    2d48:	2000000c 	.long	0x2000000c

Disassembly of section .text.BT1IntHandler:

00002d4c <BT1IntHandler>:
//BT1 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void BT1IntHandler(void) 
{
    2d4c:	1460      	nie
    2d4e:	1462      	ipush
    2d50:	14d0      	push      	r15
	static U8_T NUM = 0;
    // ISR content ...
	if((BT1->MISR&BT_PEND)==BT_PEND)				//BT1 PEND interrupt
    2d52:	1079      	lrw      	r3, 0x20000008	// 2db4 <BT1IntHandler+0x68>
    2d54:	3101      	movi      	r1, 1
    2d56:	9360      	ld.w      	r3, (r3, 0x0)
    2d58:	934c      	ld.w      	r2, (r3, 0x30)
    2d5a:	6884      	and      	r2, r1
    2d5c:	3a40      	cmpnei      	r2, 0
    2d5e:	0c03      	bf      	0x2d64	// 2d64 <BT1IntHandler+0x18>
	{
		BT1->ICR = BT_OVF;
	} 
	else if((BT1->MISR&BT_EVTRG)==BT_EVTRG)			//BT1 Event trigger interrupt
	{
		BT1->ICR = BT_EVTRG;
    2d60:	b32d      	st.w      	r1, (r3, 0x34)
	} 
}
    2d62:	0418      	br      	0x2d92	// 2d92 <BT1IntHandler+0x46>
	else if((BT1->MISR&BT_CMP)==BT_CMP)				//BT1 CMP Match interrupt 
    2d64:	934c      	ld.w      	r2, (r3, 0x30)
    2d66:	3102      	movi      	r1, 2
    2d68:	6884      	and      	r2, r1
    2d6a:	3a40      	cmpnei      	r2, 0
    2d6c:	0c18      	bf      	0x2d9c	// 2d9c <BT1IntHandler+0x50>
		BT1->ICR = BT_CMP;
    2d6e:	b32d      	st.w      	r1, (r3, 0x34)
		NUM++;
    2d70:	1072      	lrw      	r3, 0x20000068	// 2db8 <BT1IntHandler+0x6c>
    2d72:	8340      	ld.b      	r2, (r3, 0x0)
    2d74:	2200      	addi      	r2, 1
    2d76:	7488      	zextb      	r2, r2
		SysTick_100us++;
    2d78:	9321      	ld.w      	r1, (r3, 0x4)
    2d7a:	2100      	addi      	r1, 1
		if(NUM >= 10){
    2d7c:	3a09      	cmphsi      	r2, 10
		NUM++;
    2d7e:	a340      	st.b      	r2, (r3, 0x0)
		SysTick_100us++;
    2d80:	b321      	st.w      	r1, (r3, 0x4)
		if(NUM >= 10){
    2d82:	0c08      	bf      	0x2d92	// 2d92 <BT1IntHandler+0x46>
			NUM = 0;
    2d84:	3200      	movi      	r2, 0
    2d86:	a340      	st.b      	r2, (r3, 0x0)
			SysTick_1ms++;
    2d88:	9342      	ld.w      	r2, (r3, 0x8)
    2d8a:	2200      	addi      	r2, 1
    2d8c:	b342      	st.w      	r2, (r3, 0x8)
			PB_Scan_State_Task();	
    2d8e:	e00002c1 	bsr      	0x3310	// 3310 <PB_Scan_State_Task>
}
    2d92:	d9ee2000 	ld.w      	r15, (r14, 0x0)
    2d96:	1401      	addi      	r14, r14, 4
    2d98:	1463      	ipop
    2d9a:	1461      	nir
	else if((BT1->MISR&BT_OVF)==BT_OVF)				//BT1 OVF interrupt
    2d9c:	934c      	ld.w      	r2, (r3, 0x30)
    2d9e:	3104      	movi      	r1, 4
    2da0:	6884      	and      	r2, r1
    2da2:	3a40      	cmpnei      	r2, 0
    2da4:	0bde      	bt      	0x2d60	// 2d60 <BT1IntHandler+0x14>
	else if((BT1->MISR&BT_EVTRG)==BT_EVTRG)			//BT1 Event trigger interrupt
    2da6:	934c      	ld.w      	r2, (r3, 0x30)
    2da8:	3108      	movi      	r1, 8
    2daa:	6884      	and      	r2, r1
    2dac:	3a40      	cmpnei      	r2, 0
    2dae:	0bd9      	bt      	0x2d60	// 2d60 <BT1IntHandler+0x14>
    2db0:	07f1      	br      	0x2d92	// 2d92 <BT1IntHandler+0x46>
    2db2:	0000      	bkpt
    2db4:	20000008 	.long	0x20000008
    2db8:	20000068 	.long	0x20000068

Disassembly of section .text.PriviledgeVioHandler:

00002dbc <PriviledgeVioHandler>:
    2dbc:	783c      	jmp      	r15

Disassembly of section .text.PendTrapHandler:

00002dbe <PendTrapHandler>:
    // ISR content ...

}

void PendTrapHandler(void) 
{
    2dbe:	1460      	nie
    2dc0:	1462      	ipush
    // ISR content ...

}
    2dc2:	1463      	ipop
    2dc4:	1461      	nir

Disassembly of section .text.Trap3Handler:

00002dc6 <Trap3Handler>:
    2dc6:	1460      	nie
    2dc8:	1462      	ipush
    2dca:	1463      	ipop
    2dcc:	1461      	nir

Disassembly of section .text.Trap2Handler:

00002dce <Trap2Handler>:
    2dce:	1460      	nie
    2dd0:	1462      	ipush
    2dd2:	1463      	ipop
    2dd4:	1461      	nir

Disassembly of section .text.Trap1Handler:

00002dd6 <Trap1Handler>:
    2dd6:	1460      	nie
    2dd8:	1462      	ipush
    2dda:	1463      	ipop
    2ddc:	1461      	nir

Disassembly of section .text.Trap0Handler:

00002dde <Trap0Handler>:
    2dde:	1460      	nie
    2de0:	1462      	ipush
    2de2:	1463      	ipop
    2de4:	1461      	nir

Disassembly of section .text.UnrecExecpHandler:

00002de6 <UnrecExecpHandler>:
    2de6:	1460      	nie
    2de8:	1462      	ipush
    2dea:	1463      	ipop
    2dec:	1461      	nir

Disassembly of section .text.BreakPointHandler:

00002dee <BreakPointHandler>:
    2dee:	1460      	nie
    2df0:	1462      	ipush
    2df2:	1463      	ipop
    2df4:	1461      	nir

Disassembly of section .text.AccessErrHandler:

00002df6 <AccessErrHandler>:
    2df6:	1460      	nie
    2df8:	1462      	ipush
    2dfa:	1463      	ipop
    2dfc:	1461      	nir

Disassembly of section .text.IllegalInstrHandler:

00002dfe <IllegalInstrHandler>:
    2dfe:	1460      	nie
    2e00:	1462      	ipush
    2e02:	1463      	ipop
    2e04:	1461      	nir

Disassembly of section .text.MisalignedHandler:

00002e06 <MisalignedHandler>:
    2e06:	1460      	nie
    2e08:	1462      	ipush
    2e0a:	1463      	ipop
    2e0c:	1461      	nir

Disassembly of section .text.TKEYIntHandler:

00002e0e <TKEYIntHandler>:
    2e0e:	1460      	nie
    2e10:	1462      	ipush
    2e12:	1463      	ipop
    2e14:	1461      	nir

Disassembly of section .text.CNTAIntHandler:

00002e16 <CNTAIntHandler>:
    2e16:	1460      	nie
    2e18:	1462      	ipush
    2e1a:	1463      	ipop
    2e1c:	1461      	nir

Disassembly of section .text.I2CIntHandler:

00002e1e <I2CIntHandler>:
    2e1e:	1460      	nie
    2e20:	1462      	ipush
    2e22:	1463      	ipop
    2e24:	1461      	nir

Disassembly of section .text.CORETHandler:

00002e26 <CORETHandler>:
    2e26:	1460      	nie
    2e28:	1462      	ipush
    2e2a:	1463      	ipop
    2e2c:	1461      	nir

Disassembly of section .text.__divsi3:

00002e30 <__divsi3>:
CSP_BT_T    	*BT1      = (CSP_BT_T   *)APB_BT1Base ;
CSP_CRC_T   	*CRC      = (CSP_CRC_T  *)AHB_CRCBase ;
CSP_HWD_T   	*HWD      = (CSP_HWD_T  *)APB_HWDBase ;

int __divsi3 (  int a,   int b)
{   
    2e30:	14c1      	push      	r4
	int PSR;
	__asm volatile(
    2e32:	c0006023 	mfcr      	r3, cr<0, 0>
    2e36:	c0807020 	psrclr      	ie
					"mfcr %0 , psr \n\r"
					"psrclr ie \n\r"
					: "=r"(PSR)
				   );

	HWD->CR = 0;
    2e3a:	1046      	lrw      	r2, 0x20000000	// 2e50 <__divsi3+0x20>
    2e3c:	3400      	movi      	r4, 0
    2e3e:	9240      	ld.w      	r2, (r2, 0x0)
    2e40:	b284      	st.w      	r4, (r2, 0x10)
	HWD->DIVIDENT = a;
	HWD->DIVISOR = b;

	PSR |= 0x80000000;
    2e42:	3bbf      	bseti      	r3, 31
	HWD->DIVIDENT = a;
    2e44:	b200      	st.w      	r0, (r2, 0x0)
	HWD->DIVISOR = b;
    2e46:	b221      	st.w      	r1, (r2, 0x4)
	__asm volatile(
    2e48:	c0036420 	mtcr      	r3, cr<0, 0>
					 "mtcr %0 , psr \n\r"
					 : 
					 :"r"(PSR)
					);
					
	return HWD->QUOTIENT;
    2e4c:	9202      	ld.w      	r0, (r2, 0x8)
}
    2e4e:	1481      	pop      	r4
    2e50:	20000000 	.long	0x20000000

Disassembly of section .text.__udivsi3:

00002e54 <__udivsi3>:
 unsigned int __udivsi3 ( unsigned int a,  unsigned int b)
{   
    2e54:	14c1      	push      	r4
	int PSR;
	__asm volatile(
    2e56:	c0006023 	mfcr      	r3, cr<0, 0>
    2e5a:	c0807020 	psrclr      	ie
					"mfcr %0 , psr \n\r"
					"psrclr ie \n\r"
					: "=r"(PSR)
				   );
	
	HWD->CR = 1;
    2e5e:	1046      	lrw      	r2, 0x20000000	// 2e74 <__udivsi3+0x20>
    2e60:	3401      	movi      	r4, 1
    2e62:	9240      	ld.w      	r2, (r2, 0x0)
    2e64:	b284      	st.w      	r4, (r2, 0x10)
	HWD->DIVIDENT = a;
	HWD->DIVISOR = b;

	PSR |= 0x80000000;
    2e66:	3bbf      	bseti      	r3, 31
	HWD->DIVIDENT = a;
    2e68:	b200      	st.w      	r0, (r2, 0x0)
	HWD->DIVISOR = b;
    2e6a:	b221      	st.w      	r1, (r2, 0x4)
	__asm volatile(
    2e6c:	c0036420 	mtcr      	r3, cr<0, 0>
					 "mtcr %0 , psr \n\r"
					 : 
					 :"r"(PSR)
					);

	return HWD->QUOTIENT;
    2e70:	9202      	ld.w      	r0, (r2, 0x8)
}
    2e72:	1481      	pop      	r4
    2e74:	20000000 	.long	0x20000000

Disassembly of section .text.CK_CPU_EnAllNormalIrq:

00002e78 <CK_CPU_EnAllNormalIrq>:
}


void CK_CPU_EnAllNormalIrq(void)
{
  asm  ("psrset ee,ie");
    2e78:	c1807420 	psrset      	ee, ie
}
    2e7c:	783c      	jmp      	r15

Disassembly of section .text.UARTx_Init:

00002e80 <UARTx_Init>:
 * 	UART0 用于PB数据发送，没有接收	9600	-> 对应设置 5000
 * */

UART_t g_uart;		//目前该项目只使用串口1 进行双向通讯

void UARTx_Init(UART_IDX uart_id, Uart_prt prt_cf) {
    2e80:	14d1      	push      	r4, r15
	switch(uart_id){
    2e82:	3841      	cmpnei      	r0, 1
void UARTx_Init(UART_IDX uart_id, Uart_prt prt_cf) {
    2e84:	6d07      	mov      	r4, r1
	switch(uart_id){
    2e86:	0c15      	bf      	0x2eb0	// 2eb0 <UARTx_Init+0x30>
    2e88:	3840      	cmpnei      	r0, 0
    2e8a:	0c04      	bf      	0x2e92	// 2e92 <UARTx_Init+0x12>
    2e8c:	3842      	cmpnei      	r0, 2
    2e8e:	0c2a      	bf      	0x2ee2	// 2ee2 <UARTx_Init+0x62>
			UARTInitRxTxIntEn(UART2,98,UART_PAR_NONE);					//baudrate=sysclock 48M/416=115200 tx rx int enabled 
			//UART1_Int_Enable();
			
			break;
	}
}
    2e90:	1491      	pop      	r4, r15
			UART0_DeInit();                                               //clear all UART Register
    2e92:	e3fff379 	bsr      	0x1584	// 1584 <UART0_DeInit>
			UART_IO_Init(IO_UART0,0);                                     //use PA0.1->RXD0, PA0.0->TXD0
    2e96:	3100      	movi      	r1, 0
    2e98:	3000      	movi      	r0, 0
    2e9a:	e3fff3b5 	bsr      	0x1604	// 1604 <UART_IO_Init>
			UARTInitRxTxIntEn(UART0,10000,UART_PAR_NONE);				  //baudrate=sysclock 48M/1000=4800,tx rx int enabled 
    2e9e:	1078      	lrw      	r3, 0x20000040	// 2efc <UARTx_Init+0x7c>
    2ea0:	3200      	movi      	r2, 0
    2ea2:	9300      	ld.w      	r0, (r3, 0x0)
    2ea4:	1037      	lrw      	r1, 0x2710	// 2f00 <UARTx_Init+0x80>
    2ea6:	e3fff423 	bsr      	0x16ec	// 16ec <UARTInitRxTxIntEn>
			UART0_Int_Enable();
    2eaa:	e3fff391 	bsr      	0x15cc	// 15cc <UART0_Int_Enable>
			break;
    2eae:	07f1      	br      	0x2e90	// 2e90 <UARTx_Init+0x10>
			UART1_DeInit();                                                 //clear all UART Register
    2eb0:	e3fff376 	bsr      	0x159c	// 159c <UART1_DeInit>
			UART_IO_Init(IO_UART1,0);                                    	//use PA0.13->RXD1, PB0.0->TXD1
    2eb4:	3100      	movi      	r1, 0
    2eb6:	3001      	movi      	r0, 1
    2eb8:	e3fff3a6 	bsr      	0x1604	// 1604 <UART_IO_Init>
			UARTInitRxTxIntEn(UART1,416,UART_PAR_NONE);					//baudrate=sysclock 48M/416=115200 tx rx int enabled 
    2ebc:	1072      	lrw      	r3, 0x2000003c	// 2f04 <UARTx_Init+0x84>
    2ebe:	31d0      	movi      	r1, 208
    2ec0:	9300      	ld.w      	r0, (r3, 0x0)
    2ec2:	3200      	movi      	r2, 0
    2ec4:	4121      	lsli      	r1, r1, 1
    2ec6:	e3fff413 	bsr      	0x16ec	// 16ec <UARTInitRxTxIntEn>
			UART1_Int_Enable();
    2eca:	e3fff38f 	bsr      	0x15e8	// 15e8 <UART1_Int_Enable>
			memset(&g_uart,0,sizeof(UART_t));
    2ece:	32dc      	movi      	r2, 220
    2ed0:	3100      	movi      	r1, 0
    2ed2:	100e      	lrw      	r0, 0x200000b4	// 2f08 <UARTx_Init+0x88>
    2ed4:	e3ffee90 	bsr      	0xbf4	// bf4 <__memset_fast>
			g_uart.RecvTimeout = Recv_115200_TimeOut;
    2ed8:	106d      	lrw      	r3, 0x20000134	// 2f0c <UARTx_Init+0x8c>
    2eda:	3203      	movi      	r2, 3
    2edc:	b354      	st.w      	r2, (r3, 0x50)
			g_uart.processing_cf = prt_cf;
    2ede:	b396      	st.w      	r4, (r3, 0x58)
			break;
    2ee0:	07d8      	br      	0x2e90	// 2e90 <UARTx_Init+0x10>
			UART2_DeInit();                                                 //clear all UART Register
    2ee2:	e3fff369 	bsr      	0x15b4	// 15b4 <UART2_DeInit>
			UART_IO_Init(IO_UART2,1);                                    	//use PA0.13->RXD1, PB0.0->TXD1
    2ee6:	3101      	movi      	r1, 1
    2ee8:	3002      	movi      	r0, 2
    2eea:	e3fff38d 	bsr      	0x1604	// 1604 <UART_IO_Init>
			UARTInitRxTxIntEn(UART2,98,UART_PAR_NONE);					//baudrate=sysclock 48M/416=115200 tx rx int enabled 
    2eee:	1069      	lrw      	r3, 0x20000038	// 2f10 <UARTx_Init+0x90>
    2ef0:	3200      	movi      	r2, 0
    2ef2:	9300      	ld.w      	r0, (r3, 0x0)
    2ef4:	3162      	movi      	r1, 98
    2ef6:	e3fff3fb 	bsr      	0x16ec	// 16ec <UARTInitRxTxIntEn>
}
    2efa:	07cb      	br      	0x2e90	// 2e90 <UARTx_Init+0x10>
    2efc:	20000040 	.long	0x20000040
    2f00:	00002710 	.long	0x00002710
    2f04:	2000003c 	.long	0x2000003c
    2f08:	200000b4 	.long	0x200000b4
    2f0c:	20000134 	.long	0x20000134
    2f10:	20000038 	.long	0x20000038

Disassembly of section .text.UART1_RecvINT_Processing:

00002f14 <UART1_RecvINT_Processing>:

/*******************************************************************************
* Function Name  : UART1_RecvINT_Processing 
* Description    : 串口1 接收中断处理函数 - 接收中断调用
*******************************************************************************/
void UART1_RecvINT_Processing(char data){
    2f14:	14c1      	push      	r4
	if((g_uart.RecvLen + 1) >= USART_BUFFER_SIZE) g_uart.RecvLen = 0;
    2f16:	106b      	lrw      	r3, 0x20000174	// 2f40 <UART1_RecvINT_Processing+0x2c>
    2f18:	8b25      	ld.h      	r1, (r3, 0xa)
    2f1a:	3262      	movi      	r2, 98
    2f1c:	6449      	cmplt      	r2, r1
    2f1e:	0c03      	bf      	0x2f24	// 2f24 <UART1_RecvINT_Processing+0x10>
    2f20:	3200      	movi      	r2, 0
    2f22:	ab45      	st.h      	r2, (r3, 0xa)
	g_uart.RecvBuffer[g_uart.RecvLen++] = (U8_T)data;
    2f24:	8b25      	ld.h      	r1, (r3, 0xa)
    2f26:	1048      	lrw      	r2, 0x200000b4	// 2f44 <UART1_RecvINT_Processing+0x30>
    2f28:	5982      	addi      	r4, r1, 1
    2f2a:	6048      	addu      	r1, r2
    2f2c:	a100      	st.b      	r0, (r1, 0x0)
	
	g_uart.RecvIdleTiming = SysTick_1ms;
    2f2e:	227f      	addi      	r2, 128
    2f30:	1026      	lrw      	r1, 0x20000070	// 2f48 <UART1_RecvINT_Processing+0x34>
    2f32:	9120      	ld.w      	r1, (r1, 0x0)
    2f34:	b235      	st.w      	r1, (r2, 0x54)
	g_uart.Receiving = 0x01;
    2f36:	3201      	movi      	r2, 1
	g_uart.RecvBuffer[g_uart.RecvLen++] = (U8_T)data;
    2f38:	ab85      	st.h      	r4, (r3, 0xa)
	g_uart.Receiving = 0x01;
    2f3a:	a348      	st.b      	r2, (r3, 0x8)
}
    2f3c:	1481      	pop      	r4
    2f3e:	0000      	bkpt
    2f40:	20000174 	.long	0x20000174
    2f44:	200000b4 	.long	0x200000b4
    2f48:	20000070 	.long	0x20000070

Disassembly of section .text.UART1_TASK:

00002f4c <UART1_TASK>:


void UART1_TASK(void){
    2f4c:	14d2      	push      	r4-r5, r15
	U8_T rev = 0;
	if(g_uart.Receiving == 0x01){
    2f4e:	1092      	lrw      	r4, 0x20000174	// 2f94 <UART1_TASK+0x48>
    2f50:	8468      	ld.b      	r3, (r4, 0x8)
    2f52:	3b41      	cmpnei      	r3, 1
    2f54:	081e      	bt      	0x2f90	// 2f90 <UART1_TASK+0x44>
		
		if(SysTick_1ms - g_uart.RecvIdleTiming > Recv_115200_TimeOut){
    2f56:	1051      	lrw      	r2, 0x20000070	// 2f98 <UART1_TASK+0x4c>
    2f58:	10b1      	lrw      	r5, 0x20000134	// 2f9c <UART1_TASK+0x50>
    2f5a:	9260      	ld.w      	r3, (r2, 0x0)
    2f5c:	9535      	ld.w      	r1, (r5, 0x54)
    2f5e:	60c6      	subu      	r3, r1
    2f60:	3b03      	cmphsi      	r3, 4
    2f62:	0c17      	bf      	0x2f90	// 2f90 <UART1_TASK+0x44>
			g_uart.RecvIdleTiming = SysTick_1ms;
    2f64:	9260      	ld.w      	r3, (r2, 0x0)

			memcpy(g_uart.DealBuff,g_uart.RecvBuffer,g_uart.RecvLen);
    2f66:	100f      	lrw      	r0, 0x20000118	// 2fa0 <UART1_TASK+0x54>
    2f68:	102f      	lrw      	r1, 0x200000b4	// 2fa4 <UART1_TASK+0x58>
    2f6a:	8c45      	ld.h      	r2, (r4, 0xa)
			g_uart.RecvIdleTiming = SysTick_1ms;
    2f6c:	b575      	st.w      	r3, (r5, 0x54)
			memcpy(g_uart.DealBuff,g_uart.RecvBuffer,g_uart.RecvLen);
    2f6e:	e3ffee87 	bsr      	0xc7c	// c7c <__memcpy_fast>
			g_uart.DealLen = g_uart.RecvLen;
			g_uart.RecvLen = 0;
    2f72:	3300      	movi      	r3, 0
			g_uart.DealLen = g_uart.RecvLen;
    2f74:	8c25      	ld.h      	r1, (r4, 0xa)
			g_uart.Receiving = 0;
    2f76:	a468      	st.b      	r3, (r4, 0x8)
			g_uart.RecvLen = 0;
    2f78:	ac65      	st.h      	r3, (r4, 0xa)
			
			Dbg_Println(DBG_BIT_SYS_STATUS, "UART recv Len %d", g_uart.DealLen);
			Dbg_Print_Buff(DBG_BIT_SYS_STATUS,"UART buff",g_uart.DealBuff,g_uart.DealLen);
			
			if(g_uart.processing_cf != NULL){
    2f7a:	9576      	ld.w      	r3, (r5, 0x58)
    2f7c:	3b40      	cmpnei      	r3, 0
			g_uart.DealLen = g_uart.RecvLen;
    2f7e:	ac26      	st.h      	r1, (r4, 0xc)
			if(g_uart.processing_cf != NULL){
    2f80:	0c03      	bf      	0x2f86	// 2f86 <UART1_TASK+0x3a>
               rev = g_uart.processing_cf(g_uart.DealBuff,g_uart.DealLen);
    2f82:	1008      	lrw      	r0, 0x20000118	// 2fa0 <UART1_TASK+0x54>
    2f84:	7bcd      	jsr      	r3
			
			if(rev == 0x01){
				//Dbg_Print_Buff(DBG_BIT_Debug_STATUS,"error buff ",g_uart.DealBuff,g_uart.DealLen);
			}

            memset(g_uart.DealBuff,0,USART_BUFFER_SIZE);
    2f86:	3264      	movi      	r2, 100
    2f88:	3100      	movi      	r1, 0
    2f8a:	1006      	lrw      	r0, 0x20000118	// 2fa0 <UART1_TASK+0x54>
    2f8c:	e3ffee34 	bsr      	0xbf4	// bf4 <__memset_fast>
		}
	}
}
    2f90:	1492      	pop      	r4-r5, r15
    2f92:	0000      	bkpt
    2f94:	20000174 	.long	0x20000174
    2f98:	20000070 	.long	0x20000070
    2f9c:	20000134 	.long	0x20000134
    2fa0:	20000118 	.long	0x20000118
    2fa4:	200000b4 	.long	0x200000b4

Disassembly of section .text.Dbg_Println:

00002fa8 <Dbg_Println>:
    }

#endif	
}

void Dbg_Println(int DbgOptBit, const char *cmd, ...){
    2fa8:	1423      	subi      	r14, r14, 12
    2faa:	b862      	st.w      	r3, (r14, 0x8)
    2fac:	b841      	st.w      	r2, (r14, 0x4)
    2fae:	b820      	st.w      	r1, (r14, 0x0)
		
		DBG_Printf("\r\n",2);
    }

#endif	
}
    2fb0:	1403      	addi      	r14, r14, 12
    2fb2:	783c      	jmp      	r15

Disassembly of section .text.Dbg_Print_Buff:

00002fb4 <Dbg_Print_Buff>:
		
		DBG_Printf("\r\n",2);
    }

#endif	
}
    2fb4:	783c      	jmp      	r15

Disassembly of section .text.PB_Set_Power_State.part.1:

00002fb8 <PB_Set_Power_State.part.1>:

/*********************************************************************
 * @fn      PB_Set_Power_State
 * @brief   PB - 设置PB电源状态
 */
void PB_Set_Power_State(U8_T state){
    2fb8:	14d0      	push      	r15
    switch(state){
    case TRUE:
        g_PB.enable = TRUE;
    break;
    case FALSE:
        g_PB.enable = FALSE;
    2fba:	3200      	movi      	r2, 0
    2fbc:	1065      	lrw      	r3, 0x200002f0	// 2fd0 <PB_Set_Power_State.part.1+0x18>
        g_PB.power_status = FALSE;
        DRV_PB_DISABLE;
    2fbe:	310c      	movi      	r1, 12
        g_PB.enable = FALSE;
    2fc0:	a352      	st.b      	r2, (r3, 0x12)
        g_PB.power_status = FALSE;
    2fc2:	a351      	st.b      	r2, (r3, 0x11)
        DRV_PB_DISABLE;
    2fc4:	1064      	lrw      	r3, 0x2000004c	// 2fd4 <PB_Set_Power_State.part.1+0x1c>
    2fc6:	9300      	ld.w      	r0, (r3, 0x0)
    2fc8:	e3fff154 	bsr      	0x1270	// 1270 <GPIO_Write_Low>
    break;
    }
}
    2fcc:	1490      	pop      	r15
    2fce:	0000      	bkpt
    2fd0:	200002f0 	.long	0x200002f0
    2fd4:	2000004c 	.long	0x2000004c

Disassembly of section .text.PB_Set_SaveCurrent:

00002fd8 <PB_Set_SaveCurrent>:
void PB_Set_SaveCurrent(U8_T val){
    2fd8:	14d0      	push      	r15
	if( (val < PB_SaveCurrent_Min) || (val > PB_SaveCurrent_Max) )	return ;
    2fda:	5863      	subi      	r3, r0, 1
    2fdc:	74cc      	zextb      	r3, r3
    2fde:	32a4      	movi      	r2, 164
    2fe0:	64c8      	cmphs      	r2, r3
    2fe2:	0c0c      	bf      	0x2ffa	// 2ffa <PB_Set_SaveCurrent+0x22>
	curr_val = val*4095/PB_SaveCurrent_Max;
    2fe4:	406c      	lsli      	r3, r0, 12
    2fe6:	5b01      	subu      	r0, r3, r0
    2fe8:	31a5      	movi      	r1, 165
    2fea:	e3ffff23 	bsr      	0x2e30	// 2e30 <__divsi3>
	BT_Period_CMP_Write(BT0,4095,curr_val);
    2fee:	1064      	lrw      	r3, 0x2000000c	// 2ffc <PB_Set_SaveCurrent+0x24>
    2ff0:	7481      	zexth      	r2, r0
    2ff2:	1024      	lrw      	r1, 0xfff	// 3000 <PB_Set_SaveCurrent+0x28>
    2ff4:	9300      	ld.w      	r0, (r3, 0x0)
    2ff6:	e3fff260 	bsr      	0x14b6	// 14b6 <BT_Period_CMP_Write>
}
    2ffa:	1490      	pop      	r15
    2ffc:	2000000c 	.long	0x2000000c
    3000:	00000fff 	.long	0x00000fff

Disassembly of section .text.PB_Init:

00003004 <PB_Init>:
void PB_Init(void){
    3004:	14d1      	push      	r4, r15
	memset(&g_PB,0,sizeof(PB_INFO_T));
    3006:	108d      	lrw      	r4, 0x200002f0	// 3038 <PB_Init+0x34>
    3008:	3285      	movi      	r2, 133
    300a:	4243      	lsli      	r2, r2, 3
    300c:	3100      	movi      	r1, 0
    300e:	6c13      	mov      	r0, r4
    3010:	e3ffedf2 	bsr      	0xbf4	// bf4 <__memset_fast>
	memset(&curr_monitoring,0,sizeof(PB_DETECTION_FILTER_INFO));
    3014:	3100      	movi      	r1, 0
    3016:	3298      	movi      	r2, 152
    3018:	1009      	lrw      	r0, 0x20000258	// 303c <PB_Init+0x38>
    301a:	e3ffeded 	bsr      	0xbf4	// bf4 <__memset_fast>
	g_PB.enable = g_eeprom.powerbus_enable;
    301e:	1069      	lrw      	r3, 0x200007a4	// 3040 <PB_Init+0x3c>
    3020:	8340      	ld.b      	r2, (r3, 0x0)
	g_PB.protect_curr = g_eeprom.save_curr;
    3022:	8301      	ld.b      	r0, (r3, 0x1)
    g_PB.protect_time = 5000;       //5S
    3024:	3383      	movi      	r3, 131
    3026:	4363      	lsli      	r3, r3, 3
	g_PB.enable = g_eeprom.powerbus_enable;
    3028:	a452      	st.b      	r2, (r4, 0x12)
	g_PB.protect_curr = g_eeprom.save_curr;
    302a:	a415      	st.b      	r0, (r4, 0x15)
    g_PB.protect_time = 5000;       //5S
    302c:	610c      	addu      	r4, r3
    302e:	1066      	lrw      	r3, 0x1388	// 3044 <PB_Init+0x40>
    3030:	b460      	st.w      	r3, (r4, 0x0)
	PB_Set_SaveCurrent(g_PB.protect_curr);		//设置保护电流
    3032:	e3ffffd3 	bsr      	0x2fd8	// 2fd8 <PB_Set_SaveCurrent>
}
    3036:	1491      	pop      	r4, r15
    3038:	200002f0 	.long	0x200002f0
    303c:	20000258 	.long	0x20000258
    3040:	200007a4 	.long	0x200007a4
    3044:	00001388 	.long	0x00001388

Disassembly of section .text.PB_Set_Power_State:

00003048 <PB_Set_Power_State>:
void PB_Set_Power_State(U8_T state){
    3048:	14d0      	push      	r15
    switch(state){
    304a:	3840      	cmpnei      	r0, 0
    304c:	0c07      	bf      	0x305a	// 305a <PB_Set_Power_State+0x12>
    304e:	3841      	cmpnei      	r0, 1
    3050:	0804      	bt      	0x3058	// 3058 <PB_Set_Power_State+0x10>
        g_PB.enable = TRUE;
    3052:	1064      	lrw      	r3, 0x200002f0	// 3060 <PB_Set_Power_State+0x18>
    3054:	3201      	movi      	r2, 1
    3056:	a352      	st.b      	r2, (r3, 0x12)
}
    3058:	1490      	pop      	r15
    305a:	e3ffffaf 	bsr      	0x2fb8	// 2fb8 <PB_Set_Power_State.part.1>
    305e:	07fd      	br      	0x3058	// 3058 <PB_Set_Power_State+0x10>
    3060:	200002f0 	.long	0x200002f0

Disassembly of section .text.PB_Soft_Boot_Task:

00003064 <PB_Soft_Boot_Task>:

/*********************************************************************
 * @fn      PB_Soft_Boot_Task
 * @brief   PB - 软启动任务
 */
void PB_Soft_Boot_Task(void){
    3064:	14d3      	push      	r4-r6, r15
	
	if(g_PB.meas_hv_PB_State != 0x01)	return;		//PB输出电源未打开
    3066:	11bf      	lrw      	r5, 0x200002f0	// 3160 <PB_Soft_Boot_Task+0xfc>
    3068:	8566      	ld.b      	r3, (r5, 0x6)
    306a:	3b41      	cmpnei      	r3, 1
    306c:	6d17      	mov      	r4, r5
    306e:	080b      	bt      	0x3084	// 3084 <PB_Soft_Boot_Task+0x20>
	
    if(g_PB.enable != TRUE) return ;
    3070:	8572      	ld.b      	r3, (r5, 0x12)
    3072:	3b41      	cmpnei      	r3, 1
    3074:	0808      	bt      	0x3084	// 3084 <PB_Soft_Boot_Task+0x20>

    switch(g_PB.soft_boot){
    3076:	8573      	ld.b      	r3, (r5, 0x13)
    3078:	3b41      	cmpnei      	r3, 1
    307a:	0c25      	bf      	0x30c4	// 30c4 <PB_Soft_Boot_Task+0x60>
    307c:	3b40      	cmpnei      	r3, 0
    307e:	0c04      	bf      	0x3086	// 3086 <PB_Soft_Boot_Task+0x22>
    3080:	3b42      	cmpnei      	r3, 2
    3082:	0c37      	bf      	0x30f0	// 30f0 <PB_Soft_Boot_Task+0x8c>

            //Dbg_Println(DBG_BIT_SYS_STATUS, "PWM DutyHigh %d",g_PB.soft_boot_high);
        }
        break;
    }
}
    3084:	1493      	pop      	r4-r6, r15
        g_PB.soft_boot_high = 0x01;
    3086:	1178      	lrw      	r3, 0x3ae	// 3164 <PB_Soft_Boot_Task+0x100>
    3088:	60d4      	addu      	r3, r5
    308a:	3201      	movi      	r2, 1
    308c:	ab40      	st.h      	r2, (r3, 0x0)
        g_PB.soft_boot_low = PB_SOFTBOOT_PERIOD - g_PB.soft_boot_high;
    308e:	33ec      	movi      	r3, 236
    3090:	4362      	lsli      	r3, r3, 2
    3092:	60d4      	addu      	r3, r5
    3094:	3263      	movi      	r2, 99
    3096:	ab40      	st.h      	r2, (r3, 0x0)
        DRV_PB_DISABLE;
    3098:	310c      	movi      	r1, 12
        g_PB.soft_boot_tick = SysTick_100us;
    309a:	1174      	lrw      	r3, 0x2000006c	// 3168 <PB_Soft_Boot_Task+0x104>
    309c:	9340      	ld.w      	r2, (r3, 0x0)
    309e:	1174      	lrw      	r3, 0x41c	// 316c <PB_Soft_Boot_Task+0x108>
    30a0:	60d4      	addu      	r3, r5
    30a2:	b340      	st.w      	r2, (r3, 0x0)
        g_PB.soft_boot_cnt = 0;
    30a4:	33eb      	movi      	r3, 235
    30a6:	4362      	lsli      	r3, r3, 2
    30a8:	60d4      	addu      	r3, r5
    30aa:	3200      	movi      	r2, 0
    30ac:	ab40      	st.h      	r2, (r3, 0x0)
        DRV_PB_DISABLE;
    30ae:	1171      	lrw      	r3, 0x2000004c	// 3170 <PB_Soft_Boot_Task+0x10c>
    30b0:	9300      	ld.w      	r0, (r3, 0x0)
    30b2:	e3fff0df 	bsr      	0x1270	// 1270 <GPIO_Write_Low>
        g_PB.soft_boot = 0x01;
    30b6:	3301      	movi      	r3, 1
    30b8:	a573      	st.b      	r3, (r5, 0x13)
        Dbg_Println(DBG_BIT_SYS_STATUS, "PB_Soft_Boot_Task Start");
    30ba:	112f      	lrw      	r1, 0x5a17	// 3174 <PB_Soft_Boot_Task+0x110>
                Dbg_Println(DBG_BIT_SYS_STATUS, "PB_Soft_Boot_Task End");
    30bc:	3000      	movi      	r0, 0
    30be:	e3ffff75 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
    30c2:	07e1      	br      	0x3084	// 3084 <PB_Soft_Boot_Task+0x20>
        if(SysTick_100us - g_PB.soft_boot_tick >= g_PB.soft_boot_low){
    30c4:	114a      	lrw      	r2, 0x41c	// 316c <PB_Soft_Boot_Task+0x108>
    30c6:	1129      	lrw      	r1, 0x2000006c	// 3168 <PB_Soft_Boot_Task+0x104>
    30c8:	6094      	addu      	r2, r5
    30ca:	9200      	ld.w      	r0, (r2, 0x0)
    30cc:	9160      	ld.w      	r3, (r1, 0x0)
    30ce:	60c2      	subu      	r3, r0
    30d0:	30ec      	movi      	r0, 236
    30d2:	4002      	lsli      	r0, r0, 2
    30d4:	6014      	addu      	r0, r5
    30d6:	8800      	ld.h      	r0, (r0, 0x0)
    30d8:	640c      	cmphs      	r3, r0
    30da:	0fd5      	bf      	0x3084	// 3084 <PB_Soft_Boot_Task+0x20>
            g_PB.soft_boot_tick = SysTick_100us;
    30dc:	9160      	ld.w      	r3, (r1, 0x0)
    30de:	b260      	st.w      	r3, (r2, 0x0)
            DRV_PB_ENABLE;
    30e0:	310c      	movi      	r1, 12
    30e2:	1164      	lrw      	r3, 0x2000004c	// 3170 <PB_Soft_Boot_Task+0x10c>
    30e4:	9300      	ld.w      	r0, (r3, 0x0)
    30e6:	e3fff0c1 	bsr      	0x1268	// 1268 <GPIO_Write_High>
            g_PB.soft_boot = 0x02;
    30ea:	3302      	movi      	r3, 2
    30ec:	a573      	st.b      	r3, (r5, 0x13)
    30ee:	07cb      	br      	0x3084	// 3084 <PB_Soft_Boot_Task+0x20>
        if(SysTick_100us - g_PB.soft_boot_tick >= g_PB.soft_boot_high){
    30f0:	101f      	lrw      	r0, 0x41c	// 316c <PB_Soft_Boot_Task+0x108>
    30f2:	10be      	lrw      	r5, 0x2000006c	// 3168 <PB_Soft_Boot_Task+0x104>
    30f4:	103c      	lrw      	r1, 0x3ae	// 3164 <PB_Soft_Boot_Task+0x100>
    30f6:	6010      	addu      	r0, r4
    30f8:	9540      	ld.w      	r2, (r5, 0x0)
    30fa:	6050      	addu      	r1, r4
    30fc:	90c0      	ld.w      	r6, (r0, 0x0)
    30fe:	8960      	ld.h      	r3, (r1, 0x0)
    3100:	609a      	subu      	r2, r6
    3102:	64c8      	cmphs      	r2, r3
    3104:	0fc0      	bf      	0x3084	// 3084 <PB_Soft_Boot_Task+0x20>
            g_PB.soft_boot_tick = SysTick_100us;
    3106:	9540      	ld.w      	r2, (r5, 0x0)
    3108:	b040      	st.w      	r2, (r0, 0x0)
            g_PB.soft_boot_cnt++;
    310a:	30eb      	movi      	r0, 235
    310c:	4002      	lsli      	r0, r0, 2
    310e:	6010      	addu      	r0, r4
    3110:	8840      	ld.h      	r2, (r0, 0x0)
    3112:	2200      	addi      	r2, 1
    3114:	7489      	zexth      	r2, r2
            if(g_PB.soft_boot_cnt >= 3){
    3116:	3a02      	cmphsi      	r2, 3
    3118:	0813      	bt      	0x313e	// 313e <PB_Soft_Boot_Task+0xda>
            g_PB.soft_boot_cnt++;
    311a:	a840      	st.h      	r2, (r0, 0x0)
            if(g_PB.soft_boot_high >= PB_SOFTBOOT_PERIOD){
    311c:	8940      	ld.h      	r2, (r1, 0x0)
    311e:	3363      	movi      	r3, 99
    3120:	648c      	cmphs      	r3, r2
    3122:	1074      	lrw      	r3, 0x2000004c	// 3170 <PB_Soft_Boot_Task+0x10c>
                DRV_PB_ENABLE;
    3124:	310c      	movi      	r1, 12
    3126:	9300      	ld.w      	r0, (r3, 0x0)
            if(g_PB.soft_boot_high >= PB_SOFTBOOT_PERIOD){
    3128:	0817      	bt      	0x3156	// 3156 <PB_Soft_Boot_Task+0xf2>
                DRV_PB_ENABLE;
    312a:	e3fff09f 	bsr      	0x1268	// 1268 <GPIO_Write_High>
                g_PB.enable = FALSE;
    312e:	3300      	movi      	r3, 0
    3130:	a472      	st.b      	r3, (r4, 0x12)
                g_PB.power_status = TRUE;
    3132:	3301      	movi      	r3, 1
    3134:	a471      	st.b      	r3, (r4, 0x11)
                g_PB.soft_boot = 0x00;
    3136:	3300      	movi      	r3, 0
    3138:	a473      	st.b      	r3, (r4, 0x13)
                Dbg_Println(DBG_BIT_SYS_STATUS, "PB_Soft_Boot_Task End");
    313a:	1030      	lrw      	r1, 0x5a2f	// 3178 <PB_Soft_Boot_Task+0x114>
    313c:	07c0      	br      	0x30bc	// 30bc <PB_Soft_Boot_Task+0x58>
                g_PB.soft_boot_cnt = 0;
    313e:	3200      	movi      	r2, 0
    3140:	a840      	st.h      	r2, (r0, 0x0)
                g_PB.soft_boot_high++;
    3142:	2300      	addi      	r3, 1
                g_PB.soft_boot_low = PB_SOFTBOOT_PERIOD - g_PB.soft_boot_high;
    3144:	30ec      	movi      	r0, 236
                g_PB.soft_boot_high++;
    3146:	74cd      	zexth      	r3, r3
                g_PB.soft_boot_low = PB_SOFTBOOT_PERIOD - g_PB.soft_boot_high;
    3148:	4002      	lsli      	r0, r0, 2
    314a:	3264      	movi      	r2, 100
                g_PB.soft_boot_high++;
    314c:	a960      	st.h      	r3, (r1, 0x0)
                g_PB.soft_boot_low = PB_SOFTBOOT_PERIOD - g_PB.soft_boot_high;
    314e:	6010      	addu      	r0, r4
    3150:	5a6d      	subu      	r3, r2, r3
    3152:	a860      	st.h      	r3, (r0, 0x0)
    3154:	07e4      	br      	0x311c	// 311c <PB_Soft_Boot_Task+0xb8>
                DRV_PB_DISABLE;
    3156:	e3fff08d 	bsr      	0x1270	// 1270 <GPIO_Write_Low>
                g_PB.soft_boot = 0x01;
    315a:	3301      	movi      	r3, 1
    315c:	a473      	st.b      	r3, (r4, 0x13)
    315e:	0793      	br      	0x3084	// 3084 <PB_Soft_Boot_Task+0x20>
    3160:	200002f0 	.long	0x200002f0
    3164:	000003ae 	.long	0x000003ae
    3168:	2000006c 	.long	0x2000006c
    316c:	0000041c 	.long	0x0000041c
    3170:	2000004c 	.long	0x2000004c
    3174:	00005a17 	.long	0x00005a17
    3178:	00005a2f 	.long	0x00005a2f

Disassembly of section .text.PowerBus_Data_Encoding:

0000317c <PowerBus_Data_Encoding>:
/*********************************************************************
 * @fn      PB_Data_Send
 * @brief   PB - 数据发送函数
 * @return  0x00:发送没问题，0x01:发送失败
 */
U8_T PowerBus_Data_Encoding(U8_T *CodeData,U8_T *Sourdata,U16_T SourLen){
    317c:	14c4      	push      	r4-r7
    U8_T temp_num = 0;
    U8_T i=0;

    for(i=0;i<SourLen;i++){
    317e:	3300      	movi      	r3, 0
        temp_num = (Sourdata[i] >> 4) & 0x0F;
        CodeData[i*2] = PowerBus_Code_Comparative[temp_num];
    3180:	10cb      	lrw      	r6, 0x5730	// 31ac <PowerBus_Data_Encoding+0x30>
    for(i=0;i<SourLen;i++){
    3182:	648c      	cmphs      	r3, r2
    3184:	0c03      	bf      	0x318a	// 318a <PowerBus_Data_Encoding+0xe>
    }

    //Dbg_Print_Buff(DBG_BIT_SYS_STATUS, "Encoding Buff:", CodeData, SourLen*2);

    return 0x00;
}
    3186:	3000      	movi      	r0, 0
    3188:	1484      	pop      	r4-r7
        temp_num = (Sourdata[i] >> 4) & 0x0F;
    318a:	59ec      	addu      	r7, r1, r3
    318c:	8780      	ld.b      	r4, (r7, 0x0)
        CodeData[i*2] = PowerBus_Code_Comparative[temp_num];
    318e:	4c84      	lsri      	r4, r4, 4
    3190:	43a1      	lsli      	r5, r3, 1
    3192:	6118      	addu      	r4, r6
    3194:	6140      	addu      	r5, r0
    3196:	8480      	ld.b      	r4, (r4, 0x0)
    3198:	a580      	st.b      	r4, (r5, 0x0)
        temp_num = (Sourdata[i]) & 0x0F;
    319a:	8780      	ld.b      	r4, (r7, 0x0)
        CodeData[i*2 + 1] = PowerBus_Code_Comparative[temp_num];
    319c:	370f      	movi      	r7, 15
    319e:	691c      	and      	r4, r7
    31a0:	6118      	addu      	r4, r6
    31a2:	8480      	ld.b      	r4, (r4, 0x0)
    for(i=0;i<SourLen;i++){
    31a4:	2300      	addi      	r3, 1
        CodeData[i*2 + 1] = PowerBus_Code_Comparative[temp_num];
    31a6:	a581      	st.b      	r4, (r5, 0x1)
    for(i=0;i<SourLen;i++){
    31a8:	74cc      	zextb      	r3, r3
    31aa:	07ec      	br      	0x3182	// 3182 <PowerBus_Data_Encoding+0x6>
    31ac:	00005730 	.long	0x00005730

Disassembly of section .text.PB_Send_String_INT:

000031b0 <PB_Send_String_INT>:
volatile U8_T UTS_send_Length_temp = 0;
volatile U8_T UTS_send_Length = 0;

//中断发送  - 串口中断调用
void PB_Send_String_INT(void){
	if(UTS_send_Complete != 0x00){
    31b0:	1070      	lrw      	r3, 0x20000074	// 31f0 <PB_Send_String_INT+0x40>
    31b2:	8340      	ld.b      	r2, (r3, 0x0)
    31b4:	3a40      	cmpnei      	r2, 0
    31b6:	0c08      	bf      	0x31c6	// 31c6 <PB_Send_String_INT+0x16>
		if(UTS_send_Length_temp >= UTS_send_Length){
    31b8:	8321      	ld.b      	r1, (r3, 0x1)
    31ba:	8342      	ld.b      	r2, (r3, 0x2)
    31bc:	6484      	cmphs      	r1, r2
    31be:	0c05      	bf      	0x31c8	// 31c8 <PB_Send_String_INT+0x18>
			UTS_send_Complete = 0;
			UTS_send_Length_temp = 0;
		}else{
			if(UTS_send_Length_temp >= PB_INTP_BUFFER_SIZE){
				UTS_send_Complete = 0;
    31c0:	3200      	movi      	r2, 0
    31c2:	a340      	st.b      	r2, (r3, 0x0)
				UTS_send_Length_temp = 0;
    31c4:	a341      	st.b      	r2, (r3, 0x1)
				
				g_PB.send_tick = SysTick_1ms;	//更新发送时间戳
			}
		}
	}
}
    31c6:	783c      	jmp      	r15
			if(UTS_send_Length_temp >= PB_INTP_BUFFER_SIZE){
    31c8:	8321      	ld.b      	r1, (r3, 0x1)
    31ca:	32c7      	movi      	r2, 199
    31cc:	6448      	cmphs      	r2, r1
    31ce:	0ff9      	bf      	0x31c0	// 31c0 <PB_Send_String_INT+0x10>
				CSP_UART_SET_DATA(UART0,Uart_Intp_Send_Buff[UTS_send_Length_temp++]);
    31d0:	1049      	lrw      	r2, 0x20000040	// 31f4 <PB_Send_String_INT+0x44>
    31d2:	9200      	ld.w      	r0, (r2, 0x0)
    31d4:	8341      	ld.b      	r2, (r3, 0x1)
    31d6:	7488      	zextb      	r2, r2
    31d8:	5a22      	addi      	r1, r2, 1
    31da:	7444      	zextb      	r1, r1
    31dc:	a321      	st.b      	r1, (r3, 0x1)
    31de:	1067      	lrw      	r3, 0x20000190	// 31f8 <PB_Send_String_INT+0x48>
    31e0:	608c      	addu      	r2, r3
    31e2:	8260      	ld.b      	r3, (r2, 0x0)
    31e4:	b060      	st.w      	r3, (r0, 0x0)
				g_PB.send_tick = SysTick_1ms;	//更新发送时间戳
    31e6:	1066      	lrw      	r3, 0x20000070	// 31fc <PB_Send_String_INT+0x4c>
    31e8:	9340      	ld.w      	r2, (r3, 0x0)
    31ea:	1066      	lrw      	r3, 0x20000714	// 3200 <PB_Send_String_INT+0x50>
    31ec:	b340      	st.w      	r2, (r3, 0x0)
}
    31ee:	07ec      	br      	0x31c6	// 31c6 <PB_Send_String_INT+0x16>
    31f0:	20000074 	.long	0x20000074
    31f4:	20000040 	.long	0x20000040
    31f8:	20000190 	.long	0x20000190
    31fc:	20000070 	.long	0x20000070
    3200:	20000714 	.long	0x20000714

Disassembly of section .text.PowerBus_Data_Send:

00003204 <PowerBus_Data_Send>:
/*********************************************************************
 * @fn      PowerBus_Data_Send
 * @brief   PowerBus - 总线数据发送函数
 * @return  0x00:发送没问题，0x01:发送失败
 */
U8_T PowerBus_Data_Send(U8_T *data,U16_T len){
    3204:	14d4      	push      	r4-r7, r15
    3206:	173d      	subi      	r14, r14, 500
    U8_T send_buff[500];
    memset(send_buff,0,sizeof(send_buff));
    3208:	32fa      	movi      	r2, 250
U8_T PowerBus_Data_Send(U8_T *data,U16_T len){
    320a:	6d83      	mov      	r6, r0
    320c:	6dc7      	mov      	r7, r1
    memset(send_buff,0,sizeof(send_buff));
    320e:	4241      	lsli      	r2, r2, 1
    3210:	3100      	movi      	r1, 0
    3212:	6c3b      	mov      	r0, r14
		/*PowerBus - 总线通讯采用新编码格式*/
//        PowerBus_Data_Encoding(send_buff,data,len);
//		PowerBus_SendData(send_buff,len*2);

		/*PowerBus - 总线通讯 中断发送*/
		if(UTS_send_Complete == 0x00){
    3214:	10b6      	lrw      	r5, 0x20000074	// 326c <PowerBus_Data_Send+0x68>
    memset(send_buff,0,sizeof(send_buff));
    3216:	e3ffecef 	bsr      	0xbf4	// bf4 <__memset_fast>
		if(UTS_send_Complete == 0x00){
    321a:	8560      	ld.b      	r3, (r5, 0x0)
    321c:	3b40      	cmpnei      	r3, 0
    321e:	0824      	bt      	0x3266	// 3266 <PowerBus_Data_Send+0x62>
    3220:	3364      	movi      	r3, 100
    3222:	65cc      	cmphs      	r3, r7
    3224:	6d1f      	mov      	r4, r7
    3226:	0802      	bt      	0x322a	// 322a <PowerBus_Data_Send+0x26>
    3228:	3464      	movi      	r4, 100
			memset((void *)Uart_Intp_Send_Buff,0,sizeof(PB_INTP_BUFFER_SIZE));
    322a:	10f2      	lrw      	r7, 0x20000190	// 3270 <PowerBus_Data_Send+0x6c>
    322c:	7511      	zexth      	r4, r4
    322e:	3204      	movi      	r2, 4
    3230:	3100      	movi      	r1, 0
    3232:	6c1f      	mov      	r0, r7
    3234:	e3ffece0 	bsr      	0xbf4	// bf4 <__memset_fast>
			PowerBus_Data_Encoding(Uart_Intp_Send_Buff,data,send_len);
    3238:	6c93      	mov      	r2, r4
    323a:	6c5b      	mov      	r1, r6
    323c:	6c1f      	mov      	r0, r7
			UTS_send_Complete = 0x01;
			UTS_send_Length = send_len*2;
    323e:	4481      	lsli      	r4, r4, 1
			PowerBus_Data_Encoding(Uart_Intp_Send_Buff,data,send_len);
    3240:	e3ffff9e 	bsr      	0x317c	// 317c <PowerBus_Data_Encoding>
			UTS_send_Length = send_len*2;
    3244:	7510      	zextb      	r4, r4
			UTS_send_Complete = 0x01;
    3246:	3301      	movi      	r3, 1
    3248:	a560      	st.b      	r3, (r5, 0x0)
			UTS_send_Length = send_len*2;
    324a:	a582      	st.b      	r4, (r5, 0x2)
			UTS_send_Length_temp = 0x01;
    324c:	a561      	st.b      	r3, (r5, 0x1)
			UARTTxByte(UART0,Uart_Intp_Send_Buff[0]);
    324e:	8720      	ld.b      	r1, (r7, 0x0)
    3250:	1069      	lrw      	r3, 0x20000040	// 3274 <PowerBus_Data_Send+0x70>
    3252:	9300      	ld.w      	r0, (r3, 0x0)
    3254:	e3fff251 	bsr      	0x16f6	// 16f6 <UARTTxByte>
			g_PB.send_tick = SysTick_1ms;	//更新发送时间戳
    3258:	1068      	lrw      	r3, 0x20000070	// 3278 <PowerBus_Data_Send+0x74>
			//上次发送还未结束
			
			return 0xFF;
		}
		
        return 0x00;
    325a:	3000      	movi      	r0, 0
			g_PB.send_tick = SysTick_1ms;	//更新发送时间戳
    325c:	9340      	ld.w      	r2, (r3, 0x0)
    325e:	1068      	lrw      	r3, 0x20000714	// 327c <PowerBus_Data_Send+0x78>
    3260:	b340      	st.w      	r2, (r3, 0x0)
    }

    return 0x01;
}
    3262:	171d      	addi      	r14, r14, 500
    3264:	1494      	pop      	r4-r7, r15
			return 0xFF;
    3266:	30ff      	movi      	r0, 255
    3268:	07fd      	br      	0x3262	// 3262 <PowerBus_Data_Send+0x5e>
    326a:	0000      	bkpt
    326c:	20000074 	.long	0x20000074
    3270:	20000190 	.long	0x20000190
    3274:	20000040 	.long	0x20000040
    3278:	20000070 	.long	0x20000070
    327c:	20000714 	.long	0x20000714

Disassembly of section .text.PB_CheckSum:

00003280 <PB_CheckSum>:
/*********************************************************************
 * @fn      PB_CheckSum
 * @brief   PB - 数据和校验取反
 * @return  0x00:发送没问题，0x01:发送失败
 */
U8_T PB_CheckSum(U8_T *buff,U16_T len){
    3280:	6040      	addu      	r1, r0
    U8_T sum = 0;
    3282:	3300      	movi      	r3, 0

    for(U16_T i=0;i<len;i++){
    3284:	6442      	cmpne      	r0, r1
    3286:	0804      	bt      	0x328e	// 328e <PB_CheckSum+0xe>
        sum+=buff[i];
    }

    return ~(sum);
    3288:	6cce      	nor      	r3, r3
    328a:	740c      	zextb      	r0, r3
}
    328c:	783c      	jmp      	r15
        sum+=buff[i];
    328e:	8040      	ld.b      	r2, (r0, 0x0)
    3290:	60c8      	addu      	r3, r2
    3292:	74cc      	zextb      	r3, r3
    3294:	2000      	addi      	r0, 1
    3296:	07f7      	br      	0x3284	// 3284 <PB_CheckSum+0x4>

Disassembly of section .text.PB_OVERCURR_PWR_BUS_INT_Processing:

00003298 <PB_OVERCURR_PWR_BUS_INT_Processing>:
/*********************************************************************
 * @fn      PB_OVERCURR_PWR_BUS_INT_Processing
 * @brief   PB - 过流保护中断 引脚中断服务函数中调用
 * @return  NULL
 */
void PB_OVERCURR_PWR_BUS_INT_Processing(void){
    3298:	14d0      	push      	r15
    329a:	e3fffe8f 	bsr      	0x2fb8	// 2fb8 <PB_Set_Power_State.part.1>
	//if(PB_OVERCURR_PWR_BUS == 0x01){
		/*检测OverCurr引脚状态  上升沿中断信号 High:过流保护中，Low:正常工作中*/
		PB_Set_Power_State(FALSE);
        g_PB.protect_flag = TRUE;
    329e:	1066      	lrw      	r3, 0x200002f0	// 32b4 <PB_OVERCURR_PWR_BUS_INT_Processing+0x1c>
    32a0:	3201      	movi      	r2, 1
        g_PB.protect_tick = SysTick_1ms;
    32a2:	3184      	movi      	r1, 132
        g_PB.protect_flag = TRUE;
    32a4:	a354      	st.b      	r2, (r3, 0x14)
        g_PB.protect_tick = SysTick_1ms;
    32a6:	4123      	lsli      	r1, r1, 3
    32a8:	1044      	lrw      	r2, 0x20000070	// 32b8 <PB_OVERCURR_PWR_BUS_INT_Processing+0x20>
    32aa:	60c4      	addu      	r3, r1
    32ac:	9240      	ld.w      	r2, (r2, 0x0)
    32ae:	b340      	st.w      	r2, (r3, 0x0)
	//}
}
    32b0:	1490      	pop      	r15
    32b2:	0000      	bkpt
    32b4:	200002f0 	.long	0x200002f0
    32b8:	20000070 	.long	0x20000070

Disassembly of section .text.PB_Protect_Task:

000032bc <PB_Protect_Task>:

/*********************************************************************
 * @fn      PB_Protect_Task
 * @brief   PB - PB保护任务
 */
void PB_Protect_Task(void){
    32bc:	14d1      	push      	r4, r15
    if(g_PB.protect_flag == TRUE){
    32be:	1091      	lrw      	r4, 0x200002f0	// 3300 <PB_Protect_Task+0x44>
    32c0:	8474      	ld.b      	r3, (r4, 0x14)
    32c2:	3b41      	cmpnei      	r3, 1
    32c4:	081d      	bt      	0x32fe	// 32fe <PB_Protect_Task+0x42>
        Dbg_Println(DBG_BIT_SYS_STATUS, "PB Protect ....");
    32c6:	1030      	lrw      	r1, 0x5a45	// 3304 <PB_Protect_Task+0x48>
    32c8:	3000      	movi      	r0, 0
    32ca:	e3fffe6f 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
        if(PB_OVERCURR_PWR_BUS == 0x00){
    32ce:	106f      	lrw      	r3, 0x20000048	// 3308 <PB_Protect_Task+0x4c>
    32d0:	3101      	movi      	r1, 1
    32d2:	9300      	ld.w      	r0, (r3, 0x0)
    32d4:	e3ffefd2 	bsr      	0x1278	// 1278 <GPIO_Read_Status>
    32d8:	3840      	cmpnei      	r0, 0
    32da:	0812      	bt      	0x32fe	// 32fe <PB_Protect_Task+0x42>
            if(SysTick_1ms - g_PB.protect_tick >= g_PB.protect_time){
    32dc:	3284      	movi      	r2, 132
    32de:	4243      	lsli      	r2, r2, 3
    32e0:	106b      	lrw      	r3, 0x20000070	// 330c <PB_Protect_Task+0x50>
    32e2:	6090      	addu      	r2, r4
    32e4:	9240      	ld.w      	r2, (r2, 0x0)
    32e6:	9360      	ld.w      	r3, (r3, 0x0)
    32e8:	60ca      	subu      	r3, r2
    32ea:	3283      	movi      	r2, 131
    32ec:	4243      	lsli      	r2, r2, 3
    32ee:	6090      	addu      	r2, r4
    32f0:	9240      	ld.w      	r2, (r2, 0x0)
    32f2:	648c      	cmphs      	r3, r2
    32f4:	0c05      	bf      	0x32fe	// 32fe <PB_Protect_Task+0x42>
                g_PB.protect_flag = FALSE;
    32f6:	3300      	movi      	r3, 0
    32f8:	a474      	st.b      	r3, (r4, 0x14)
        g_PB.enable = TRUE;
    32fa:	3301      	movi      	r3, 1
    32fc:	a472      	st.b      	r3, (r4, 0x12)

                //Dbg_Println(DBG_BIT_SYS_STATUS, "重新开启PB电源");
            }
        }
    }
}
    32fe:	1491      	pop      	r4, r15
    3300:	200002f0 	.long	0x200002f0
    3304:	00005a45 	.long	0x00005a45
    3308:	20000048 	.long	0x20000048
    330c:	20000070 	.long	0x20000070

Disassembly of section .text.PB_Scan_State_Task:

00003310 <PB_Scan_State_Task>:

/*********************************************************************
 * @fn      PB_Scan_State_Task
 * @brief   PB - 扫描状态 - 1ms一次，确保状态可以及时更新
 */
void PB_Scan_State_Task(void){
    3310:	14d0      	push      	r15

    /*检测OverCurr引脚状态，High:过流保护中，Low:正常工作中*/
    if(PB_OVERCURR_PWR_BUS == 0x01){
    3312:	106a      	lrw      	r3, 0x20000048	// 3338 <PB_Scan_State_Task+0x28>
    3314:	3101      	movi      	r1, 1
    3316:	9300      	ld.w      	r0, (r3, 0x0)
    3318:	e3ffefb0 	bsr      	0x1278	// 1278 <GPIO_Read_Status>
    331c:	3841      	cmpnei      	r0, 1
    331e:	080c      	bt      	0x3336	// 3336 <PB_Scan_State_Task+0x26>
    3320:	e3fffe4c 	bsr      	0x2fb8	// 2fb8 <PB_Set_Power_State.part.1>
        PB_Set_Power_State(FALSE);
        g_PB.protect_flag = TRUE;
    3324:	1066      	lrw      	r3, 0x200002f0	// 333c <PB_Scan_State_Task+0x2c>
    3326:	3201      	movi      	r2, 1
        g_PB.protect_tick = SysTick_1ms;
    3328:	3184      	movi      	r1, 132
        g_PB.protect_flag = TRUE;
    332a:	a354      	st.b      	r2, (r3, 0x14)
        g_PB.protect_tick = SysTick_1ms;
    332c:	4123      	lsli      	r1, r1, 3
    332e:	1045      	lrw      	r2, 0x20000070	// 3340 <PB_Scan_State_Task+0x30>
    3330:	60c4      	addu      	r3, r1
    3332:	9240      	ld.w      	r2, (r2, 0x0)
    3334:	b340      	st.w      	r2, (r3, 0x0)

        //Dbg_Println(DBG_BIT_SYS_STATUS, "检测到 OverCurr High状态");
    }
}
    3336:	1490      	pop      	r15
    3338:	20000048 	.long	0x20000048
    333c:	200002f0 	.long	0x200002f0
    3340:	20000070 	.long	0x20000070

Disassembly of section .text.PowerBus_FillSendBuff:

00003344 <PowerBus_FillSendBuff>:
/*********************************************************************
 * @fn      PowerBus_FillSendBuff
 * @brief   PowerBus - 写入发送缓冲区中
 * @return  NULL
 */
void PowerBus_FillSendBuff(U8_T resendNum,U8_T *data,U8_T len){
    3344:	14d2      	push      	r4-r5, r15
    3346:	3364      	movi      	r3, 100
    3348:	648c      	cmphs      	r3, r2
    334a:	6d4b      	mov      	r5, r2
    334c:	0802      	bt      	0x3350	// 3350 <PowerBus_FillSendBuff+0xc>
    334e:	3564      	movi      	r5, 100
    if(len >= PB_BUFFER_SIZE) len = PB_BUFFER_SIZE;

	g_PB.resendNum = resendNum;
    3350:	106d      	lrw      	r3, 0x200002f0	// 3384 <PowerBus_FillSendBuff+0x40>
    3352:	108e      	lrw      	r4, 0x3a9	// 3388 <PowerBus_FillSendBuff+0x44>
    3354:	610c      	addu      	r4, r3
    3356:	a400      	st.b      	r0, (r4, 0x0)
    g_PB.sendbufferlen[g_PB.sendWriteCnt] = len;
    3358:	3480      	movi      	r4, 128
    335a:	610c      	addu      	r4, r3
    335c:	8400      	ld.b      	r0, (r4, 0x0)
    335e:	60c0      	addu      	r3, r0
    3360:	2380      	addi      	r3, 129
    3362:	a3a0      	st.b      	r5, (r3, 0x0)
    memcpy(g_PB.sendbuffer[g_PB.sendWriteCnt], data, len);
    3364:	3364      	movi      	r3, 100
    3366:	7c0c      	mult      	r0, r3
    3368:	1069      	lrw      	r3, 0x20000379	// 338c <PowerBus_FillSendBuff+0x48>
    336a:	600c      	addu      	r0, r3
    336c:	7494      	zextb      	r2, r5
    336e:	e3ffec87 	bsr      	0xc7c	// c7c <__memcpy_fast>

    g_PB.sendWriteCnt++;
    3372:	8460      	ld.b      	r3, (r4, 0x0)
    3374:	2300      	addi      	r3, 1
    3376:	74cc      	zextb      	r3, r3
    if(g_PB.sendWriteCnt >= PB_BUFFER_NUM){
    3378:	3b07      	cmphsi      	r3, 8
    337a:	0803      	bt      	0x3380	// 3380 <PowerBus_FillSendBuff+0x3c>
        g_PB.sendWriteCnt = 0;
    337c:	a460      	st.b      	r3, (r4, 0x0)
    }
}
    337e:	1492      	pop      	r4-r5, r15
        g_PB.sendWriteCnt = 0;
    3380:	3300      	movi      	r3, 0
    3382:	07fd      	br      	0x337c	// 337c <PowerBus_FillSendBuff+0x38>
    3384:	200002f0 	.long	0x200002f0
    3388:	000003a9 	.long	0x000003a9
    338c:	20000379 	.long	0x20000379

Disassembly of section .text.PowerBus_PackFillBuff:

00003390 <PowerBus_PackFillBuff>:
/*********************************************************************
 * @fn      PowerBus_PackFillBuff
 * @brief   PowerBus - 数据打包并写入发生缓冲区中
 * @return  NULL
 */
void PowerBus_PackFillBuff(U8_T resendNum,U8_T cmd,U8_T *data,U8_T len){
    3390:	14d4      	push      	r4-r7, r15
    3392:	1422      	subi      	r14, r14, 8

    g_PB.sendSN++;
    3394:	11a6      	lrw      	r5, 0x20000350	// 342c <PowerBus_PackFillBuff+0x9c>
void PowerBus_PackFillBuff(U8_T resendNum,U8_T cmd,U8_T *data,U8_T len){
    3396:	b841      	st.w      	r2, (r14, 0x4)
    g_PB.sendSN++;
    3398:	855d      	ld.b      	r2, (r5, 0x1d)
    339a:	2200      	addi      	r2, 1
void PowerBus_PackFillBuff(U8_T resendNum,U8_T cmd,U8_T *data,U8_T len){
    339c:	b820      	st.w      	r1, (r14, 0x0)
    g_PB.sendSN++;
    339e:	7488      	zextb      	r2, r2
    if(g_PB.sendSN >= 0xFA) g_PB.sendSN = 0x01;     //SN号范围 1~250
    33a0:	31f9      	movi      	r1, 249
    33a2:	6484      	cmphs      	r1, r2
    33a4:	0c3f      	bf      	0x3422	// 3422 <PowerBus_PackFillBuff+0x92>
    33a6:	a55d      	st.b      	r2, (r5, 0x1d)

    g_PB.resendNum = resendNum;
    33a8:	1142      	lrw      	r2, 0x20000699	// 3430 <PowerBus_PackFillBuff+0xa0>
    33aa:	a200      	st.b      	r0, (r2, 0x0)

    if((len + PowerBUS_FMT_PARAM) >= PB_BUFFER_SIZE) len = PB_BUFFER_SIZE - PowerBUS_FMT_PARAM;      //参数加上包头长度大于上限
    33ac:	325f      	movi      	r2, 95
    33ae:	64c9      	cmplt      	r2, r3
    33b0:	0c02      	bf      	0x33b4	// 33b4 <PowerBus_PackFillBuff+0x24>
    33b2:	3360      	movi      	r3, 96

    g_PB.sendbufferlen[g_PB.sendWriteCnt] = len + PowerBUS_FMT_PARAM;
    33b4:	1180      	lrw      	r4, 0x200002f0	// 3434 <PowerBus_PackFillBuff+0xa4>
    33b6:	3680      	movi      	r6, 128
    33b8:	6190      	addu      	r6, r4
    33ba:	8600      	ld.b      	r0, (r6, 0x0)
    33bc:	5b4e      	addi      	r2, r3, 4
    33be:	5c20      	addu      	r1, r4, r0
    33c0:	7488      	zextb      	r2, r2
    33c2:	2180      	addi      	r1, 129
    33c4:	a140      	st.b      	r2, (r1, 0x0)
    g_PB.sendbuffer[g_PB.sendWriteCnt][PowerBUS_FMT_LEN] = g_PB.sendbufferlen[g_PB.sendWriteCnt];
    33c6:	3164      	movi      	r1, 100
    33c8:	7c04      	mult      	r0, r1
    33ca:	5c20      	addu      	r1, r4, r0
    33cc:	3789      	movi      	r7, 137
    33ce:	61c4      	addu      	r7, r1
    33d0:	a740      	st.b      	r2, (r7, 0x0)
    g_PB.sendbuffer[g_PB.sendWriteCnt][PowerBUS_FMT_SN] = g_PB.sendSN;
    33d2:	328a      	movi      	r2, 138
    33d4:	6084      	addu      	r2, r1
    33d6:	85bd      	ld.b      	r5, (r5, 0x1d)
    33d8:	a2a0      	st.b      	r5, (r2, 0x0)
    g_PB.sendbuffer[g_PB.sendWriteCnt][PowerBUS_FMT_CKS] = 0x00;
    33da:	358b      	movi      	r5, 139
    33dc:	5954      	addu      	r2, r1, r5
    33de:	3700      	movi      	r7, 0
    33e0:	a2e0      	st.b      	r7, (r2, 0x0)
    g_PB.sendbuffer[g_PB.sendWriteCnt][PowerBUS_FMT_CMD] = cmd;
    33e2:	218b      	addi      	r1, 140
    33e4:	d84e0000 	ld.b      	r2, (r14, 0x0)
    33e8:	a140      	st.b      	r2, (r1, 0x0)

    memcpy(&g_PB.sendbuffer[g_PB.sendWriteCnt][PowerBUS_FMT_PARAM], data, len);
    33ea:	1054      	lrw      	r2, 0x2000037d	// 3438 <PowerBus_PackFillBuff+0xa8>
    33ec:	6008      	addu      	r0, r2
    33ee:	9821      	ld.w      	r1, (r14, 0x4)
    33f0:	6c8f      	mov      	r2, r3
    33f2:	e3ffec45 	bsr      	0xc7c	// c7c <__memcpy_fast>

    g_PB.sendbuffer[g_PB.sendWriteCnt][PowerBUS_FMT_CKS] = PB_CheckSum(&g_PB.sendbuffer[g_PB.sendWriteCnt][PowerBUS_FMT_LEN], g_PB.sendbufferlen[g_PB.sendWriteCnt]);
    33f6:	86e0      	ld.b      	r7, (r6, 0x0)
    33f8:	5c7c      	addu      	r3, r4, r7
    33fa:	2380      	addi      	r3, 129
    33fc:	8320      	ld.b      	r1, (r3, 0x0)
    33fe:	3364      	movi      	r3, 100
    3400:	7cdc      	mult      	r3, r7
    3402:	100f      	lrw      	r0, 0x20000379	// 343c <PowerBus_PackFillBuff+0xac>
    3404:	600c      	addu      	r0, r3
    3406:	b860      	st.w      	r3, (r14, 0x0)

//	Dbg_Print_Buff(DBG_BIT_SYS_STATUS, "Data Buff:", data, len);
//	Dbg_Print_Buff(DBG_BIT_SYS_STATUS, "Send Buff:", g_PB.sendbuffer[g_PB.sendWriteCnt], g_PB.sendbufferlen[g_PB.sendWriteCnt]);

    g_PB.sendWriteCnt++;
    3408:	2700      	addi      	r7, 1
    g_PB.sendbuffer[g_PB.sendWriteCnt][PowerBUS_FMT_CKS] = PB_CheckSum(&g_PB.sendbuffer[g_PB.sendWriteCnt][PowerBUS_FMT_LEN], g_PB.sendbufferlen[g_PB.sendWriteCnt]);
    340a:	e3ffff3b 	bsr      	0x3280	// 3280 <PB_CheckSum>
    340e:	9860      	ld.w      	r3, (r14, 0x0)
    3410:	610c      	addu      	r4, r3
    g_PB.sendWriteCnt++;
    3412:	75dc      	zextb      	r7, r7
    g_PB.sendbuffer[g_PB.sendWriteCnt][PowerBUS_FMT_CKS] = PB_CheckSum(&g_PB.sendbuffer[g_PB.sendWriteCnt][PowerBUS_FMT_LEN], g_PB.sendbufferlen[g_PB.sendWriteCnt]);
    3414:	6150      	addu      	r5, r4
    if(g_PB.sendWriteCnt >= PB_BUFFER_NUM){
    3416:	3f07      	cmphsi      	r7, 8
    g_PB.sendbuffer[g_PB.sendWriteCnt][PowerBUS_FMT_CKS] = PB_CheckSum(&g_PB.sendbuffer[g_PB.sendWriteCnt][PowerBUS_FMT_LEN], g_PB.sendbufferlen[g_PB.sendWriteCnt]);
    3418:	a500      	st.b      	r0, (r5, 0x0)
    if(g_PB.sendWriteCnt >= PB_BUFFER_NUM){
    341a:	0806      	bt      	0x3426	// 3426 <PowerBus_PackFillBuff+0x96>
    g_PB.sendWriteCnt++;
    341c:	a6e0      	st.b      	r7, (r6, 0x0)
        g_PB.sendWriteCnt = 0;
    }

}
    341e:	1402      	addi      	r14, r14, 8
    3420:	1494      	pop      	r4-r7, r15
    if(g_PB.sendSN >= 0xFA) g_PB.sendSN = 0x01;     //SN号范围 1~250
    3422:	3201      	movi      	r2, 1
    3424:	07c1      	br      	0x33a6	// 33a6 <PowerBus_PackFillBuff+0x16>
        g_PB.sendWriteCnt = 0;
    3426:	3300      	movi      	r3, 0
    3428:	a660      	st.b      	r3, (r6, 0x0)
}
    342a:	07fa      	br      	0x341e	// 341e <PowerBus_PackFillBuff+0x8e>
    342c:	20000350 	.long	0x20000350
    3430:	20000699 	.long	0x20000699
    3434:	200002f0 	.long	0x200002f0
    3438:	2000037d 	.long	0x2000037d
    343c:	20000379 	.long	0x20000379

Disassembly of section .text.PowerBUS_GetCommState:

00003440 <PowerBUS_GetCommState>:
 * @brief   BLV PowerBus 获取当前PowerBUS总线发送状态
 * @return  none
 */
U8_T PowerBUS_GetCommState(void){
	
	if(g_PB.sendWriteCnt != g_PB.sendReadCnt){
    3440:	1066      	lrw      	r3, 0x200002f0	// 3458 <PowerBUS_GetCommState+0x18>
    3442:	3280      	movi      	r2, 128
    3444:	608c      	addu      	r2, r3
    3446:	235f      	addi      	r3, 96
    3448:	8240      	ld.b      	r2, (r2, 0x0)
    344a:	837f      	ld.b      	r3, (r3, 0x1f)
    344c:	64ca      	cmpne      	r2, r3
    344e:	3000      	movi      	r0, 0
    3450:	6001      	addc      	r0, r0
    3452:	7400      	zextb      	r0, r0
		return 0x01;
	}
	
	return 0x00;
}
    3454:	783c      	jmp      	r15
    3456:	0000      	bkpt
    3458:	200002f0 	.long	0x200002f0

Disassembly of section .text.PB_FilACkPacket:

0000345c <PB_FilACkPacket>:
/*********************************************************************
 * @fn      PB_FilACkPacket
 * @brief   BLV PB控制协议 - 数据打包函数
 * @return  none
 */
void PB_FilACkPacket(U8_T *ackBuff,U8_T ackLen){
    345c:	14d1      	push      	r4, r15
    ackBuff[PB_FMT_ADDR_TX] = PB_DEV_Addr;
    345e:	3301      	movi      	r3, 1
    3460:	a060      	st.b      	r3, (r0, 0x0)
void PB_FilACkPacket(U8_T *ackBuff,U8_T ackLen){
    3462:	6d03      	mov      	r4, r0
    ackBuff[PB_FMT_TYPE] = (g_PB.recv_sn & 0x0F);
    3464:	106a      	lrw      	r3, 0x200002f0	// 348c <PB_FilACkPacket+0x30>
    3466:	8357      	ld.b      	r2, (r3, 0x17)
    3468:	300f      	movi      	r0, 15
    346a:	6880      	and      	r2, r0
    346c:	a441      	st.b      	r2, (r4, 0x1)
    ackBuff[PB_FMT_DEV_TYPE] = PB_DEV_TYPE;
    346e:	3230      	movi      	r2, 48
    3470:	a442      	st.b      	r2, (r4, 0x2)
    ackBuff[PB_FMT_ADDR_RX] = g_PB.recv_addr;
    3472:	8356      	ld.b      	r2, (r3, 0x16)
    3474:	a443      	st.b      	r2, (r4, 0x3)
    ackBuff[PB_FMT_LEN] = ackLen;
    ackBuff[PB_FMT_CKS] = 0x00;
    3476:	3200      	movi      	r2, 0
    ackBuff[PB_FMT_LEN] = ackLen;
    3478:	a424      	st.b      	r1, (r4, 0x4)
    ackBuff[PB_FMT_CKS] = 0x00;
    347a:	a445      	st.b      	r2, (r4, 0x5)
    ackBuff[PB_FMT_CMD] = g_PB.recv_cmd;
    347c:	8378      	ld.b      	r3, (r3, 0x18)
    347e:	a466      	st.b      	r3, (r4, 0x6)

    ackBuff[PB_FMT_CKS] = PB_CheckSum(ackBuff, ackLen);
    3480:	7445      	zexth      	r1, r1
    3482:	6c13      	mov      	r0, r4
    3484:	e3fffefe 	bsr      	0x3280	// 3280 <PB_CheckSum>
    3488:	a405      	st.b      	r0, (r4, 0x5)
}
    348a:	1491      	pop      	r4, r15
    348c:	200002f0 	.long	0x200002f0

Disassembly of section .text.PB_RS485_ReplyAck:

00003490 <PB_RS485_ReplyAck>:
/*********************************************************************
 * @fn      PB_RS485_ReplyAck
 * @brief   BLV PB控制协议 - 应答回复
 * @return  none
 */
void PB_RS485_ReplyAck(void){
    3490:	14d2      	push      	r4-r5, r15
    g_PB.ackLen += PB_FMT_PARA;
    3492:	10ab      	lrw      	r5, 0x200002f0	// 34bc <PB_RS485_ReplyAck+0x2c>
    3494:	108b      	lrw      	r4, 0x3aa	// 34c0 <PB_RS485_ReplyAck+0x30>
    3496:	6114      	addu      	r4, r5
    3498:	8c60      	ld.h      	r3, (r4, 0x0)
    349a:	2306      	addi      	r3, 7
    349c:	74cd      	zexth      	r3, r3

    PB_FilACkPacket(g_PB.ackbuff,g_PB.ackLen);
    349e:	2518      	addi      	r5, 25
    34a0:	744c      	zextb      	r1, r3
    34a2:	6c17      	mov      	r0, r5
    g_PB.ackLen += PB_FMT_PARA;
    34a4:	ac60      	st.h      	r3, (r4, 0x0)
    PB_FilACkPacket(g_PB.ackbuff,g_PB.ackLen);
    34a6:	e3ffffdb 	bsr      	0x345c	// 345c <PB_FilACkPacket>
    RCU_PB_SendData(g_PB.ackbuff,g_PB.ackLen);
    34aa:	1067      	lrw      	r3, 0x2000003c	// 34c4 <PB_RS485_ReplyAck+0x34>
    34ac:	8c40      	ld.h      	r2, (r4, 0x0)
    34ae:	9300      	ld.w      	r0, (r3, 0x0)
    34b0:	6c57      	mov      	r1, r5
    34b2:	e3fff129 	bsr      	0x1704	// 1704 <UARTTransmit>
	
	g_PB.ackLen = 0;
    34b6:	3300      	movi      	r3, 0
    34b8:	ac60      	st.h      	r3, (r4, 0x0)
}
    34ba:	1492      	pop      	r4-r5, r15
    34bc:	200002f0 	.long	0x200002f0
    34c0:	000003aa 	.long	0x000003aa
    34c4:	2000003c 	.long	0x2000003c

Disassembly of section .text.PB_Set_CH_SaveBrightnessInfo:

000034c8 <PB_Set_CH_SaveBrightnessInfo>:
/*********************************************************************
 * @fn      PB_Set_CH_SaveBrightnessInfo
 * @brief   PB - 设置灯带回路保存灯光参数
 * @return  0x00:处理成功，其他值：处理失败
 */
U8_T PB_Set_CH_SaveBrightnessInfo(U8_T loop,U8_T brightness,U16_T gradualtime){
    34c8:	14d1      	push      	r4, r15
	
	switch(loop){
    34ca:	3803      	cmphsi      	r0, 4
U8_T PB_Set_CH_SaveBrightnessInfo(U8_T loop,U8_T brightness,U16_T gradualtime){
    34cc:	6d03      	mov      	r4, r0
	switch(loop){
    34ce:	0814      	bt      	0x34f6	// 34f6 <PB_Set_CH_SaveBrightnessInfo+0x2e>
    34d0:	106b      	lrw      	r3, 0x200007a4	// 34fc <PB_Set_CH_SaveBrightnessInfo+0x34>
    34d2:	e3ffe671 	bsr      	0x1b4	// 1b4 <___gnu_csky_case_uqi>
    34d6:	0602      	.short	0x0602
    34d8:	0d0a      	.short	0x0d0a
		case PWM_OUT_CH1:
			g_eeprom.brightness[PWM_OUT_CH1] = brightness;
    34da:	a329      	st.b      	r1, (r3, 0x9)
			g_eeprom.gradialTime[PWM_OUT_CH1] = gradualtime;
    34dc:	ab47      	st.h      	r2, (r3, 0xe)
			return 0x01;
			break;
	}
	
	return 0x00;
}
    34de:	6c13      	mov      	r0, r4
    34e0:	1491      	pop      	r4, r15
			g_eeprom.brightness[PWM_OUT_CH2] = brightness;
    34e2:	a32a      	st.b      	r1, (r3, 0xa)
			g_eeprom.gradialTime[PWM_OUT_CH2] = gradualtime;
    34e4:	ab48      	st.h      	r2, (r3, 0x10)
	return 0x00;
    34e6:	3400      	movi      	r4, 0
			break;
    34e8:	07fb      	br      	0x34de	// 34de <PB_Set_CH_SaveBrightnessInfo+0x16>
			g_eeprom.brightness[PWM_OUT_CH3] = brightness;
    34ea:	a32b      	st.b      	r1, (r3, 0xb)
			g_eeprom.gradialTime[PWM_OUT_CH3] = gradualtime;
    34ec:	ab49      	st.h      	r2, (r3, 0x12)
    34ee:	07fc      	br      	0x34e6	// 34e6 <PB_Set_CH_SaveBrightnessInfo+0x1e>
			g_eeprom.brightness[PWM_OUT_CH4] = brightness;
    34f0:	a32c      	st.b      	r1, (r3, 0xc)
			g_eeprom.gradialTime[PWM_OUT_CH4] = gradualtime;
    34f2:	ab4a      	st.h      	r2, (r3, 0x14)
    34f4:	07f9      	br      	0x34e6	// 34e6 <PB_Set_CH_SaveBrightnessInfo+0x1e>
			return 0x01;
    34f6:	3401      	movi      	r4, 1
    34f8:	07f3      	br      	0x34de	// 34de <PB_Set_CH_SaveBrightnessInfo+0x16>
    34fa:	0000      	bkpt
    34fc:	200007a4 	.long	0x200007a4

Disassembly of section .text.PB_Set_CH_SaveSwitchInfo:

00003500 <PB_Set_CH_SaveSwitchInfo>:
/*********************************************************************
 * @fn      PB_Set_CH_SaveSwitchInfo
 * @brief   PB - 设置灯带回路保存开关状态参数
 * @return  0x00:处理成功，其他值：处理失败
 */
U8_T PB_Set_CH_SaveSwitchInfo(U8_T loop,U8_T switch_state){
    3500:	14d0      	push      	r15
	
	switch(loop){
    3502:	3803      	cmphsi      	r0, 4
U8_T PB_Set_CH_SaveSwitchInfo(U8_T loop,U8_T switch_state){
    3504:	6cc3      	mov      	r3, r0
	switch(loop){
    3506:	0810      	bt      	0x3526	// 3526 <PB_Set_CH_SaveSwitchInfo+0x26>
    3508:	1049      	lrw      	r2, 0x200007a4	// 352c <PB_Set_CH_SaveSwitchInfo+0x2c>
    350a:	e3ffe655 	bsr      	0x1b4	// 1b4 <___gnu_csky_case_uqi>
    350e:	0502      	.short	0x0502
    3510:	0a08      	.short	0x0a08
		case PWM_OUT_CH1:
			g_eeprom.swithcState[PWM_OUT_CH1] = switch_state;
    3512:	a225      	st.b      	r1, (r2, 0x5)
			return 0x01;
			break;
	}
	
	return 0x00;
}
    3514:	6c0f      	mov      	r0, r3
    3516:	1490      	pop      	r15
			g_eeprom.swithcState[PWM_OUT_CH2] = switch_state;
    3518:	a226      	st.b      	r1, (r2, 0x6)
	return 0x00;
    351a:	3300      	movi      	r3, 0
			break;
    351c:	07fc      	br      	0x3514	// 3514 <PB_Set_CH_SaveSwitchInfo+0x14>
			g_eeprom.swithcState[PWM_OUT_CH3] = switch_state;
    351e:	a227      	st.b      	r1, (r2, 0x7)
    3520:	07fd      	br      	0x351a	// 351a <PB_Set_CH_SaveSwitchInfo+0x1a>
			g_eeprom.swithcState[PWM_OUT_CH4] = switch_state;
    3522:	a228      	st.b      	r1, (r2, 0x8)
    3524:	07fb      	br      	0x351a	// 351a <PB_Set_CH_SaveSwitchInfo+0x1a>
			return 0x01;
    3526:	3301      	movi      	r3, 1
    3528:	07f6      	br      	0x3514	// 3514 <PB_Set_CH_SaveSwitchInfo+0x14>
    352a:	0000      	bkpt
    352c:	200007a4 	.long	0x200007a4

Disassembly of section .text.PB_ACK_SET_LED_BRIGHTNESS:

00003530 <PB_ACK_SET_LED_BRIGHTNESS>:
/*********************************************************************
 * @fn      PB_ACK_SET_LED_BRIGHTNESS
 * @brief   BLV PB控制协议 - 设定灯带亮度
 * @return  none
 */
void PB_ACK_SET_LED_BRIGHTNESS(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3530:	14d4      	push      	r4-r7, r15
    3532:	1427      	subi      	r14, r14, 28
	U8_T chnMask = para[PB_FMT_PARA];
    3534:	8067      	ld.b      	r3, (r0, 0x7)
    3536:	b862      	st.w      	r3, (r14, 0x8)
	U8_T i = 0,save_flag = 0;
    3538:	3300      	movi      	r3, 0
    353a:	3509      	movi      	r5, 9
    353c:	b861      	st.w      	r3, (r14, 0x4)
void PB_ACK_SET_LED_BRIGHTNESS(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    353e:	6dc3      	mov      	r7, r0

			temp_val = para[PB_FMT_PARA+6+i]*100;
			PWM_SetCHGradualTime(i, temp_val);
			PWM_SetOutBrightness(i, para[PB_FMT_PARA+2+i]);
			
			Dbg_Println(DBG_BIT_SYS_STATUS,"Set PWM%d - %d %d",i,para[PB_FMT_PARA+2+i],para[PB_FMT_PARA+6]);
    3540:	1160      	lrw      	r3, 0x5a55	// 35c0 <PB_ACK_SET_LED_BRIGHTNESS+0x90>
    3542:	6140      	addu      	r5, r0
void PB_ACK_SET_LED_BRIGHTNESS(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3544:	b823      	st.w      	r1, (r14, 0xc)
    3546:	b844      	st.w      	r2, (r14, 0x10)
	U8_T chnMask = para[PB_FMT_PARA];
    3548:	3400      	movi      	r4, 0
			Dbg_Println(DBG_BIT_SYS_STATUS,"Set PWM%d - %d %d",i,para[PB_FMT_PARA+2+i],para[PB_FMT_PARA+6]);
    354a:	b865      	st.w      	r3, (r14, 0x14)
    354c:	74d0      	zextb      	r3, r4
    354e:	b866      	st.w      	r3, (r14, 0x18)
		if((chnMask & (0x01 << i)) != 0x00){
    3550:	9862      	ld.w      	r3, (r14, 0x8)
    3552:	70d2      	asr      	r3, r4
    3554:	3201      	movi      	r2, 1
    3556:	68c8      	and      	r3, r2
    3558:	3b40      	cmpnei      	r3, 0
    355a:	0c20      	bf      	0x359a	// 359a <PB_ACK_SET_LED_BRIGHTNESS+0x6a>
			temp_val = para[PB_FMT_PARA+6+i]*100;
    355c:	3364      	movi      	r3, 100
    355e:	85c4      	ld.b      	r6, (r5, 0x4)
    3560:	7d8c      	mult      	r6, r3
    3562:	7599      	zexth      	r6, r6
			PWM_SetCHGradualTime(i, temp_val);
    3564:	6c5b      	mov      	r1, r6
    3566:	7410      	zextb      	r0, r4
    3568:	e0000bd2 	bsr      	0x4d0c	// 4d0c <PWM_SetCHGradualTime>
			PWM_SetOutBrightness(i, para[PB_FMT_PARA+2+i]);
    356c:	8520      	ld.b      	r1, (r5, 0x0)
    356e:	7410      	zextb      	r0, r4
    3570:	e0000bd8 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
			Dbg_Println(DBG_BIT_SYS_STATUS,"Set PWM%d - %d %d",i,para[PB_FMT_PARA+2+i],para[PB_FMT_PARA+6]);
    3574:	874d      	ld.b      	r2, (r7, 0xd)
    3576:	8560      	ld.b      	r3, (r5, 0x0)
    3578:	9825      	ld.w      	r1, (r14, 0x14)
    357a:	b840      	st.w      	r2, (r14, 0x0)
    357c:	3000      	movi      	r0, 0
    357e:	6c93      	mov      	r2, r4
    3580:	e3fffd14 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
		
			//是否保存参数
			if( para[PB_FMT_PARA+1] == 0xF1){
    3584:	8748      	ld.b      	r2, (r7, 0x8)
    3586:	33f1      	movi      	r3, 241
    3588:	64ca      	cmpne      	r2, r3
    358a:	0808      	bt      	0x359a	// 359a <PB_ACK_SET_LED_BRIGHTNESS+0x6a>
				PB_Set_CH_SaveBrightnessInfo(i,para[PB_FMT_PARA+2+i],temp_val);
    358c:	8520      	ld.b      	r1, (r5, 0x0)
    358e:	6c9b      	mov      	r2, r6
    3590:	7410      	zextb      	r0, r4
    3592:	e3ffff9b 	bsr      	0x34c8	// 34c8 <PB_Set_CH_SaveBrightnessInfo>
				save_flag = 0x01;
    3596:	3301      	movi      	r3, 1
    3598:	b861      	st.w      	r3, (r14, 0x4)
    359a:	2400      	addi      	r4, 1
	for(i=0;i<PWM_OUT_CH_MAX;i++){
    359c:	3c44      	cmpnei      	r4, 4
    359e:	2500      	addi      	r5, 1
    35a0:	0bd6      	bt      	0x354c	// 354c <PB_ACK_SET_LED_BRIGHTNESS+0x1c>
//			
//			Dbg_Println(DBG_BIT_SYS_STATUS,"Set PWM%d - %d %d",i,para[PB_FMT_PARA+3+i],temp_val);
//		}
//	}
	
	if(save_flag == 0x01){
    35a2:	9861      	ld.w      	r3, (r14, 0x4)
    35a4:	3b41      	cmpnei      	r3, 1
    35a6:	0804      	bt      	0x35ae	// 35ae <PB_ACK_SET_LED_BRIGHTNESS+0x7e>
		EEPROM_WriteParaInfo(&g_eeprom);		//保存参数
    35a8:	1007      	lrw      	r0, 0x200007a4	// 35c4 <PB_ACK_SET_LED_BRIGHTNESS+0x94>
    35aa:	e0000ec1 	bsr      	0x532c	// 532c <EEPROM_WriteParaInfo>
	}
	
	*ackLen = 1;
    35ae:	9864      	ld.w      	r3, (r14, 0x10)
    35b0:	3201      	movi      	r2, 1
    35b2:	ab40      	st.h      	r2, (r3, 0x0)
	ackPara[0] = PB_CMD_Reply_Succ;
    35b4:	9863      	ld.w      	r3, (r14, 0xc)
    35b6:	3200      	movi      	r2, 0
    35b8:	a340      	st.b      	r2, (r3, 0x0)
}
    35ba:	1407      	addi      	r14, r14, 28
    35bc:	1494      	pop      	r4-r7, r15
    35be:	0000      	bkpt
    35c0:	00005a55 	.long	0x00005a55
    35c4:	200007a4 	.long	0x200007a4

Disassembly of section .text.PB_ACK_SET_STRIP_SWITCH:

000035c8 <PB_ACK_SET_STRIP_SWITCH>:

void PB_ACK_SET_STRIP_SWITCH(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    35c8:	14d4      	push      	r4-r7, r15
    35ca:	1425      	subi      	r14, r14, 20
	U8_T chnMask = para[PB_FMT_PARA];
    35cc:	8067      	ld.b      	r3, (r0, 0x7)
    35ce:	b861      	st.w      	r3, (r14, 0x4)
	U8_T i = 0,save_flag = 0;;
    35d0:	3300      	movi      	r3, 0
    35d2:	3509      	movi      	r5, 9
    35d4:	b860      	st.w      	r3, (r14, 0x0)
void PB_ACK_SET_STRIP_SWITCH(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    35d6:	6d83      	mov      	r6, r0
	for(i=0;i<PWM_OUT_CH_MAX;i++){
		if((chnMask & (0x01 << i)) != 0x00){

			Pwm_SetOnOffState(i, para[PB_FMT_PARA+2+i]);
			
			Dbg_Println(DBG_BIT_SYS_STATUS,"Set PWM%d - %d ",i,para[PB_FMT_PARA+2+i]);
    35d8:	107a      	lrw      	r3, 0x5a67	// 3640 <PB_ACK_SET_STRIP_SWITCH+0x78>
    35da:	6140      	addu      	r5, r0
void PB_ACK_SET_STRIP_SWITCH(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    35dc:	b822      	st.w      	r1, (r14, 0x8)
    35de:	b843      	st.w      	r2, (r14, 0xc)
	U8_T chnMask = para[PB_FMT_PARA];
    35e0:	3400      	movi      	r4, 0
			Dbg_Println(DBG_BIT_SYS_STATUS,"Set PWM%d - %d ",i,para[PB_FMT_PARA+2+i]);
    35e2:	b864      	st.w      	r3, (r14, 0x10)
		if((chnMask & (0x01 << i)) != 0x00){
    35e4:	9861      	ld.w      	r3, (r14, 0x4)
    35e6:	70d2      	asr      	r3, r4
    35e8:	3201      	movi      	r2, 1
    35ea:	68c8      	and      	r3, r2
    35ec:	3b40      	cmpnei      	r3, 0
    35ee:	75d0      	zextb      	r7, r4
    35f0:	0c15      	bf      	0x361a	// 361a <PB_ACK_SET_STRIP_SWITCH+0x52>
			Pwm_SetOnOffState(i, para[PB_FMT_PARA+2+i]);
    35f2:	8520      	ld.b      	r1, (r5, 0x0)
    35f4:	6c1f      	mov      	r0, r7
    35f6:	e0000d11 	bsr      	0x5018	// 5018 <Pwm_SetOnOffState>
			Dbg_Println(DBG_BIT_SYS_STATUS,"Set PWM%d - %d ",i,para[PB_FMT_PARA+2+i]);
    35fa:	8560      	ld.b      	r3, (r5, 0x0)
    35fc:	6c93      	mov      	r2, r4
    35fe:	9824      	ld.w      	r1, (r14, 0x10)
    3600:	3000      	movi      	r0, 0
    3602:	e3fffcd3 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
			
			//是否保存参数
			if( para[PB_FMT_PARA+1] == 0xF1){
    3606:	8648      	ld.b      	r2, (r6, 0x8)
    3608:	33f1      	movi      	r3, 241
    360a:	64ca      	cmpne      	r2, r3
    360c:	0807      	bt      	0x361a	// 361a <PB_ACK_SET_STRIP_SWITCH+0x52>
				PB_Set_CH_SaveSwitchInfo(i,para[PB_FMT_PARA+2+i]);
    360e:	8520      	ld.b      	r1, (r5, 0x0)
    3610:	6c1f      	mov      	r0, r7
    3612:	e3ffff77 	bsr      	0x3500	// 3500 <PB_Set_CH_SaveSwitchInfo>
				save_flag = 0x01;
    3616:	3301      	movi      	r3, 1
    3618:	b860      	st.w      	r3, (r14, 0x0)
    361a:	2400      	addi      	r4, 1
	for(i=0;i<PWM_OUT_CH_MAX;i++){
    361c:	3c44      	cmpnei      	r4, 4
    361e:	2500      	addi      	r5, 1
    3620:	0be2      	bt      	0x35e4	// 35e4 <PB_ACK_SET_STRIP_SWITCH+0x1c>
			}
		}
	}
	
	if(save_flag == 0x01){
    3622:	9860      	ld.w      	r3, (r14, 0x0)
    3624:	3b41      	cmpnei      	r3, 1
    3626:	0804      	bt      	0x362e	// 362e <PB_ACK_SET_STRIP_SWITCH+0x66>
		EEPROM_WriteParaInfo(&g_eeprom);		//保存参数
    3628:	1007      	lrw      	r0, 0x200007a4	// 3644 <PB_ACK_SET_STRIP_SWITCH+0x7c>
    362a:	e0000e81 	bsr      	0x532c	// 532c <EEPROM_WriteParaInfo>
	}
	
	*ackLen = 1;
    362e:	9863      	ld.w      	r3, (r14, 0xc)
    3630:	3201      	movi      	r2, 1
    3632:	ab40      	st.h      	r2, (r3, 0x0)
	ackPara[0] = PB_CMD_Reply_Succ;
    3634:	9862      	ld.w      	r3, (r14, 0x8)
    3636:	3200      	movi      	r2, 0
    3638:	a340      	st.b      	r2, (r3, 0x0)
}
    363a:	1405      	addi      	r14, r14, 20
    363c:	1494      	pop      	r4-r7, r15
    363e:	0000      	bkpt
    3640:	00005a67 	.long	0x00005a67
    3644:	200007a4 	.long	0x200007a4

Disassembly of section .text.PB_ACK_SET_STRIP_ADJUST:

00003648 <PB_ACK_SET_STRIP_ADJUST>:

void PB_ACK_SET_STRIP_ADJUST(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3648:	14d4      	push      	r4-r7, r15
    364a:	1425      	subi      	r14, r14, 20
	U8_T chnMask = para[PB_FMT_PARA];
    364c:	8067      	ld.b      	r3, (r0, 0x7)
    364e:	b862      	st.w      	r3, (r14, 0x8)
void PB_ACK_SET_STRIP_ADJUST(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3650:	b823      	st.w      	r1, (r14, 0xc)
    3652:	6dcb      	mov      	r7, r2
		if((chnMask & (0x01 << i)) != 0x00){
			temp_val = para[PB_FMT_PARA+3+i*3];
			temp_val = temp_val * 100;
			PWM_SetAutoAdjust(i, para[PB_FMT_PARA+1+i*3],para[PB_FMT_PARA+2+i*3],temp_val);
			
			Dbg_Println(DBG_BIT_SYS_STATUS,"Set PWM%d - %d %d %dms",i,para[PB_FMT_PARA+1+i*3],para[PB_FMT_PARA+2+i*3],temp_val);
    3654:	1074      	lrw      	r3, 0x5a77	// 36a4 <PB_ACK_SET_STRIP_ADJUST+0x5c>
    3656:	589e      	addi      	r4, r0, 8
	U8_T chnMask = para[PB_FMT_PARA];
    3658:	3500      	movi      	r5, 0
			Dbg_Println(DBG_BIT_SYS_STATUS,"Set PWM%d - %d %d %dms",i,para[PB_FMT_PARA+1+i*3],para[PB_FMT_PARA+2+i*3],temp_val);
    365a:	b864      	st.w      	r3, (r14, 0x10)
		if((chnMask & (0x01 << i)) != 0x00){
    365c:	9862      	ld.w      	r3, (r14, 0x8)
    365e:	70d6      	asr      	r3, r5
    3660:	3201      	movi      	r2, 1
    3662:	68c8      	and      	r3, r2
    3664:	3b40      	cmpnei      	r3, 0
    3666:	7414      	zextb      	r0, r5
    3668:	0c12      	bf      	0x368c	// 368c <PB_ACK_SET_STRIP_ADJUST+0x44>
			temp_val = para[PB_FMT_PARA+3+i*3];
    366a:	84c2      	ld.b      	r6, (r4, 0x2)
			temp_val = temp_val * 100;
    366c:	3364      	movi      	r3, 100
    366e:	7d8c      	mult      	r6, r3
			PWM_SetAutoAdjust(i, para[PB_FMT_PARA+1+i*3],para[PB_FMT_PARA+2+i*3],temp_val);
    3670:	8441      	ld.b      	r2, (r4, 0x1)
    3672:	8420      	ld.b      	r1, (r4, 0x0)
    3674:	6cdb      	mov      	r3, r6
    3676:	e0000cf3 	bsr      	0x505c	// 505c <PWM_SetAutoAdjust>
			Dbg_Println(DBG_BIT_SYS_STATUS,"Set PWM%d - %d %d %dms",i,para[PB_FMT_PARA+1+i*3],para[PB_FMT_PARA+2+i*3],temp_val);
    367a:	8460      	ld.b      	r3, (r4, 0x0)
    367c:	b8c1      	st.w      	r6, (r14, 0x4)
    367e:	8441      	ld.b      	r2, (r4, 0x1)
    3680:	b840      	st.w      	r2, (r14, 0x0)
    3682:	9824      	ld.w      	r1, (r14, 0x10)
    3684:	6c97      	mov      	r2, r5
    3686:	3000      	movi      	r0, 0
    3688:	e3fffc90 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
    368c:	2500      	addi      	r5, 1
	for(i=0;i<PWM_OUT_CH_MAX;i++){
    368e:	3d44      	cmpnei      	r5, 4
    3690:	2402      	addi      	r4, 3
    3692:	0be5      	bt      	0x365c	// 365c <PB_ACK_SET_STRIP_ADJUST+0x14>
		}
	}
	
	*ackLen = 1;
    3694:	3301      	movi      	r3, 1
    3696:	af60      	st.h      	r3, (r7, 0x0)
	ackPara[0] = PB_CMD_Reply_Succ;
    3698:	3200      	movi      	r2, 0
    369a:	9863      	ld.w      	r3, (r14, 0xc)
    369c:	a340      	st.b      	r2, (r3, 0x0)
}
    369e:	1405      	addi      	r14, r14, 20
    36a0:	1494      	pop      	r4-r7, r15
    36a2:	0000      	bkpt
    36a4:	00005a77 	.long	0x00005a77

Disassembly of section .text.PB_ACK_SET_PIRTIGGLE_LED:

000036a8 <PB_ACK_SET_PIRTIGGLE_LED>:
/*********************************************************************
 * @fn      PB_ACK_SET_PIRTIGGLE_LED
 * @brief   BLV PB控制协议 - 设定PB总线 设定LD PIR触发LED
 * @return  none
 */
void PB_ACK_SET_PIRTIGGLE_LED(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    36a8:	14d2      	push      	r4-r5, r15
	U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
	*ackLen = 1;
    36aa:	3301      	movi      	r3, 1
	U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    36ac:	8084      	ld.b      	r4, (r0, 0x4)
	*ackLen = 1;
    36ae:	aa60      	st.h      	r3, (r2, 0x0)
	ackPara[0] = PB_CMD_Reply_Succ;
    36b0:	3300      	movi      	r3, 0
void PB_ACK_SET_PIRTIGGLE_LED(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    36b2:	6d43      	mov      	r5, r0
	ackPara[0] = PB_CMD_Reply_Succ;
    36b4:	a160      	st.b      	r3, (r1, 0x0)
	
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s",__func__);
    36b6:	1049      	lrw      	r2, 0x5740	// 36d8 <PB_ACK_SET_PIRTIGGLE_LED+0x30>
    36b8:	1029      	lrw      	r1, 0x5a8e	// 36dc <PB_ACK_SET_PIRTIGGLE_LED+0x34>
    36ba:	3000      	movi      	r0, 0
    36bc:	e3fffc76 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    36c0:	2c07      	subi      	r4, 8
    PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_PIR_ENABLE,&para[PB_FMT_PARA + 1],para_len);	
    36c2:	8507      	ld.b      	r0, (r5, 0x7)
	U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    36c4:	7510      	zextb      	r4, r4
    PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_PIR_ENABLE,&para[PB_FMT_PARA + 1],para_len);	
    36c6:	2000      	addi      	r0, 1
    36c8:	5d5e      	addi      	r2, r5, 8
    36ca:	7400      	zextb      	r0, r0
    36cc:	6cd3      	mov      	r3, r4
    36ce:	3109      	movi      	r1, 9
    36d0:	e3fffe60 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
}
    36d4:	1492      	pop      	r4-r5, r15
    36d6:	0000      	bkpt
    36d8:	00005740 	.long	0x00005740
    36dc:	00005a8e 	.long	0x00005a8e

Disassembly of section .text.PB_ACK_SET_SaveCurrInfo:

000036e0 <PB_ACK_SET_SaveCurrInfo>:
/*********************************************************************
 * @fn      PB_ACK_SET_SaveCurrInfo
 * @brief   BLV PB控制协议 - 设定PB总线 保护电流
 * @return  none
 */
void PB_ACK_SET_SaveCurrInfo(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    36e0:	14d4      	push      	r4-r7, r15
	
	U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA;
    36e2:	8064      	ld.b      	r3, (r0, 0x4)
    36e4:	2b06      	subi      	r3, 7
	//*ackLen = 0;
	
	if(para_len < 0x02)	return ;
    36e6:	74cc      	zextb      	r3, r3
    36e8:	3b01      	cmphsi      	r3, 2
void PB_ACK_SET_SaveCurrInfo(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    36ea:	6dc3      	mov      	r7, r0
    36ec:	6d47      	mov      	r5, r1
    36ee:	6d8b      	mov      	r6, r2
	if(para_len < 0x02)	return ;
    36f0:	0c25      	bf      	0x373a	// 373a <PB_ACK_SET_SaveCurrInfo+0x5a>
	
	g_PB.protect_curr =  para[PB_FMT_PARA];
    36f2:	8047      	ld.b      	r2, (r0, 0x7)
    36f4:	1093      	lrw      	r4, 0x200002f0	// 3740 <PB_ACK_SET_SaveCurrInfo+0x60>
	
	Dbg_Println(DBG_BIT_SYS_STATUS,"protect_curr %d",g_PB.protect_curr);
    36f6:	1034      	lrw      	r1, 0x5a91	// 3744 <PB_ACK_SET_SaveCurrInfo+0x64>
    36f8:	3000      	movi      	r0, 0
	g_PB.protect_curr =  para[PB_FMT_PARA];
    36fa:	a455      	st.b      	r2, (r4, 0x15)
	Dbg_Println(DBG_BIT_SYS_STATUS,"protect_curr %d",g_PB.protect_curr);
    36fc:	e3fffc56 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	/*不在范围内，设置为默认值10A*/
	if((g_PB.protect_curr < PB_SaveCurrent_Min) || (g_PB.protect_curr > PB_SaveCurrent_Max)){
    3700:	8475      	ld.b      	r3, (r4, 0x15)
    3702:	2b00      	subi      	r3, 1
    3704:	74cc      	zextb      	r3, r3
    3706:	32a4      	movi      	r2, 164
    3708:	64c8      	cmphs      	r2, r3
    370a:	0819      	bt      	0x373c	// 373c <PB_ACK_SET_SaveCurrInfo+0x5c>
		g_PB.protect_curr = EEPROM_ParaDefault_SaveCurr;
    370c:	3378      	movi      	r3, 120
    370e:	a475      	st.b      	r3, (r4, 0x15)

		ackPara[0] = 0x01;		//设置失败
    3710:	3301      	movi      	r3, 1
	}else{
		
		ackPara[0] = 0x00;		//设置成功
    3712:	a560      	st.b      	r3, (r5, 0x0)
	}
	
	PB_Set_SaveCurrent(g_PB.protect_curr);
    3714:	8415      	ld.b      	r0, (r4, 0x15)
    3716:	e3fffc61 	bsr      	0x2fd8	// 2fd8 <PB_Set_SaveCurrent>
	
	if(para[PB_FMT_PARA + 1] == 0xF1){
    371a:	8748      	ld.b      	r2, (r7, 0x8)
    371c:	33f1      	movi      	r3, 241
    371e:	64ca      	cmpne      	r2, r3
    3720:	0809      	bt      	0x3732	// 3732 <PB_ACK_SET_SaveCurrInfo+0x52>
		if(g_eeprom.save_curr != g_PB.protect_curr){
    3722:	100a      	lrw      	r0, 0x200007a4	// 3748 <PB_ACK_SET_SaveCurrInfo+0x68>
    3724:	8475      	ld.b      	r3, (r4, 0x15)
    3726:	8041      	ld.b      	r2, (r0, 0x1)
    3728:	64ca      	cmpne      	r2, r3
    372a:	0c04      	bf      	0x3732	// 3732 <PB_ACK_SET_SaveCurrInfo+0x52>
			g_eeprom.save_curr = g_PB.protect_curr;
    372c:	a061      	st.b      	r3, (r0, 0x1)
			EEPROM_WriteParaInfo(&g_eeprom);		//保存参数
    372e:	e0000dff 	bsr      	0x532c	// 532c <EEPROM_WriteParaInfo>
		}
	}
	
	*ackLen = 1;
    3732:	3301      	movi      	r3, 1
    3734:	ae60      	st.h      	r3, (r6, 0x0)
	ackPara[0] = PB_CMD_Reply_Succ;
    3736:	3300      	movi      	r3, 0
    3738:	a560      	st.b      	r3, (r5, 0x0)
}
    373a:	1494      	pop      	r4-r7, r15
		ackPara[0] = 0x00;		//设置成功
    373c:	3300      	movi      	r3, 0
    373e:	07ea      	br      	0x3712	// 3712 <PB_ACK_SET_SaveCurrInfo+0x32>
    3740:	200002f0 	.long	0x200002f0
    3744:	00005a91 	.long	0x00005a91
    3748:	200007a4 	.long	0x200007a4

Disassembly of section .text.PB_ACK_SET_UniversPara:

0000374c <PB_ACK_SET_UniversPara>:
/*********************************************************************
 * @fn      PB_ACK_SET_UniversPara
 * @brief   BLV PB控制协议 - 设定整体参数，设定PB整体亮度和PowerBus 总线整体亮度
 * @return  none
 */
void PB_ACK_SET_UniversPara(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    374c:	14d4      	push      	r4-r7, r15
    374e:	1422      	subi      	r14, r14, 8
	
	S8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    3750:	80c4      	ld.b      	r6, (r0, 0x4)
    3752:	2e07      	subi      	r6, 8
    3754:	7598      	zextb      	r6, r6
	U8_T mask_bit = 0,rev = 0;
	U32_T temp_val = 0;
	
	if( para_len < 5 ) return ;
    3756:	74da      	sextb      	r3, r6
    3758:	3b24      	cmplti      	r3, 5
void PB_ACK_SET_UniversPara(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    375a:	6d03      	mov      	r4, r0
    375c:	b820      	st.w      	r1, (r14, 0x0)
    375e:	b841      	st.w      	r2, (r14, 0x4)
	if( para_len < 5 ) return ;
    3760:	0853      	bt      	0x3806	// 3806 <PB_ACK_SET_UniversPara+0xba>
	
	mask_bit = para[PB_FMT_PARA + 1];
    3762:	80e8      	ld.b      	r7, (r0, 0x8)
	
	if((mask_bit & 0x80) != 0x00){
    3764:	74de      	sextb      	r3, r7
    3766:	3bdf      	btsti      	r3, 31
    3768:	0c53      	bf      	0x380e	// 380e <PB_ACK_SET_UniversPara+0xc2>
		//设定全局亮度
		if( para[PB_FMT_PARA + 3] <= 100){
    376a:	800a      	ld.b      	r0, (r0, 0xa)
    376c:	3364      	movi      	r3, 100
    376e:	640c      	cmphs      	r3, r0
    3770:	0c4d      	bf      	0x380a	// 380a <PB_ACK_SET_UniversPara+0xbe>
			g_eeprom.allBrightness = para[PB_FMT_PARA + 3];        			//全局亮度
    3772:	116b      	lrw      	r3, 0x200007a4	// 381c <PB_ACK_SET_UniversPara+0xd0>
	U8_T mask_bit = 0,rev = 0;
    3774:	3500      	movi      	r5, 0
			g_eeprom.allBrightness = para[PB_FMT_PARA + 3];        			//全局亮度
    3776:	a302      	st.b      	r0, (r3, 0x2)
			Pwm_SetAllBrightness(g_eeprom.allBrightness);
    3778:	e0000c5c 	bsr      	0x5030	// 5030 <Pwm_SetAllBrightness>
		}else{
			rev = 0x01;		//参数错误
		}
		
		Dbg_Println(DBG_BIT_SYS_STATUS,"Set allBrightness:%d",g_pwm.allBrightness);
    377c:	1169      	lrw      	r3, 0x20000718	// 3820 <PB_ACK_SET_UniversPara+0xd4>
    377e:	8341      	ld.b      	r2, (r3, 0x1)
    3780:	1129      	lrw      	r1, 0x5aa1	// 3824 <PB_ACK_SET_UniversPara+0xd8>
    3782:	3000      	movi      	r0, 0
    3784:	e3fffc12 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	}
	if((mask_bit & 0x40) != 0x00){
    3788:	3340      	movi      	r3, 64
    378a:	68dc      	and      	r3, r7
    378c:	3b40      	cmpnei      	r3, 0
    378e:	0c10      	bf      	0x37ae	// 37ae <PB_ACK_SET_UniversPara+0x62>
		//设定全局可调上限
		if( para[PB_FMT_PARA + 4] <= 100){
    3790:	840b      	ld.b      	r0, (r4, 0xb)
    3792:	3364      	movi      	r3, 100
    3794:	640c      	cmphs      	r3, r0
    3796:	0c3e      	bf      	0x3812	// 3812 <PB_ACK_SET_UniversPara+0xc6>
			g_eeprom.allBrightnessUpLimit = para[PB_FMT_PARA + 4];        	//全局亮度可调上限
    3798:	1161      	lrw      	r3, 0x200007a4	// 381c <PB_ACK_SET_UniversPara+0xd0>
    379a:	a303      	st.b      	r0, (r3, 0x3)
			PWM_SetUpLimitVal(g_eeprom.allBrightnessUpLimit);
    379c:	e0000bfa 	bsr      	0x4f90	// 4f90 <PWM_SetUpLimitVal>
		}else{
			rev = 0x01;		//参数错误
		}
		
		Dbg_Println(DBG_BIT_SYS_STATUS,"Set allBrightnessUpLimit:%d - %d",g_pwm.allBrightnessUpLimit,g_pwm.allPwmUpLimit);
    37a0:	1140      	lrw      	r2, 0x20000718	// 3820 <PB_ACK_SET_UniversPara+0xd4>
    37a2:	8a6a      	ld.h      	r3, (r2, 0x14)
    37a4:	1121      	lrw      	r1, 0x5ab6	// 3828 <PB_ACK_SET_UniversPara+0xdc>
    37a6:	8242      	ld.b      	r2, (r2, 0x2)
    37a8:	3000      	movi      	r0, 0
    37aa:	e3fffbff 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	}
	if((mask_bit & 0x20) != 0x00){
    37ae:	3320      	movi      	r3, 32
    37b0:	69cc      	and      	r7, r3
    37b2:	3f40      	cmpnei      	r7, 0
    37b4:	0c13      	bf      	0x37da	// 37da <PB_ACK_SET_UniversPara+0x8e>
		//设定全局可调下限
		if( (para[PB_FMT_PARA + 5] <= 100) && (para[PB_FMT_PARA + 5] < g_pwm.allBrightnessUpLimit) ){
    37b6:	840c      	ld.b      	r0, (r4, 0xc)
    37b8:	3364      	movi      	r3, 100
    37ba:	640c      	cmphs      	r3, r0
    37bc:	10f9      	lrw      	r7, 0x20000718	// 3820 <PB_ACK_SET_UniversPara+0xd4>
    37be:	0c2c      	bf      	0x3816	// 3816 <PB_ACK_SET_UniversPara+0xca>
    37c0:	8762      	ld.b      	r3, (r7, 0x2)
    37c2:	64c0      	cmphs      	r0, r3
    37c4:	0829      	bt      	0x3816	// 3816 <PB_ACK_SET_UniversPara+0xca>
			g_eeprom.allBrightnessDownLimit = para[PB_FMT_PARA + 5];        	//全局亮度可调上限
    37c6:	1076      	lrw      	r3, 0x200007a4	// 381c <PB_ACK_SET_UniversPara+0xd0>
    37c8:	a304      	st.b      	r0, (r3, 0x4)
			PWM_SetDownLimitVal(g_eeprom.allBrightnessDownLimit);
    37ca:	e0000c05 	bsr      	0x4fd4	// 4fd4 <PWM_SetDownLimitVal>
		}else{
			rev = 0x01;		//参数错误
		}
		
		Dbg_Println(DBG_BIT_SYS_STATUS,"Set allBrightnessDownLimit:%d - %d",g_pwm.allBrightnessDownLimit,g_pwm.allPwmDownLimit);
    37ce:	8f6b      	ld.h      	r3, (r7, 0x16)
    37d0:	8743      	ld.b      	r2, (r7, 0x3)
    37d2:	1037      	lrw      	r1, 0x5ad7	// 382c <PB_ACK_SET_UniversPara+0xe0>
    37d4:	3000      	movi      	r0, 0
    37d6:	e3fffbe9 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	}
	
	if(para[PB_FMT_PARA + 2] == 0xF1){
    37da:	8449      	ld.b      	r2, (r4, 0x9)
    37dc:	33f1      	movi      	r3, 241
    37de:	64ca      	cmpne      	r2, r3
    37e0:	0804      	bt      	0x37e8	// 37e8 <PB_ACK_SET_UniversPara+0x9c>
		/*保存参数*/

		EEPROM_WriteParaInfo(&g_eeprom);		//保存参数
    37e2:	100f      	lrw      	r0, 0x200007a4	// 381c <PB_ACK_SET_UniversPara+0xd0>
    37e4:	e0000da4 	bsr      	0x532c	// 532c <EEPROM_WriteParaInfo>
	}
	
	/*同时下发PowerBus*/
	Dbg_Println(DBG_BIT_SYS_STATUS, "PB_ACK_SET_UniversPara");
    37e8:	1032      	lrw      	r1, 0x5afa	// 3830 <PB_ACK_SET_UniversPara+0xe4>
    37ea:	3000      	movi      	r0, 0
    37ec:	e3fffbde 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
    PowerBus_PackFillBuff(0x03,PowerBUS_CMD_SET_UniversPara,&para[PB_FMT_PARA + 1],para_len);
    37f0:	5c5e      	addi      	r2, r4, 8
    37f2:	6cdb      	mov      	r3, r6
    37f4:	31f0      	movi      	r1, 240
    37f6:	3003      	movi      	r0, 3
    37f8:	e3fffdcc 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
	
	*ackLen = 1;
    37fc:	9861      	ld.w      	r3, (r14, 0x4)
    37fe:	3201      	movi      	r2, 1
    3800:	ab40      	st.h      	r2, (r3, 0x0)
	
	ackPara[0] = rev;
    3802:	9860      	ld.w      	r3, (r14, 0x0)
    3804:	a3a0      	st.b      	r5, (r3, 0x0)
}
    3806:	1402      	addi      	r14, r14, 8
    3808:	1494      	pop      	r4-r7, r15
			rev = 0x01;		//参数错误
    380a:	3501      	movi      	r5, 1
    380c:	07b8      	br      	0x377c	// 377c <PB_ACK_SET_UniversPara+0x30>
	U8_T mask_bit = 0,rev = 0;
    380e:	3500      	movi      	r5, 0
    3810:	07bc      	br      	0x3788	// 3788 <PB_ACK_SET_UniversPara+0x3c>
			rev = 0x01;		//参数错误
    3812:	3501      	movi      	r5, 1
    3814:	07c6      	br      	0x37a0	// 37a0 <PB_ACK_SET_UniversPara+0x54>
			rev = 0x01;		//参数错误
    3816:	3501      	movi      	r5, 1
    3818:	07db      	br      	0x37ce	// 37ce <PB_ACK_SET_UniversPara+0x82>
    381a:	0000      	bkpt
    381c:	200007a4 	.long	0x200007a4
    3820:	20000718 	.long	0x20000718
    3824:	00005aa1 	.long	0x00005aa1
    3828:	00005ab6 	.long	0x00005ab6
    382c:	00005ad7 	.long	0x00005ad7
    3830:	00005afa 	.long	0x00005afa

Disassembly of section .text.PB_ACK_SET_PowerBus_EnablePara:

00003834 <PB_ACK_SET_PowerBus_EnablePara>:
/*********************************************************************
 * @fn      PB_ACK_SET_PowerBus_EnablePara
 * @brief   BLV PB控制协议 - PB使能状态控制
 * @return  none
 */
void PB_ACK_SET_PowerBus_EnablePara(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3834:	14d3      	push      	r4-r6, r15
	
	U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA;
    3836:	8064      	ld.b      	r3, (r0, 0x4)
    3838:	2b06      	subi      	r3, 7
	//*ackLen = 0;
	
	if(para_len < 0x02)	return ;
    383a:	74cc      	zextb      	r3, r3
    383c:	3b01      	cmphsi      	r3, 2
void PB_ACK_SET_PowerBus_EnablePara(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    383e:	6d83      	mov      	r6, r0
    3840:	6d07      	mov      	r4, r1
    3842:	6d4b      	mov      	r5, r2
	if(para_len < 0x02)	return ;
    3844:	0c1a      	bf      	0x3878	// 3878 <PB_ACK_SET_PowerBus_EnablePara+0x44>
	
	PB_Set_Power_State(para[PB_FMT_PARA]);
    3846:	8007      	ld.b      	r0, (r0, 0x7)
    3848:	e3fffc00 	bsr      	0x3048	// 3048 <PB_Set_Power_State>
	Dbg_Println(DBG_BIT_SYS_STATUS, "Power Enable %d",para[PB_FMT_PARA]);
    384c:	8647      	ld.b      	r2, (r6, 0x7)
    384e:	102c      	lrw      	r1, 0x5b11	// 387c <PB_ACK_SET_PowerBus_EnablePara+0x48>
    3850:	3000      	movi      	r0, 0
    3852:	e3fffbab 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	if(para[PB_FMT_PARA + 1] == 0xF1){
    3856:	8648      	ld.b      	r2, (r6, 0x8)
    3858:	33f1      	movi      	r3, 241
    385a:	64ca      	cmpne      	r2, r3
    385c:	080a      	bt      	0x3870	// 3870 <PB_ACK_SET_PowerBus_EnablePara+0x3c>
		
		if(g_PB.enable != g_eeprom.powerbus_enable){
    385e:	1069      	lrw      	r3, 0x200002f0	// 3880 <PB_ACK_SET_PowerBus_EnablePara+0x4c>
    3860:	1009      	lrw      	r0, 0x200007a4	// 3884 <PB_ACK_SET_PowerBus_EnablePara+0x50>
    3862:	8372      	ld.b      	r3, (r3, 0x12)
    3864:	8040      	ld.b      	r2, (r0, 0x0)
    3866:	64ca      	cmpne      	r2, r3
    3868:	0c04      	bf      	0x3870	// 3870 <PB_ACK_SET_PowerBus_EnablePara+0x3c>
			g_eeprom.powerbus_enable = g_PB.enable;
    386a:	a060      	st.b      	r3, (r0, 0x0)
			EEPROM_WriteParaInfo(&g_eeprom);		//保存参数
    386c:	e0000d60 	bsr      	0x532c	// 532c <EEPROM_WriteParaInfo>
		}
	}
	
	*ackLen = 1;
    3870:	3301      	movi      	r3, 1
    3872:	ad60      	st.h      	r3, (r5, 0x0)
	ackPara[0] = PB_CMD_Reply_Succ;
    3874:	3300      	movi      	r3, 0
    3876:	a460      	st.b      	r3, (r4, 0x0)
}
    3878:	1493      	pop      	r4-r6, r15
    387a:	0000      	bkpt
    387c:	00005b11 	.long	0x00005b11
    3880:	200002f0 	.long	0x200002f0
    3884:	200007a4 	.long	0x200007a4

Disassembly of section .text.PB_ACK_PassThroug_Data:

00003888 <PB_ACK_PassThroug_Data>:
/*********************************************************************
 * @fn      PB_ACK_PassThroug_Data
 * @brief   BLV PB控制协议 - PB透传命令
 * @return  none
 */
void PB_ACK_PassThroug_Data(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3888:	14d3      	push      	r4-r6, r15
    388a:	6d03      	mov      	r4, r0
    388c:	6d47      	mov      	r5, r1
	
	Dbg_Println(DBG_BIT_SYS_STATUS, "PB_ACK_PassThroug_Data");
    388e:	3000      	movi      	r0, 0
    3890:	102c      	lrw      	r1, 0x5b21	// 38c0 <PB_ACK_PassThroug_Data+0x38>
void PB_ACK_PassThroug_Data(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3892:	6d8b      	mov      	r6, r2
	Dbg_Println(DBG_BIT_SYS_STATUS, "PB_ACK_PassThroug_Data");
    3894:	e3fffb8a 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	if(PowerBUS_GetCommState() == 0x00){
    3898:	e3fffdd4 	bsr      	0x3440	// 3440 <PowerBUS_GetCommState>
    389c:	3840      	cmpnei      	r0, 0
		
		*ackLen = 1;
    389e:	3301      	movi      	r3, 1
    38a0:	ae60      	st.h      	r3, (r6, 0x0)
	if(PowerBUS_GetCommState() == 0x00){
    38a2:	080c      	bt      	0x38ba	// 38ba <PB_ACK_PassThroug_Data+0x32>
		ackPara[0] = PB_CMD_Reply_Succ;
    38a4:	3300      	movi      	r3, 0
    38a6:	a560      	st.b      	r3, (r5, 0x0)
	
		PowerBus_FillSendBuff(para[PB_FMT_PARA] + 0x01,&para[PB_FMT_PARA + 2],para[PB_FMT_PARA + 1]);
    38a8:	8407      	ld.b      	r0, (r4, 0x7)
    38aa:	3109      	movi      	r1, 9
    38ac:	2000      	addi      	r0, 1
    38ae:	8448      	ld.b      	r2, (r4, 0x8)
    38b0:	6050      	addu      	r1, r4
    38b2:	7400      	zextb      	r0, r0
    38b4:	e3fffd48 	bsr      	0x3344	// 3344 <PowerBus_FillSendBuff>
	}else{
		*ackLen = 1;
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
	}
}
    38b8:	1493      	pop      	r4-r6, r15
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
    38ba:	a560      	st.b      	r3, (r5, 0x0)
}
    38bc:	07fe      	br      	0x38b8	// 38b8 <PB_ACK_PassThroug_Data+0x30>
    38be:	0000      	bkpt
    38c0:	00005b21 	.long	0x00005b21

Disassembly of section .text.PB_ACK_SET_PB_LEDS_BRIGHTNESS:

000038c4 <PB_ACK_SET_PB_LEDS_BRIGHTNESS>:
/*********************************************************************
 * @fn      PB_ACK_SET_PB_LEDS_BRIGHTNESS
 * @brief   BLV PB控制协议 - 设定PB总线 LED亮度				--按照地址段控制 每个回路可单独设定亮度
 * @return  none
 */
void PB_ACK_SET_PB_LEDS_BRIGHTNESS(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    38c4:	14d4      	push      	r4-r7, r15
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    38c6:	8084      	ld.b      	r4, (r0, 0x4)
void PB_ACK_SET_PB_LEDS_BRIGHTNESS(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    38c8:	6d43      	mov      	r5, r0
    38ca:	6d87      	mov      	r6, r1
	
	Dbg_Println(DBG_BIT_SYS_STATUS, "PB_ACK_SET_PB_LEDS_BRIGHTNESS");
    38cc:	3000      	movi      	r0, 0
    38ce:	102d      	lrw      	r1, 0x5b38	// 3900 <PB_ACK_SET_PB_LEDS_BRIGHTNESS+0x3c>
void PB_ACK_SET_PB_LEDS_BRIGHTNESS(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    38d0:	6dcb      	mov      	r7, r2
	Dbg_Println(DBG_BIT_SYS_STATUS, "PB_ACK_SET_PB_LEDS_BRIGHTNESS");
    38d2:	e3fffb6b 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	if(PowerBUS_GetCommState() == 0x00){
    38d6:	e3fffdb5 	bsr      	0x3440	// 3440 <PowerBUS_GetCommState>
    38da:	3840      	cmpnei      	r0, 0
		*ackLen = 1;
    38dc:	3301      	movi      	r3, 1
    38de:	af60      	st.h      	r3, (r7, 0x0)
	if(PowerBUS_GetCommState() == 0x00){
    38e0:	080d      	bt      	0x38fa	// 38fa <PB_ACK_SET_PB_LEDS_BRIGHTNESS+0x36>
		ackPara[0] = PB_CMD_Reply_Succ;
    38e2:	3300      	movi      	r3, 0
    38e4:	a660      	st.b      	r3, (r6, 0x0)
		
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_LEDS_BRIGHTNESS,&para[PB_FMT_PARA + 1],para_len);
    38e6:	8507      	ld.b      	r0, (r5, 0x7)
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    38e8:	2c07      	subi      	r4, 8
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_LEDS_BRIGHTNESS,&para[PB_FMT_PARA + 1],para_len);
    38ea:	2000      	addi      	r0, 1
    38ec:	74d0      	zextb      	r3, r4
    38ee:	5d5e      	addi      	r2, r5, 8
    38f0:	7400      	zextb      	r0, r0
    38f2:	3104      	movi      	r1, 4
    38f4:	e3fffd4e 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
	}else{
		*ackLen = 1;
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
	}
	
}
    38f8:	1494      	pop      	r4-r7, r15
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
    38fa:	a660      	st.b      	r3, (r6, 0x0)
}
    38fc:	07fe      	br      	0x38f8	// 38f8 <PB_ACK_SET_PB_LEDS_BRIGHTNESS+0x34>
    38fe:	0000      	bkpt
    3900:	00005b38 	.long	0x00005b38

Disassembly of section .text.PB_ACK_SET_PB_LEDS_ADJUST:

00003904 <PB_ACK_SET_PB_LEDS_ADJUST>:
/*********************************************************************
 * @fn      PB_ACK_SET_PB_LEDS_ADJUST
 * @brief   BLV PB控制协议 - 设定PB总线 LED亮度递增递减调节	--按照地址段控制
 * @return  none
 */
void PB_ACK_SET_PB_LEDS_ADJUST(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3904:	14d4      	push      	r4-r7, r15
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    3906:	8084      	ld.b      	r4, (r0, 0x4)
void PB_ACK_SET_PB_LEDS_ADJUST(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3908:	6d43      	mov      	r5, r0
    390a:	6d87      	mov      	r6, r1
	
	Dbg_Println(DBG_BIT_SYS_STATUS, "PB_ACK_SET_PB_LEDS_ADJUST");
    390c:	3000      	movi      	r0, 0
    390e:	102d      	lrw      	r1, 0x5b56	// 3940 <PB_ACK_SET_PB_LEDS_ADJUST+0x3c>
void PB_ACK_SET_PB_LEDS_ADJUST(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3910:	6dcb      	mov      	r7, r2
	Dbg_Println(DBG_BIT_SYS_STATUS, "PB_ACK_SET_PB_LEDS_ADJUST");
    3912:	e3fffb4b 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	if(PowerBUS_GetCommState() == 0x00){
    3916:	e3fffd95 	bsr      	0x3440	// 3440 <PowerBUS_GetCommState>
    391a:	3840      	cmpnei      	r0, 0
		*ackLen = 1;
    391c:	3301      	movi      	r3, 1
    391e:	af60      	st.h      	r3, (r7, 0x0)
	if(PowerBUS_GetCommState() == 0x00){
    3920:	080d      	bt      	0x393a	// 393a <PB_ACK_SET_PB_LEDS_ADJUST+0x36>
		ackPara[0] = PB_CMD_Reply_Succ;
    3922:	3300      	movi      	r3, 0
    3924:	a660      	st.b      	r3, (r6, 0x0)
		
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_LEDS_ADJUST,&para[PB_FMT_PARA + 1],para_len);
    3926:	8507      	ld.b      	r0, (r5, 0x7)
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    3928:	2c07      	subi      	r4, 8
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_LEDS_ADJUST,&para[PB_FMT_PARA + 1],para_len);
    392a:	2000      	addi      	r0, 1
    392c:	74d0      	zextb      	r3, r4
    392e:	5d5e      	addi      	r2, r5, 8
    3930:	7400      	zextb      	r0, r0
    3932:	3106      	movi      	r1, 6
    3934:	e3fffd2e 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
	}else{
		*ackLen = 1;
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
	}
	
}
    3938:	1494      	pop      	r4-r7, r15
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
    393a:	a660      	st.b      	r3, (r6, 0x0)
}
    393c:	07fe      	br      	0x3938	// 3938 <PB_ACK_SET_PB_LEDS_ADJUST+0x34>
    393e:	0000      	bkpt
    3940:	00005b56 	.long	0x00005b56

Disassembly of section .text.PB_ACK_SET_PB_LEDS_SWITCH:

00003944 <PB_ACK_SET_PB_LEDS_SWITCH>:
/*********************************************************************
 * @fn      PB_ACK_SET_PB_LEDS_SWITCH
 * @brief   BLV PB控制协议 - 设定PB总线 LED单开关状态			--按照单个回路控制
 * @return  none
 */
void PB_ACK_SET_PB_LEDS_SWITCH(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3944:	14d4      	push      	r4-r7, r15
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    3946:	8084      	ld.b      	r4, (r0, 0x4)
void PB_ACK_SET_PB_LEDS_SWITCH(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3948:	6d43      	mov      	r5, r0
    394a:	6d87      	mov      	r6, r1
	Dbg_Println(DBG_BIT_SYS_STATUS, "PB_ACK_SET_PB_LEDS_SWITCH");
    394c:	3000      	movi      	r0, 0
    394e:	102d      	lrw      	r1, 0x5b70	// 3980 <PB_ACK_SET_PB_LEDS_SWITCH+0x3c>
void PB_ACK_SET_PB_LEDS_SWITCH(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3950:	6dcb      	mov      	r7, r2
	Dbg_Println(DBG_BIT_SYS_STATUS, "PB_ACK_SET_PB_LEDS_SWITCH");
    3952:	e3fffb2b 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	if(PowerBUS_GetCommState() == 0x00){
    3956:	e3fffd75 	bsr      	0x3440	// 3440 <PowerBUS_GetCommState>
    395a:	3840      	cmpnei      	r0, 0
		*ackLen = 1;
    395c:	3301      	movi      	r3, 1
    395e:	af60      	st.h      	r3, (r7, 0x0)
	if(PowerBUS_GetCommState() == 0x00){
    3960:	080d      	bt      	0x397a	// 397a <PB_ACK_SET_PB_LEDS_SWITCH+0x36>
		ackPara[0] = PB_CMD_Reply_Succ;
    3962:	3300      	movi      	r3, 0
    3964:	a660      	st.b      	r3, (r6, 0x0)
		
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_LEDS_SWITCH,&para[PB_FMT_PARA + 1],para_len);
    3966:	8507      	ld.b      	r0, (r5, 0x7)
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    3968:	2c07      	subi      	r4, 8
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_LEDS_SWITCH,&para[PB_FMT_PARA + 1],para_len);
    396a:	2000      	addi      	r0, 1
    396c:	74d0      	zextb      	r3, r4
    396e:	5d5e      	addi      	r2, r5, 8
    3970:	7400      	zextb      	r0, r0
    3972:	3105      	movi      	r1, 5
    3974:	e3fffd0e 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
	}else{
		*ackLen = 1;
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
	}
	
}
    3978:	1494      	pop      	r4-r7, r15
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
    397a:	a660      	st.b      	r3, (r6, 0x0)
}
    397c:	07fe      	br      	0x3978	// 3978 <PB_ACK_SET_PB_LEDS_SWITCH+0x34>
    397e:	0000      	bkpt
    3980:	00005b70 	.long	0x00005b70

Disassembly of section .text.PB_ACK_SET_PB_LEDS_BRIGHT:

00003984 <PB_ACK_SET_PB_LEDS_BRIGHT>:
/*********************************************************************
 * @fn      PB_ACK_SET_PB_LEDS_BRIGHT
 * @brief   BLV PB控制协议 - 设定PB总线 LED亮度				--按照地址段控制 
 * @return  none
 */
void PB_ACK_SET_PB_LEDS_BRIGHT(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3984:	14d4      	push      	r4-r7, r15
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    3986:	8084      	ld.b      	r4, (r0, 0x4)
void PB_ACK_SET_PB_LEDS_BRIGHT(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3988:	6d43      	mov      	r5, r0
    398a:	6d87      	mov      	r6, r1
	
	Dbg_Println(DBG_BIT_SYS_STATUS, "PB_ACK_SET_PB_LEDS_BRIGHT");
    398c:	3000      	movi      	r0, 0
    398e:	102d      	lrw      	r1, 0x5b8a	// 39c0 <PB_ACK_SET_PB_LEDS_BRIGHT+0x3c>
void PB_ACK_SET_PB_LEDS_BRIGHT(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3990:	6dcb      	mov      	r7, r2
	Dbg_Println(DBG_BIT_SYS_STATUS, "PB_ACK_SET_PB_LEDS_BRIGHT");
    3992:	e3fffb0b 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	if(PowerBUS_GetCommState() == 0x00){
    3996:	e3fffd55 	bsr      	0x3440	// 3440 <PowerBUS_GetCommState>
    399a:	3840      	cmpnei      	r0, 0
		*ackLen = 1;
    399c:	3301      	movi      	r3, 1
    399e:	af60      	st.h      	r3, (r7, 0x0)
	if(PowerBUS_GetCommState() == 0x00){
    39a0:	080d      	bt      	0x39ba	// 39ba <PB_ACK_SET_PB_LEDS_BRIGHT+0x36>
		ackPara[0] = PB_CMD_Reply_Succ;
    39a2:	3300      	movi      	r3, 0
    39a4:	a660      	st.b      	r3, (r6, 0x0)
		
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_LEDS_BRIGHT,&para[PB_FMT_PARA + 1],para_len);
    39a6:	8507      	ld.b      	r0, (r5, 0x7)
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    39a8:	2c07      	subi      	r4, 8
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_LEDS_BRIGHT,&para[PB_FMT_PARA + 1],para_len);
    39aa:	2000      	addi      	r0, 1
    39ac:	74d0      	zextb      	r3, r4
    39ae:	5d5e      	addi      	r2, r5, 8
    39b0:	7400      	zextb      	r0, r0
    39b2:	3107      	movi      	r1, 7
    39b4:	e3fffcee 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
	}else{
		*ackLen = 1;
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
	}
	
}
    39b8:	1494      	pop      	r4-r7, r15
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
    39ba:	a660      	st.b      	r3, (r6, 0x0)
}
    39bc:	07fe      	br      	0x39b8	// 39b8 <PB_ACK_SET_PB_LEDS_BRIGHT+0x34>
    39be:	0000      	bkpt
    39c0:	00005b8a 	.long	0x00005b8a

Disassembly of section .text.PB_ACK_SET_PB_LED_BRIGHTNESS:

000039c4 <PB_ACK_SET_PB_LED_BRIGHTNESS>:
/*********************************************************************
 * @fn      PB_ACK_SET_PB_LED_BRIGHTNESS
 * @brief   BLV PB控制协议 - 设定PB总线 LED单回路亮度			--按照单个回路控制
 * @return  none
 */
void PB_ACK_SET_PB_LED_BRIGHTNESS(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    39c4:	14d4      	push      	r4-r7, r15
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    39c6:	8084      	ld.b      	r4, (r0, 0x4)
void PB_ACK_SET_PB_LED_BRIGHTNESS(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    39c8:	6d43      	mov      	r5, r0
    39ca:	6d87      	mov      	r6, r1
	
	Dbg_Println(DBG_BIT_SYS_STATUS, "PB_ACK_SET_PB_LED_BRIGHTNESS");
    39cc:	3000      	movi      	r0, 0
    39ce:	102d      	lrw      	r1, 0x5ba4	// 3a00 <PB_ACK_SET_PB_LED_BRIGHTNESS+0x3c>
void PB_ACK_SET_PB_LED_BRIGHTNESS(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    39d0:	6dcb      	mov      	r7, r2
	Dbg_Println(DBG_BIT_SYS_STATUS, "PB_ACK_SET_PB_LED_BRIGHTNESS");
    39d2:	e3fffaeb 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	if(PowerBUS_GetCommState() == 0x00){
    39d6:	e3fffd35 	bsr      	0x3440	// 3440 <PowerBUS_GetCommState>
    39da:	3840      	cmpnei      	r0, 0
		*ackLen = 1;
    39dc:	3301      	movi      	r3, 1
    39de:	af60      	st.h      	r3, (r7, 0x0)
	if(PowerBUS_GetCommState() == 0x00){
    39e0:	080d      	bt      	0x39fa	// 39fa <PB_ACK_SET_PB_LED_BRIGHTNESS+0x36>
		ackPara[0] = PB_CMD_Reply_Succ;
    39e2:	3300      	movi      	r3, 0
    39e4:	a660      	st.b      	r3, (r6, 0x0)
		
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_LED_BRIGHTNESS,&para[PB_FMT_PARA + 1],para_len);
    39e6:	8507      	ld.b      	r0, (r5, 0x7)
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    39e8:	2c07      	subi      	r4, 8
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_LED_BRIGHTNESS,&para[PB_FMT_PARA + 1],para_len);
    39ea:	2000      	addi      	r0, 1
    39ec:	74d0      	zextb      	r3, r4
    39ee:	5d5e      	addi      	r2, r5, 8
    39f0:	7400      	zextb      	r0, r0
    39f2:	3101      	movi      	r1, 1
    39f4:	e3fffcce 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
		*ackLen = 1;
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
		
	}

}
    39f8:	1494      	pop      	r4-r7, r15
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
    39fa:	a660      	st.b      	r3, (r6, 0x0)
}
    39fc:	07fe      	br      	0x39f8	// 39f8 <PB_ACK_SET_PB_LED_BRIGHTNESS+0x34>
    39fe:	0000      	bkpt
    3a00:	00005ba4 	.long	0x00005ba4

Disassembly of section .text.PB_ACK_SET_PB_LED_Adjust:

00003a04 <PB_ACK_SET_PB_LED_Adjust>:
/*********************************************************************
 * @fn      PB_ACK_SET_PB_LED_Adjust
 * @brief   BLV PB控制协议 - 设定PB总线 LED单回路亮度调节			--按照单独回路控制
 * @return  none
 */
void PB_ACK_SET_PB_LED_Adjust(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3a04:	14d4      	push      	r4-r7, r15
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    3a06:	8084      	ld.b      	r4, (r0, 0x4)
void PB_ACK_SET_PB_LED_Adjust(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3a08:	6d43      	mov      	r5, r0
    3a0a:	6d87      	mov      	r6, r1
	
	Dbg_Println(DBG_BIT_SYS_STATUS, "PB_ACK_SET_PB_LED_Adjust");
    3a0c:	3000      	movi      	r0, 0
    3a0e:	102d      	lrw      	r1, 0x5bc1	// 3a40 <PB_ACK_SET_PB_LED_Adjust+0x3c>
void PB_ACK_SET_PB_LED_Adjust(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3a10:	6dcb      	mov      	r7, r2
	Dbg_Println(DBG_BIT_SYS_STATUS, "PB_ACK_SET_PB_LED_Adjust");
    3a12:	e3fffacb 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	if(PowerBUS_GetCommState() == 0x00){
    3a16:	e3fffd15 	bsr      	0x3440	// 3440 <PowerBUS_GetCommState>
    3a1a:	3840      	cmpnei      	r0, 0
		*ackLen = 1;
    3a1c:	3301      	movi      	r3, 1
    3a1e:	af60      	st.h      	r3, (r7, 0x0)
	if(PowerBUS_GetCommState() == 0x00){
    3a20:	080d      	bt      	0x3a3a	// 3a3a <PB_ACK_SET_PB_LED_Adjust+0x36>
		ackPara[0] = PB_CMD_Reply_Succ;
    3a22:	3300      	movi      	r3, 0
    3a24:	a660      	st.b      	r3, (r6, 0x0)
		
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_LED_ADJUST,&para[PB_FMT_PARA + 1],para_len);
    3a26:	8507      	ld.b      	r0, (r5, 0x7)
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    3a28:	2c07      	subi      	r4, 8
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_LED_ADJUST,&para[PB_FMT_PARA + 1],para_len);
    3a2a:	2000      	addi      	r0, 1
    3a2c:	74d0      	zextb      	r3, r4
    3a2e:	5d5e      	addi      	r2, r5, 8
    3a30:	7400      	zextb      	r0, r0
    3a32:	3103      	movi      	r1, 3
    3a34:	e3fffcae 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
	}else{
		*ackLen = 1;
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
		
	}
}
    3a38:	1494      	pop      	r4-r7, r15
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
    3a3a:	a660      	st.b      	r3, (r6, 0x0)
}
    3a3c:	07fe      	br      	0x3a38	// 3a38 <PB_ACK_SET_PB_LED_Adjust+0x34>
    3a3e:	0000      	bkpt
    3a40:	00005bc1 	.long	0x00005bc1

Disassembly of section .text.PB_ACK_SET_PB_LED_SWITCH:

00003a44 <PB_ACK_SET_PB_LED_SWITCH>:
/*********************************************************************
 * @fn      PB_ACK_SET_PB_LED_SWITCH
 * @brief   BLV PB控制协议 - 设定PB总线 LED单回路开关状态			--按照单独回路控制
 * @return  none
 */
void PB_ACK_SET_PB_LED_SWITCH(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3a44:	14d4      	push      	r4-r7, r15
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    3a46:	8084      	ld.b      	r4, (r0, 0x4)
void PB_ACK_SET_PB_LED_SWITCH(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3a48:	6d43      	mov      	r5, r0
    3a4a:	6d87      	mov      	r6, r1
	
	Dbg_Println(DBG_BIT_SYS_STATUS, "PB_ACK_SET_PB_LED_SWITCH");
    3a4c:	3000      	movi      	r0, 0
    3a4e:	102d      	lrw      	r1, 0x5bda	// 3a80 <PB_ACK_SET_PB_LED_SWITCH+0x3c>
void PB_ACK_SET_PB_LED_SWITCH(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3a50:	6dcb      	mov      	r7, r2
	Dbg_Println(DBG_BIT_SYS_STATUS, "PB_ACK_SET_PB_LED_SWITCH");
    3a52:	e3fffaab 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	if(PowerBUS_GetCommState() == 0x00){
    3a56:	e3fffcf5 	bsr      	0x3440	// 3440 <PowerBUS_GetCommState>
    3a5a:	3840      	cmpnei      	r0, 0
		*ackLen = 1;
    3a5c:	3301      	movi      	r3, 1
    3a5e:	af60      	st.h      	r3, (r7, 0x0)
	if(PowerBUS_GetCommState() == 0x00){
    3a60:	080d      	bt      	0x3a7a	// 3a7a <PB_ACK_SET_PB_LED_SWITCH+0x36>
		ackPara[0] = PB_CMD_Reply_Succ;
    3a62:	3300      	movi      	r3, 0
    3a64:	a660      	st.b      	r3, (r6, 0x0)
		
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_LED_SWITCH,&para[PB_FMT_PARA + 1],para_len);
    3a66:	8507      	ld.b      	r0, (r5, 0x7)
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    3a68:	2c07      	subi      	r4, 8
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_LED_SWITCH,&para[PB_FMT_PARA + 1],para_len);
    3a6a:	2000      	addi      	r0, 1
    3a6c:	74d0      	zextb      	r3, r4
    3a6e:	5d5e      	addi      	r2, r5, 8
    3a70:	7400      	zextb      	r0, r0
    3a72:	3102      	movi      	r1, 2
    3a74:	e3fffc8e 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
	}else{
		*ackLen = 1;
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
	}
	
}
    3a78:	1494      	pop      	r4-r7, r15
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
    3a7a:	a660      	st.b      	r3, (r6, 0x0)
}
    3a7c:	07fe      	br      	0x3a78	// 3a78 <PB_ACK_SET_PB_LED_SWITCH+0x34>
    3a7e:	0000      	bkpt
    3a80:	00005bda 	.long	0x00005bda

Disassembly of section .text.PB_ACK_SET_PB_ALLLED_Switch:

00003a84 <PB_ACK_SET_PB_ALLLED_Switch>:
/*********************************************************************
 * @fn      PB_ACK_SET_PB_ALLLED_Switch
 * @brief   BLV PB控制协议 - 设定PB总线 LED全部设备开关状态
 * @return  none
 */
void PB_ACK_SET_PB_ALLLED_Switch(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3a84:	14d4      	push      	r4-r7, r15
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    3a86:	8084      	ld.b      	r4, (r0, 0x4)
void PB_ACK_SET_PB_ALLLED_Switch(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3a88:	6d43      	mov      	r5, r0
    3a8a:	6d87      	mov      	r6, r1
	
	Dbg_Println(DBG_BIT_SYS_STATUS, "PB_ACK_SET_PB_ALLLED_Switch");
    3a8c:	3000      	movi      	r0, 0
    3a8e:	102d      	lrw      	r1, 0x5bf3	// 3ac0 <PB_ACK_SET_PB_ALLLED_Switch+0x3c>
void PB_ACK_SET_PB_ALLLED_Switch(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3a90:	6dcb      	mov      	r7, r2
	Dbg_Println(DBG_BIT_SYS_STATUS, "PB_ACK_SET_PB_ALLLED_Switch");
    3a92:	e3fffa8b 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	if(PowerBUS_GetCommState() == 0x00){
    3a96:	e3fffcd5 	bsr      	0x3440	// 3440 <PowerBUS_GetCommState>
    3a9a:	3840      	cmpnei      	r0, 0
		*ackLen = 1;
    3a9c:	3301      	movi      	r3, 1
    3a9e:	af60      	st.h      	r3, (r7, 0x0)
	if(PowerBUS_GetCommState() == 0x00){
    3aa0:	080d      	bt      	0x3aba	// 3aba <PB_ACK_SET_PB_ALLLED_Switch+0x36>
		ackPara[0] = PB_CMD_Reply_Succ;
    3aa2:	3300      	movi      	r3, 0
    3aa4:	a660      	st.b      	r3, (r6, 0x0)
		
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_ALLLED_SWITCH,&para[PB_FMT_PARA + 1],para_len);
    3aa6:	8507      	ld.b      	r0, (r5, 0x7)
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    3aa8:	2c07      	subi      	r4, 8
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_ALLLED_SWITCH,&para[PB_FMT_PARA + 1],para_len);
    3aaa:	2000      	addi      	r0, 1
    3aac:	74d0      	zextb      	r3, r4
    3aae:	5d5e      	addi      	r2, r5, 8
    3ab0:	7400      	zextb      	r0, r0
    3ab2:	3108      	movi      	r1, 8
    3ab4:	e3fffc6e 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
	}else{
		*ackLen = 1;
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
	}
	
}
    3ab8:	1494      	pop      	r4-r7, r15
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
    3aba:	a660      	st.b      	r3, (r6, 0x0)
}
    3abc:	07fe      	br      	0x3ab8	// 3ab8 <PB_ACK_SET_PB_ALLLED_Switch+0x34>
    3abe:	0000      	bkpt
    3ac0:	00005bf3 	.long	0x00005bf3

Disassembly of section .text.PB_ACK_SET_PB_STRIPS_BRIGHTNESS:

00003ac4 <PB_ACK_SET_PB_STRIPS_BRIGHTNESS>:
/*********************************************************************
 * @fn      PB_ACK_SET_PB_STRIPS_BRIGHTNESS
 * @brief   BLV PB控制协议 - 设定PB总线 
 * @return  none
 */
void PB_ACK_SET_PB_STRIPS_BRIGHTNESS(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3ac4:	14d4      	push      	r4-r7, r15
    3ac6:	1430      	subi      	r14, r14, 64
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    3ac8:	80a4      	ld.b      	r5, (r0, 0x4)
    3aca:	2d07      	subi      	r5, 8
    3acc:	7554      	zextb      	r5, r5
	U8_T addr_field = 0;
	U8_T pack_buff[60];
	U8_T pack_len = 0;
	U32_T ch_mask = 0;
	
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s %d",__func__,para_len);
    3ace:	6cd7      	mov      	r3, r5
void PB_ACK_SET_PB_STRIPS_BRIGHTNESS(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3ad0:	6d03      	mov      	r4, r0
    3ad2:	6d87      	mov      	r6, r1
    3ad4:	6dcb      	mov      	r7, r2
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s %d",__func__,para_len);
    3ad6:	1233      	lrw      	r1, 0x5c0f	// 3c20 <PB_ACK_SET_PB_STRIPS_BRIGHTNESS+0x15c>
    3ad8:	1253      	lrw      	r2, 0x5759	// 3c24 <PB_ACK_SET_PB_STRIPS_BRIGHTNESS+0x160>
    3ada:	3000      	movi      	r0, 0
    3adc:	e3fffa66 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	/*2024-06-20 修改主机这边组地址 按照64回路地址下发，而PowerBus还是按照32回路一组控制，因此需要手动分包*/
	if(para_len == 0x4B){
    3ae0:	334b      	movi      	r3, 75
    3ae2:	64d6      	cmpne      	r5, r3
    3ae4:	0899      	bt      	0x3c16	// 3c16 <PB_ACK_SET_PB_STRIPS_BRIGHTNESS+0x152>
		
		if(PowerBUS_GetCommState() == 0x00){
    3ae6:	e3fffcad 	bsr      	0x3440	// 3440 <PowerBUS_GetCommState>
    3aea:	3840      	cmpnei      	r0, 0
    3aec:	0892      	bt      	0x3c10	// 3c10 <PB_ACK_SET_PB_STRIPS_BRIGHTNESS+0x14c>
			addr_field = para[PB_FMT_PARA + 1];		//地址段 0~3：正常地址段范围 ，大于4：属于群控地址
			ch_mask = para[PB_FMT_PARA + 5];
			ch_mask <<= 8;
			ch_mask |= para[PB_FMT_PARA + 4];
    3aee:	320b      	movi      	r2, 11
    3af0:	6090      	addu      	r2, r4
    3af2:	8261      	ld.b      	r3, (r2, 0x1)
    3af4:	8220      	ld.b      	r1, (r2, 0x0)
    3af6:	4368      	lsli      	r3, r3, 8
    3af8:	6cc4      	or      	r3, r1
			ch_mask <<= 8;
			ch_mask |= para[PB_FMT_PARA + 3];
    3afa:	844a      	ld.b      	r2, (r4, 0xa)
			ch_mask <<= 8;
    3afc:	4368      	lsli      	r3, r3, 8
			ch_mask |= para[PB_FMT_PARA + 3];
    3afe:	6cc8      	or      	r3, r2
			ch_mask <<= 8;
    3b00:	4368      	lsli      	r3, r3, 8
			ch_mask |= para[PB_FMT_PARA + 2];
    3b02:	8449      	ld.b      	r2, (r4, 0x9)
    3b04:	6cc8      	or      	r3, r2
			Dbg_Println(DBG_BIT_SYS_STATUS, "L ch_mask :%08x",ch_mask);
    3b06:	6c8f      	mov      	r2, r3
    3b08:	1228      	lrw      	r1, 0x5c15	// 3c28 <PB_ACK_SET_PB_STRIPS_BRIGHTNESS+0x164>
			addr_field = para[PB_FMT_PARA + 1];		//地址段 0~3：正常地址段范围 ，大于4：属于群控地址
    3b0a:	84a8      	ld.b      	r5, (r4, 0x8)
			Dbg_Println(DBG_BIT_SYS_STATUS, "L ch_mask :%08x",ch_mask);
    3b0c:	b860      	st.w      	r3, (r14, 0x0)
    3b0e:	e3fffa4d 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
			if(ch_mask != 0x00){
    3b12:	9860      	ld.w      	r3, (r14, 0x0)
    3b14:	3b40      	cmpnei      	r3, 0
    3b16:	0c31      	bf      	0x3b78	// 3b78 <PB_ACK_SET_PB_STRIPS_BRIGHTNESS+0xb4>
				//判断前32回路是否有控制状态
				
				//Dbg_Println(DBG_BIT_SYS_STATUS, "L ch_mask :%08x",ch_mask);
				
				memset(pack_buff, 0, sizeof(pack_buff));
    3b18:	323c      	movi      	r2, 60
    3b1a:	3100      	movi      	r1, 0
    3b1c:	1801      	addi      	r0, r14, 4
    3b1e:	e3ffe86b 	bsr      	0xbf4	// bf4 <__memset_fast>
				pack_len = 0;
				
				pack_buff[pack_len++] = addr_field*2;					//组地址
    3b22:	4561      	lsli      	r3, r5, 1
    3b24:	dc6e0004 	st.b      	r3, (r14, 0x4)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 2];			//回路Mask
    3b28:	8469      	ld.b      	r3, (r4, 0x9)
    3b2a:	dc6e0005 	st.b      	r3, (r14, 0x5)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 3];
    3b2e:	846a      	ld.b      	r3, (r4, 0xa)
    3b30:	dc6e0006 	st.b      	r3, (r14, 0x6)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 4];
    3b34:	846b      	ld.b      	r3, (r4, 0xb)
    3b36:	dc6e0007 	st.b      	r3, (r14, 0x7)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 5];
    3b3a:	846c      	ld.b      	r3, (r4, 0xc)
    3b3c:	dc6e0008 	st.b      	r3, (r14, 0x8)
				
				pack_buff[pack_len++] = para[PB_FMT_PARA + 10];				//是否保存
    3b40:	8471      	ld.b      	r3, (r4, 0x11)
    3b42:	dc6e0009 	st.b      	r3, (r14, 0x9)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 11];				//渐变时间
    3b46:	8472      	ld.b      	r3, (r4, 0x12)
    3b48:	dc6e000a 	st.b      	r3, (r14, 0xa)
				
				memcpy(&pack_buff[pack_len], &para[PB_FMT_PARA + 12], 32);	//拷贝32回路的控制亮度
    3b4c:	3007      	movi      	r0, 7
    3b4e:	1b01      	addi      	r3, r14, 4
    3b50:	3113      	movi      	r1, 19
    3b52:	600c      	addu      	r0, r3
    3b54:	3220      	movi      	r2, 32
    3b56:	6050      	addu      	r1, r4
    3b58:	e3ffe892 	bsr      	0xc7c	// c7c <__memcpy_fast>
				pack_len+=32;
				
				Dbg_Print_Buff(DBG_BIT_SYS_STATUS, "Pack BUFF",pack_buff,pack_len);
    3b5c:	3327      	movi      	r3, 39
    3b5e:	1a01      	addi      	r2, r14, 4
    3b60:	1133      	lrw      	r1, 0x5c25	// 3c2c <PB_ACK_SET_PB_STRIPS_BRIGHTNESS+0x168>
    3b62:	3000      	movi      	r0, 0
    3b64:	e3fffa28 	bsr      	0x2fb4	// 2fb4 <Dbg_Print_Buff>
				
				PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_STRIPS_BRIGHTNESS,pack_buff,pack_len);
    3b68:	8407      	ld.b      	r0, (r4, 0x7)
    3b6a:	2000      	addi      	r0, 1
    3b6c:	7400      	zextb      	r0, r0
    3b6e:	3327      	movi      	r3, 39
    3b70:	1a01      	addi      	r2, r14, 4
    3b72:	3114      	movi      	r1, 20
    3b74:	e3fffc0e 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
			}
			
			ch_mask = para[PB_FMT_PARA + 9];
			ch_mask <<= 8;
			ch_mask |= para[PB_FMT_PARA + 8];
    3b78:	320f      	movi      	r2, 15
    3b7a:	6090      	addu      	r2, r4
    3b7c:	8261      	ld.b      	r3, (r2, 0x1)
    3b7e:	8220      	ld.b      	r1, (r2, 0x0)
    3b80:	4368      	lsli      	r3, r3, 8
    3b82:	6cc4      	or      	r3, r1
			ch_mask <<= 8;
			ch_mask |= para[PB_FMT_PARA + 7];
    3b84:	844e      	ld.b      	r2, (r4, 0xe)
			ch_mask <<= 8;
    3b86:	4368      	lsli      	r3, r3, 8
			ch_mask |= para[PB_FMT_PARA + 7];
    3b88:	6cc8      	or      	r3, r2
			ch_mask <<= 8;
    3b8a:	4368      	lsli      	r3, r3, 8
			ch_mask |= para[PB_FMT_PARA + 6];
    3b8c:	844d      	ld.b      	r2, (r4, 0xd)
    3b8e:	6cc8      	or      	r3, r2
			Dbg_Println(DBG_BIT_SYS_STATUS, "L ch_mask :%08x",ch_mask);
    3b90:	6c8f      	mov      	r2, r3
    3b92:	1126      	lrw      	r1, 0x5c15	// 3c28 <PB_ACK_SET_PB_STRIPS_BRIGHTNESS+0x164>
    3b94:	3000      	movi      	r0, 0
    3b96:	b860      	st.w      	r3, (r14, 0x0)
    3b98:	e3fffa08 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
			if(ch_mask != 0x00){
    3b9c:	9860      	ld.w      	r3, (r14, 0x0)
    3b9e:	3b40      	cmpnei      	r3, 0
    3ba0:	0c32      	bf      	0x3c04	// 3c04 <PB_ACK_SET_PB_STRIPS_BRIGHTNESS+0x140>
				//判断后32回路是否有控制状态
				memset(pack_buff, 0, sizeof(pack_buff));
    3ba2:	323c      	movi      	r2, 60
    3ba4:	3100      	movi      	r1, 0
    3ba6:	1801      	addi      	r0, r14, 4
    3ba8:	e3ffe826 	bsr      	0xbf4	// bf4 <__memset_fast>
				pack_len = 0;
				
				//Dbg_Println(DBG_BIT_SYS_STATUS, "L ch_mask :%08x",ch_mask);
				
				pack_buff[pack_len++] = addr_field*2+1;					//组地址
				pack_buff[pack_len++] = para[PB_FMT_PARA + 6];			//回路Mask
    3bac:	846d      	ld.b      	r3, (r4, 0xd)
    3bae:	dc6e0005 	st.b      	r3, (r14, 0x5)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 7];
    3bb2:	846e      	ld.b      	r3, (r4, 0xe)
    3bb4:	dc6e0006 	st.b      	r3, (r14, 0x6)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 8];
    3bb8:	846f      	ld.b      	r3, (r4, 0xf)
    3bba:	dc6e0007 	st.b      	r3, (r14, 0x7)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 9];
    3bbe:	8470      	ld.b      	r3, (r4, 0x10)
    3bc0:	dc6e0008 	st.b      	r3, (r14, 0x8)
				
				pack_buff[pack_len++] = para[PB_FMT_PARA + 10];				//是否保存
    3bc4:	8471      	ld.b      	r3, (r4, 0x11)
    3bc6:	dc6e0009 	st.b      	r3, (r14, 0x9)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 11];				//渐变时间
    3bca:	8472      	ld.b      	r3, (r4, 0x12)
    3bcc:	dc6e000a 	st.b      	r3, (r14, 0xa)
				pack_buff[pack_len++] = addr_field*2+1;					//组地址
    3bd0:	45a1      	lsli      	r5, r5, 1
				
				memcpy(&pack_buff[pack_len], &para[PB_FMT_PARA + 44], 32);	//拷贝32回路的控制亮度
    3bd2:	1b01      	addi      	r3, r14, 4
    3bd4:	3007      	movi      	r0, 7
    3bd6:	3133      	movi      	r1, 51
    3bd8:	600c      	addu      	r0, r3
    3bda:	6050      	addu      	r1, r4
    3bdc:	3220      	movi      	r2, 32
				pack_buff[pack_len++] = addr_field*2+1;					//组地址
    3bde:	2500      	addi      	r5, 1
    3be0:	dcae0004 	st.b      	r5, (r14, 0x4)
				memcpy(&pack_buff[pack_len], &para[PB_FMT_PARA + 44], 32);	//拷贝32回路的控制亮度
    3be4:	e3ffe84c 	bsr      	0xc7c	// c7c <__memcpy_fast>
				pack_len+=32;
				
				Dbg_Print_Buff(DBG_BIT_SYS_STATUS, "Pack BUFF",pack_buff,pack_len);
    3be8:	3327      	movi      	r3, 39
    3bea:	1a01      	addi      	r2, r14, 4
    3bec:	1030      	lrw      	r1, 0x5c25	// 3c2c <PB_ACK_SET_PB_STRIPS_BRIGHTNESS+0x168>
    3bee:	3000      	movi      	r0, 0
    3bf0:	e3fff9e2 	bsr      	0x2fb4	// 2fb4 <Dbg_Print_Buff>
				
				PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_STRIPS_BRIGHTNESS,pack_buff,pack_len);
    3bf4:	8407      	ld.b      	r0, (r4, 0x7)
    3bf6:	2000      	addi      	r0, 1
    3bf8:	7400      	zextb      	r0, r0
    3bfa:	3327      	movi      	r3, 39
    3bfc:	1a01      	addi      	r2, r14, 4
    3bfe:	3114      	movi      	r1, 20
    3c00:	e3fffbc8 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
			}
			
			//回复当前PowerBus 通讯状态空闲，处理成功
			*ackLen = 1;
    3c04:	3301      	movi      	r3, 1
    3c06:	af60      	st.h      	r3, (r7, 0x0)
	
			ackPara[0] = PB_CMD_Reply_Succ;
    3c08:	3300      	movi      	r3, 0
		}
	}else{
		//回复当前PowerBus 参数错误
		*ackLen = 1;

		ackPara[0] = PB_CMD_Reply_ParaError;
    3c0a:	a660      	st.b      	r3, (r6, 0x0)
	}
	
}
    3c0c:	1410      	addi      	r14, r14, 64
    3c0e:	1494      	pop      	r4-r7, r15
			*ackLen = 1;
    3c10:	3301      	movi      	r3, 1
    3c12:	af60      	st.h      	r3, (r7, 0x0)
    3c14:	07fb      	br      	0x3c0a	// 3c0a <PB_ACK_SET_PB_STRIPS_BRIGHTNESS+0x146>
		*ackLen = 1;
    3c16:	3301      	movi      	r3, 1
    3c18:	af60      	st.h      	r3, (r7, 0x0)
		ackPara[0] = PB_CMD_Reply_ParaError;
    3c1a:	3302      	movi      	r3, 2
    3c1c:	07f7      	br      	0x3c0a	// 3c0a <PB_ACK_SET_PB_STRIPS_BRIGHTNESS+0x146>
    3c1e:	0000      	bkpt
    3c20:	00005c0f 	.long	0x00005c0f
    3c24:	00005759 	.long	0x00005759
    3c28:	00005c15 	.long	0x00005c15
    3c2c:	00005c25 	.long	0x00005c25

Disassembly of section .text.PB_ACK_SET_PB_STRIPS_ADJUST:

00003c30 <PB_ACK_SET_PB_STRIPS_ADJUST>:
/*********************************************************************
 * @fn      PB_ACK_SET_PB_STRIPS_ADJUST
 * @brief   BLV PB控制协议 - 设定PB总线 
 * @return  none
 */
void PB_ACK_SET_PB_STRIPS_ADJUST(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3c30:	14d4      	push      	r4-r7, r15
    3c32:	1433      	subi      	r14, r14, 76
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    3c34:	80e4      	ld.b      	r7, (r0, 0x4)
void PB_ACK_SET_PB_STRIPS_ADJUST(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3c36:	6d03      	mov      	r4, r0
    3c38:	6d47      	mov      	r5, r1
    3c3a:	6d8b      	mov      	r6, r2
	U8_T addr_field = 0;
	U8_T pack_buff[60];
	U8_T pack_len = 0;
	U32_T ch_mask = 0;
	
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s",__func__);
    3c3c:	122d      	lrw      	r1, 0x5a8e	// 3d70 <PB_ACK_SET_PB_STRIPS_ADJUST+0x140>
    3c3e:	124e      	lrw      	r2, 0x5779	// 3d74 <PB_ACK_SET_PB_STRIPS_ADJUST+0x144>
    3c40:	3000      	movi      	r0, 0
    3c42:	e3fff9b3 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	/*2024-06-20 修改主机这边组地址 按照64回路地址下发，而PowerBus还是按照32回路一组控制，因此需要手动分包*/
	if(para_len == 12){
    3c46:	3f54      	cmpnei      	r7, 20
    3c48:	088f      	bt      	0x3d66	// 3d66 <PB_ACK_SET_PB_STRIPS_ADJUST+0x136>
		
		if(PowerBUS_GetCommState() == 0x00){
    3c4a:	e3fffbfb 	bsr      	0x3440	// 3440 <PowerBUS_GetCommState>
    3c4e:	3840      	cmpnei      	r0, 0
    3c50:	0888      	bt      	0x3d60	// 3d60 <PB_ACK_SET_PB_STRIPS_ADJUST+0x130>
			addr_field = para[PB_FMT_PARA + 1];		//地址段 0~3：正常地址段范围 ，大于4：属于群控地址
    3c52:	8468      	ld.b      	r3, (r4, 0x8)
    3c54:	b860      	st.w      	r3, (r14, 0x0)
			ch_mask = para[PB_FMT_PARA + 5];
			ch_mask <<= 8;
			ch_mask |= para[PB_FMT_PARA + 4];
    3c56:	330b      	movi      	r3, 11
    3c58:	60d0      	addu      	r3, r4
    3c5a:	8341      	ld.b      	r2, (r3, 0x1)
    3c5c:	8320      	ld.b      	r1, (r3, 0x0)
    3c5e:	4248      	lsli      	r2, r2, 8
    3c60:	6c84      	or      	r2, r1
			ch_mask <<= 8;
    3c62:	4248      	lsli      	r2, r2, 8
			ch_mask |= para[PB_FMT_PARA + 3];
    3c64:	84ea      	ld.b      	r7, (r4, 0xa)
			ch_mask = para[PB_FMT_PARA + 5];
    3c66:	846c      	ld.b      	r3, (r4, 0xc)
			ch_mask |= para[PB_FMT_PARA + 3];
    3c68:	6c9c      	or      	r2, r7
			ch_mask = para[PB_FMT_PARA + 5];
    3c6a:	b861      	st.w      	r3, (r14, 0x4)
			ch_mask <<= 8;
    3c6c:	4248      	lsli      	r2, r2, 8
			ch_mask |= para[PB_FMT_PARA + 2];
    3c6e:	8469      	ld.b      	r3, (r4, 0x9)
    3c70:	6c8c      	or      	r2, r3
			if(ch_mask != 0x00){
    3c72:	3a40      	cmpnei      	r2, 0
			ch_mask |= para[PB_FMT_PARA + 4];
    3c74:	b822      	st.w      	r1, (r14, 0x8)
			if(ch_mask != 0x00){
    3c76:	0c2f      	bf      	0x3cd4	// 3cd4 <PB_ACK_SET_PB_STRIPS_ADJUST+0xa4>
				//判断前32回路是否有控制状态
				
				memset(pack_buff, 0, sizeof(pack_buff));
    3c78:	323c      	movi      	r2, 60
    3c7a:	3100      	movi      	r1, 0
    3c7c:	1804      	addi      	r0, r14, 16
    3c7e:	b863      	st.w      	r3, (r14, 0xc)
    3c80:	e3ffe7ba 	bsr      	0xbf4	// bf4 <__memset_fast>
				pack_len = 0;
				
				pack_buff[pack_len++] = addr_field*2;					//组地址
    3c84:	9860      	ld.w      	r3, (r14, 0x0)
    3c86:	4341      	lsli      	r2, r3, 1
				pack_buff[pack_len++] = para[PB_FMT_PARA + 2];			//回路Mask
    3c88:	9863      	ld.w      	r3, (r14, 0xc)
    3c8a:	dc6e0011 	st.b      	r3, (r14, 0x11)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 3];
				pack_buff[pack_len++] = para[PB_FMT_PARA + 4];
    3c8e:	d86e0008 	ld.b      	r3, (r14, 0x8)
    3c92:	dc6e0013 	st.b      	r3, (r14, 0x13)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 5];
    3c96:	d86e0004 	ld.b      	r3, (r14, 0x4)
    3c9a:	dc6e0014 	st.b      	r3, (r14, 0x14)
				
				pack_buff[pack_len++] = para[PB_FMT_PARA + 10];				//模式
    3c9e:	8471      	ld.b      	r3, (r4, 0x11)
    3ca0:	dc6e0015 	st.b      	r3, (r14, 0x15)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 11];				//调节方向
    3ca4:	8472      	ld.b      	r3, (r4, 0x12)
    3ca6:	dc6e0016 	st.b      	r3, (r14, 0x16)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 12];				//调节时间
    3caa:	8473      	ld.b      	r3, (r4, 0x13)
				pack_buff[pack_len++] = addr_field*2;					//组地址
    3cac:	dc4e0010 	st.b      	r2, (r14, 0x10)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 12];				//调节时间
    3cb0:	dc6e0017 	st.b      	r3, (r14, 0x17)
				
				Dbg_Print_Buff(DBG_BIT_SYS_STATUS, "Pack BUFF",pack_buff,pack_len);
    3cb4:	1a04      	addi      	r2, r14, 16
    3cb6:	3308      	movi      	r3, 8
    3cb8:	1130      	lrw      	r1, 0x5c25	// 3d78 <PB_ACK_SET_PB_STRIPS_ADJUST+0x148>
    3cba:	3000      	movi      	r0, 0
				pack_buff[pack_len++] = para[PB_FMT_PARA + 3];
    3cbc:	dcee0012 	st.b      	r7, (r14, 0x12)
				Dbg_Print_Buff(DBG_BIT_SYS_STATUS, "Pack BUFF",pack_buff,pack_len);
    3cc0:	e3fff97a 	bsr      	0x2fb4	// 2fb4 <Dbg_Print_Buff>
				PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_STRIPS_SWITCH,pack_buff,pack_len);
    3cc4:	8407      	ld.b      	r0, (r4, 0x7)
    3cc6:	2000      	addi      	r0, 1
    3cc8:	7400      	zextb      	r0, r0
    3cca:	3308      	movi      	r3, 8
    3ccc:	1a04      	addi      	r2, r14, 16
    3cce:	3115      	movi      	r1, 21
    3cd0:	e3fffb60 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
			}
			
			ch_mask = para[PB_FMT_PARA + 9];
			ch_mask <<= 8;
			ch_mask |= para[PB_FMT_PARA + 8];
    3cd4:	330f      	movi      	r3, 15
    3cd6:	60d0      	addu      	r3, r4
    3cd8:	8341      	ld.b      	r2, (r3, 0x1)
    3cda:	8320      	ld.b      	r1, (r3, 0x0)
    3cdc:	4248      	lsli      	r2, r2, 8
    3cde:	6c84      	or      	r2, r1
			ch_mask <<= 8;
    3ce0:	4248      	lsli      	r2, r2, 8
			ch_mask |= para[PB_FMT_PARA + 7];
    3ce2:	84ee      	ld.b      	r7, (r4, 0xe)
			ch_mask = para[PB_FMT_PARA + 9];
    3ce4:	8470      	ld.b      	r3, (r4, 0x10)
			ch_mask |= para[PB_FMT_PARA + 7];
    3ce6:	6c9c      	or      	r2, r7
			ch_mask = para[PB_FMT_PARA + 9];
    3ce8:	b861      	st.w      	r3, (r14, 0x4)
			ch_mask <<= 8;
    3cea:	4248      	lsli      	r2, r2, 8
			ch_mask |= para[PB_FMT_PARA + 6];
    3cec:	846d      	ld.b      	r3, (r4, 0xd)
    3cee:	6c8c      	or      	r2, r3
			if(ch_mask != 0x00){
    3cf0:	3a40      	cmpnei      	r2, 0
			ch_mask |= para[PB_FMT_PARA + 8];
    3cf2:	b822      	st.w      	r1, (r14, 0x8)
			if(ch_mask != 0x00){
    3cf4:	0c30      	bf      	0x3d54	// 3d54 <PB_ACK_SET_PB_STRIPS_ADJUST+0x124>
				//判断后32回路是否有控制状态
				memset(pack_buff, 0, sizeof(pack_buff));
    3cf6:	323c      	movi      	r2, 60
    3cf8:	3100      	movi      	r1, 0
    3cfa:	1804      	addi      	r0, r14, 16
    3cfc:	b863      	st.w      	r3, (r14, 0xc)
    3cfe:	e3ffe77b 	bsr      	0xbf4	// bf4 <__memset_fast>
				pack_len = 0;
				
				pack_buff[pack_len++] = addr_field*2+1;					//组地址
    3d02:	9860      	ld.w      	r3, (r14, 0x0)
    3d04:	4341      	lsli      	r2, r3, 1
				pack_buff[pack_len++] = para[PB_FMT_PARA + 6];			//回路Mask
    3d06:	9863      	ld.w      	r3, (r14, 0xc)
    3d08:	dc6e0011 	st.b      	r3, (r14, 0x11)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 7];
				pack_buff[pack_len++] = para[PB_FMT_PARA + 8];
    3d0c:	d86e0008 	ld.b      	r3, (r14, 0x8)
    3d10:	dc6e0013 	st.b      	r3, (r14, 0x13)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 9];
    3d14:	d86e0004 	ld.b      	r3, (r14, 0x4)
    3d18:	dc6e0014 	st.b      	r3, (r14, 0x14)
				
				pack_buff[pack_len++] = para[PB_FMT_PARA + 10];				//模式
    3d1c:	8471      	ld.b      	r3, (r4, 0x11)
    3d1e:	dc6e0015 	st.b      	r3, (r14, 0x15)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 11];				//调节方向
    3d22:	8472      	ld.b      	r3, (r4, 0x12)
				pack_buff[pack_len++] = addr_field*2+1;					//组地址
    3d24:	2200      	addi      	r2, 1
				pack_buff[pack_len++] = para[PB_FMT_PARA + 11];				//调节方向
    3d26:	dc6e0016 	st.b      	r3, (r14, 0x16)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 12];				//调节时间
    3d2a:	8473      	ld.b      	r3, (r4, 0x13)
				pack_buff[pack_len++] = addr_field*2+1;					//组地址
    3d2c:	dc4e0010 	st.b      	r2, (r14, 0x10)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 12];				//调节时间
    3d30:	dc6e0017 	st.b      	r3, (r14, 0x17)
				
				Dbg_Print_Buff(DBG_BIT_SYS_STATUS, "Pack BUFF",pack_buff,pack_len);
    3d34:	1a04      	addi      	r2, r14, 16
    3d36:	3308      	movi      	r3, 8
    3d38:	1030      	lrw      	r1, 0x5c25	// 3d78 <PB_ACK_SET_PB_STRIPS_ADJUST+0x148>
    3d3a:	3000      	movi      	r0, 0
				pack_buff[pack_len++] = para[PB_FMT_PARA + 7];
    3d3c:	dcee0012 	st.b      	r7, (r14, 0x12)
				Dbg_Print_Buff(DBG_BIT_SYS_STATUS, "Pack BUFF",pack_buff,pack_len);
    3d40:	e3fff93a 	bsr      	0x2fb4	// 2fb4 <Dbg_Print_Buff>
				PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_STRIPS_SWITCH,pack_buff,pack_len);
    3d44:	8407      	ld.b      	r0, (r4, 0x7)
    3d46:	2000      	addi      	r0, 1
    3d48:	7400      	zextb      	r0, r0
    3d4a:	3308      	movi      	r3, 8
    3d4c:	1a04      	addi      	r2, r14, 16
    3d4e:	3115      	movi      	r1, 21
    3d50:	e3fffb20 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
			}
			//回复当前PowerBus 通讯状态空闲，处理成功
			*ackLen = 1;
    3d54:	3301      	movi      	r3, 1
    3d56:	ae60      	st.h      	r3, (r6, 0x0)
	
			ackPara[0] = PB_CMD_Reply_Succ;
    3d58:	3300      	movi      	r3, 0
		}
	}else{
		//回复当前PowerBus 参数错误
		*ackLen = 1;

		ackPara[0] = PB_CMD_Reply_ParaError;
    3d5a:	a560      	st.b      	r3, (r5, 0x0)
	}
	
}
    3d5c:	1413      	addi      	r14, r14, 76
    3d5e:	1494      	pop      	r4-r7, r15
			*ackLen = 1;
    3d60:	3301      	movi      	r3, 1
    3d62:	ae60      	st.h      	r3, (r6, 0x0)
    3d64:	07fb      	br      	0x3d5a	// 3d5a <PB_ACK_SET_PB_STRIPS_ADJUST+0x12a>
		*ackLen = 1;
    3d66:	3301      	movi      	r3, 1
    3d68:	ae60      	st.h      	r3, (r6, 0x0)
		ackPara[0] = PB_CMD_Reply_ParaError;
    3d6a:	3302      	movi      	r3, 2
    3d6c:	07f7      	br      	0x3d5a	// 3d5a <PB_ACK_SET_PB_STRIPS_ADJUST+0x12a>
    3d6e:	0000      	bkpt
    3d70:	00005a8e 	.long	0x00005a8e
    3d74:	00005779 	.long	0x00005779
    3d78:	00005c25 	.long	0x00005c25

Disassembly of section .text.PB_ACK_SET_PB_STRIPS_SWITCH:

00003d7c <PB_ACK_SET_PB_STRIPS_SWITCH>:
/*********************************************************************
 * @fn      PB_ACK_SET_PB_STRIPS_SWITCH
 * @brief   BLV PB控制协议 - 设定PB总线 
 * @return  none
 */
void PB_ACK_SET_PB_STRIPS_SWITCH(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3d7c:	14d4      	push      	r4-r7, r15
    3d7e:	1432      	subi      	r14, r14, 72
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    3d80:	80a4      	ld.b      	r5, (r0, 0x4)
    3d82:	2d07      	subi      	r5, 8
    3d84:	7554      	zextb      	r5, r5
void PB_ACK_SET_PB_STRIPS_SWITCH(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3d86:	b821      	st.w      	r1, (r14, 0x4)
    3d88:	b842      	st.w      	r2, (r14, 0x8)
	U8_T addr_field = 0;
	U8_T pack_buff[60];
	U8_T pack_len = 0;
	U32_T ch_mask = 0,off_mask = 0,on_mask = 0;
	
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s %02x",__func__,para_len);
    3d8a:	6cd7      	mov      	r3, r5
void PB_ACK_SET_PB_STRIPS_SWITCH(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3d8c:	6d03      	mov      	r4, r0
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s %02x",__func__,para_len);
    3d8e:	0354      	lrw      	r2, 0x5795	// 3fb8 <PB_ACK_SET_PB_STRIPS_SWITCH+0x23c>
    3d90:	0334      	lrw      	r1, 0x5c2f	// 3fbc <PB_ACK_SET_PB_STRIPS_SWITCH+0x240>
    3d92:	3000      	movi      	r0, 0
    3d94:	e3fff90a 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	/*2024-06-20 修改主机这边组地址 按照64回路地址下发，而PowerBus还是按照32回路一组控制，因此需要手动分包*/
	if(para_len == 0x4A){
    3d98:	334a      	movi      	r3, 74
    3d9a:	64d6      	cmpne      	r5, r3
    3d9c:	0908      	bt      	0x3fac	// 3fac <PB_ACK_SET_PB_STRIPS_SWITCH+0x230>
		if(PowerBUS_GetCommState() == 0x00){
    3d9e:	e3fffb51 	bsr      	0x3440	// 3440 <PowerBUS_GetCommState>
    3da2:	3840      	cmpnei      	r0, 0
    3da4:	08ff      	bt      	0x3fa2	// 3fa2 <PB_ACK_SET_PB_STRIPS_SWITCH+0x226>
			addr_field = para[PB_FMT_PARA + 1];		//地址段 0~3：正常地址段范围 ，大于4：属于群控地址
    3da6:	8468      	ld.b      	r3, (r4, 0x8)
    3da8:	b860      	st.w      	r3, (r14, 0x0)
			ch_mask = para[PB_FMT_PARA + 5];
			ch_mask <<= 8;
			ch_mask |= para[PB_FMT_PARA + 4];
    3daa:	330b      	movi      	r3, 11
    3dac:	60d0      	addu      	r3, r4
    3dae:	83e1      	ld.b      	r7, (r3, 0x1)
    3db0:	8340      	ld.b      	r2, (r3, 0x0)
    3db2:	47e8      	lsli      	r7, r7, 8
    3db4:	6dc8      	or      	r7, r2
			ch_mask <<= 8;
			ch_mask |= para[PB_FMT_PARA + 3];
    3db6:	846a      	ld.b      	r3, (r4, 0xa)
			ch_mask <<= 8;
    3db8:	47e8      	lsli      	r7, r7, 8
			ch_mask |= para[PB_FMT_PARA + 3];
    3dba:	6dcc      	or      	r7, r3
			ch_mask <<= 8;
    3dbc:	47e8      	lsli      	r7, r7, 8
			ch_mask |= para[PB_FMT_PARA + 2];
    3dbe:	8469      	ld.b      	r3, (r4, 0x9)
    3dc0:	6dcc      	or      	r7, r3
			
			Dbg_Println(DBG_BIT_SYS_STATUS, "L ch_mask :%08x",ch_mask);
    3dc2:	6c9f      	mov      	r2, r7
    3dc4:	133f      	lrw      	r1, 0x5c15	// 3fc0 <PB_ACK_SET_PB_STRIPS_SWITCH+0x244>
    3dc6:	e3fff8f1 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
			if(ch_mask != 0x00){
    3dca:	3f40      	cmpnei      	r7, 0
    3dcc:	0c66      	bf      	0x3e98	// 3e98 <PB_ACK_SET_PB_STRIPS_SWITCH+0x11c>
    3dce:	3212      	movi      	r2, 18
    3dd0:	6090      	addu      	r2, r4
    3dd2:	3300      	movi      	r3, 0
    3dd4:	3500      	movi      	r5, 0
    3dd6:	3600      	movi      	r6, 0
				//判断前32回路是否有控制状态
				
				for(U8_T ch = 0;ch<32;ch++){
					if( (ch_mask & (0x01<<ch)) != 0x00 ) {
    3dd8:	3101      	movi      	r1, 1
    3dda:	704c      	lsl      	r1, r3
    3ddc:	6c1f      	mov      	r0, r7
    3dde:	6804      	and      	r0, r1
    3de0:	3840      	cmpnei      	r0, 0
    3de2:	0c05      	bf      	0x3dec	// 3dec <PB_ACK_SET_PB_STRIPS_SWITCH+0x70>
						//有控制状态 - 检查控制
						if(para[PB_FMT_PARA + 11 + ch] == 0x01){
    3de4:	8200      	ld.b      	r0, (r2, 0x0)
    3de6:	3841      	cmpnei      	r0, 1
    3de8:	08d5      	bt      	0x3f92	// 3f92 <PB_ACK_SET_PB_STRIPS_SWITCH+0x216>
							
							on_mask |= 0x01 << ch;
    3dea:	6d84      	or      	r6, r1
    3dec:	2300      	addi      	r3, 1
				for(U8_T ch = 0;ch<32;ch++){
    3dee:	3120      	movi      	r1, 32
    3df0:	644e      	cmpne      	r3, r1
    3df2:	2200      	addi      	r2, 1
    3df4:	0bf2      	bt      	0x3dd8	// 3dd8 <PB_ACK_SET_PB_STRIPS_SWITCH+0x5c>
							off_mask |= 0x01 << ch;
						}
					}
				}
				
				if(on_mask != 0x00){
    3df6:	3e40      	cmpnei      	r6, 0
    3df8:	0c29      	bf      	0x3e4a	// 3e4a <PB_ACK_SET_PB_STRIPS_SWITCH+0xce>
					memset(pack_buff, 0, sizeof(pack_buff));
    3dfa:	323c      	movi      	r2, 60
    3dfc:	3100      	movi      	r1, 0
    3dfe:	1803      	addi      	r0, r14, 12
    3e00:	e3ffe6fa 	bsr      	0xbf4	// bf4 <__memset_fast>
					pack_len = 0;
				
					pack_buff[pack_len++] = addr_field*2;					//组地址
    3e04:	9860      	ld.w      	r3, (r14, 0x0)
    3e06:	4361      	lsli      	r3, r3, 1
    3e08:	dc6e000c 	st.b      	r3, (r14, 0xc)
					
					pack_buff[pack_len++] = (on_mask & 0xFF);				//回路Mask
					pack_buff[pack_len++] = ((on_mask>>8) & 0xFF);			//回路Mask
    3e0c:	4e68      	lsri      	r3, r6, 8
    3e0e:	dc6e000e 	st.b      	r3, (r14, 0xe)
					pack_buff[pack_len++] = ((on_mask>>16) & 0xFF);			//回路Mask
    3e12:	4e70      	lsri      	r3, r6, 16
    3e14:	dc6e000f 	st.b      	r3, (r14, 0xf)
					pack_buff[pack_len++] = ((on_mask>>24) & 0xFF);			//回路Mask
					
					
					pack_buff[pack_len++] = para[PB_FMT_PARA + 10];				//是否保存
    3e18:	8471      	ld.b      	r3, (r4, 0x11)
    3e1a:	dc6e0011 	st.b      	r3, (r14, 0x11)
					
					pack_buff[pack_len++] = 0x01;				//开
    3e1e:	3301      	movi      	r3, 1
					pack_buff[pack_len++] = (on_mask & 0xFF);				//回路Mask
    3e20:	dcce000d 	st.b      	r6, (r14, 0xd)
					pack_buff[pack_len++] = 0x01;				//开
    3e24:	dc6e0012 	st.b      	r3, (r14, 0x12)
					Dbg_Print_Buff(DBG_BIT_SYS_STATUS, "Pack BUFF",pack_buff,pack_len);
    3e28:	1a03      	addi      	r2, r14, 12
    3e2a:	3307      	movi      	r3, 7
    3e2c:	1326      	lrw      	r1, 0x5c25	// 3fc4 <PB_ACK_SET_PB_STRIPS_SWITCH+0x248>
    3e2e:	3000      	movi      	r0, 0
					pack_buff[pack_len++] = ((on_mask>>24) & 0xFF);			//回路Mask
    3e30:	4ed8      	lsri      	r6, r6, 24
    3e32:	dcce0010 	st.b      	r6, (r14, 0x10)
					Dbg_Print_Buff(DBG_BIT_SYS_STATUS, "Pack BUFF",pack_buff,pack_len);
    3e36:	e3fff8bf 	bsr      	0x2fb4	// 2fb4 <Dbg_Print_Buff>
					PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_STRIPS_ADJUST,pack_buff,pack_len);
    3e3a:	8407      	ld.b      	r0, (r4, 0x7)
    3e3c:	2000      	addi      	r0, 1
    3e3e:	7400      	zextb      	r0, r0
    3e40:	3307      	movi      	r3, 7
    3e42:	1a03      	addi      	r2, r14, 12
    3e44:	3116      	movi      	r1, 22
    3e46:	e3fffaa5 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
				}
				
				if(off_mask != 0x00){
    3e4a:	3d40      	cmpnei      	r5, 0
    3e4c:	0c26      	bf      	0x3e98	// 3e98 <PB_ACK_SET_PB_STRIPS_SWITCH+0x11c>
					memset(pack_buff, 0, sizeof(pack_buff));
    3e4e:	323c      	movi      	r2, 60
    3e50:	3100      	movi      	r1, 0
    3e52:	1803      	addi      	r0, r14, 12
    3e54:	e3ffe6d0 	bsr      	0xbf4	// bf4 <__memset_fast>
					pack_len = 0;
					
					pack_buff[pack_len++] = addr_field*2;					//组地址
    3e58:	9860      	ld.w      	r3, (r14, 0x0)
    3e5a:	4361      	lsli      	r3, r3, 1
    3e5c:	dc6e000c 	st.b      	r3, (r14, 0xc)
					
					pack_buff[pack_len++] = (off_mask & 0xFF);				//回路Mask
					pack_buff[pack_len++] = ((off_mask>>8) & 0xFF);			//回路Mask
    3e60:	4d68      	lsri      	r3, r5, 8
    3e62:	dc6e000e 	st.b      	r3, (r14, 0xe)
					pack_buff[pack_len++] = ((off_mask>>16) & 0xFF);			//回路Mask
    3e66:	4d70      	lsri      	r3, r5, 16
    3e68:	dc6e000f 	st.b      	r3, (r14, 0xf)
					pack_buff[pack_len++] = ((off_mask>>24) & 0xFF);			//回路Mask
					
					pack_buff[pack_len++] = para[PB_FMT_PARA + 10];				//是否保存
    3e6c:	8471      	ld.b      	r3, (r4, 0x11)
					pack_buff[pack_len++] = (off_mask & 0xFF);				//回路Mask
    3e6e:	dcae000d 	st.b      	r5, (r14, 0xd)
					pack_buff[pack_len++] = para[PB_FMT_PARA + 10];				//是否保存
    3e72:	dc6e0011 	st.b      	r3, (r14, 0x11)
					
					pack_buff[pack_len++] = 0x00;				//关
					Dbg_Print_Buff(DBG_BIT_SYS_STATUS, "Pack BUFF",pack_buff,pack_len);
    3e76:	1a03      	addi      	r2, r14, 12
    3e78:	3307      	movi      	r3, 7
    3e7a:	1233      	lrw      	r1, 0x5c25	// 3fc4 <PB_ACK_SET_PB_STRIPS_SWITCH+0x248>
    3e7c:	3000      	movi      	r0, 0
					pack_buff[pack_len++] = ((off_mask>>24) & 0xFF);			//回路Mask
    3e7e:	4db8      	lsri      	r5, r5, 24
    3e80:	dcae0010 	st.b      	r5, (r14, 0x10)
					Dbg_Print_Buff(DBG_BIT_SYS_STATUS, "Pack BUFF",pack_buff,pack_len);
    3e84:	e3fff898 	bsr      	0x2fb4	// 2fb4 <Dbg_Print_Buff>
					PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_STRIPS_ADJUST,pack_buff,pack_len);
    3e88:	8407      	ld.b      	r0, (r4, 0x7)
    3e8a:	2000      	addi      	r0, 1
    3e8c:	7400      	zextb      	r0, r0
    3e8e:	3307      	movi      	r3, 7
    3e90:	1a03      	addi      	r2, r14, 12
    3e92:	3116      	movi      	r1, 22
    3e94:	e3fffa7e 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
			on_mask = 0x00000000;
			off_mask = 0x00000000;
			
			ch_mask = para[PB_FMT_PARA + 9];
			ch_mask <<= 8;
			ch_mask |= para[PB_FMT_PARA + 8];
    3e98:	330f      	movi      	r3, 15
    3e9a:	60d0      	addu      	r3, r4
    3e9c:	8341      	ld.b      	r2, (r3, 0x1)
    3e9e:	8320      	ld.b      	r1, (r3, 0x0)
    3ea0:	4248      	lsli      	r2, r2, 8
    3ea2:	6c84      	or      	r2, r1
			ch_mask <<= 8;
			ch_mask |= para[PB_FMT_PARA + 7];
    3ea4:	846e      	ld.b      	r3, (r4, 0xe)
			ch_mask <<= 8;
    3ea6:	4248      	lsli      	r2, r2, 8
			ch_mask |= para[PB_FMT_PARA + 7];
    3ea8:	6c8c      	or      	r2, r3
			ch_mask <<= 8;
    3eaa:	4248      	lsli      	r2, r2, 8
			ch_mask |= para[PB_FMT_PARA + 6];
    3eac:	846d      	ld.b      	r3, (r4, 0xd)
    3eae:	6c8c      	or      	r2, r3
			if(ch_mask != 0x00){
    3eb0:	3a40      	cmpnei      	r2, 0
    3eb2:	0c68      	bf      	0x3f82	// 3f82 <PB_ACK_SET_PB_STRIPS_SWITCH+0x206>
    3eb4:	3132      	movi      	r1, 50
    3eb6:	6050      	addu      	r1, r4
    3eb8:	3300      	movi      	r3, 0
    3eba:	3500      	movi      	r5, 0
    3ebc:	3600      	movi      	r6, 0
				//判断后32回路是否有控制状态
				for(U8_T ch = 0;ch<32;ch++){
					if( (ch_mask & (0x01<<ch)) != 0x00 ) {
    3ebe:	3001      	movi      	r0, 1
    3ec0:	700c      	lsl      	r0, r3
    3ec2:	6dcb      	mov      	r7, r2
    3ec4:	69c0      	and      	r7, r0
    3ec6:	3f40      	cmpnei      	r7, 0
    3ec8:	0c05      	bf      	0x3ed2	// 3ed2 <PB_ACK_SET_PB_STRIPS_SWITCH+0x156>
						//有控制状态 - 检查控制
						if(para[PB_FMT_PARA + 43 + ch] == 0x01){
    3eca:	81e0      	ld.b      	r7, (r1, 0x0)
    3ecc:	3f41      	cmpnei      	r7, 1
    3ece:	0866      	bt      	0x3f9a	// 3f9a <PB_ACK_SET_PB_STRIPS_SWITCH+0x21e>
							
							on_mask |= 0x01 << ch;
    3ed0:	6d80      	or      	r6, r0
    3ed2:	2300      	addi      	r3, 1
				for(U8_T ch = 0;ch<32;ch++){
    3ed4:	3020      	movi      	r0, 32
    3ed6:	640e      	cmpne      	r3, r0
    3ed8:	2100      	addi      	r1, 1
    3eda:	0bf2      	bt      	0x3ebe	// 3ebe <PB_ACK_SET_PB_STRIPS_SWITCH+0x142>
							off_mask |= 0x01 << ch;
						}
					}
				}
				
				if(on_mask != 0x00){
    3edc:	3e40      	cmpnei      	r6, 0
    3ede:	0c2a      	bf      	0x3f32	// 3f32 <PB_ACK_SET_PB_STRIPS_SWITCH+0x1b6>
					memset(pack_buff, 0, sizeof(pack_buff));
    3ee0:	323c      	movi      	r2, 60
    3ee2:	3100      	movi      	r1, 0
    3ee4:	1803      	addi      	r0, r14, 12
    3ee6:	e3ffe687 	bsr      	0xbf4	// bf4 <__memset_fast>
					pack_len = 0;
				
					pack_buff[pack_len++] = addr_field*2+1;					//组地址
    3eea:	9860      	ld.w      	r3, (r14, 0x0)
    3eec:	4361      	lsli      	r3, r3, 1
    3eee:	2300      	addi      	r3, 1
    3ef0:	dc6e000c 	st.b      	r3, (r14, 0xc)
					
					pack_buff[pack_len++] = (on_mask & 0xFF);				//回路Mask
					pack_buff[pack_len++] = ((on_mask>>8) & 0xFF);			//回路Mask
    3ef4:	4e68      	lsri      	r3, r6, 8
    3ef6:	dc6e000e 	st.b      	r3, (r14, 0xe)
					pack_buff[pack_len++] = ((on_mask>>16) & 0xFF);			//回路Mask
    3efa:	4e70      	lsri      	r3, r6, 16
    3efc:	dc6e000f 	st.b      	r3, (r14, 0xf)
					pack_buff[pack_len++] = ((on_mask>>24) & 0xFF);			//回路Mask
					
					pack_buff[pack_len++] = para[PB_FMT_PARA + 10];				//是否保存
    3f00:	8471      	ld.b      	r3, (r4, 0x11)
    3f02:	dc6e0011 	st.b      	r3, (r14, 0x11)
					
					pack_buff[pack_len++] = 0x01;				//开
    3f06:	3301      	movi      	r3, 1
					pack_buff[pack_len++] = (on_mask & 0xFF);				//回路Mask
    3f08:	dcce000d 	st.b      	r6, (r14, 0xd)
					pack_buff[pack_len++] = 0x01;				//开
    3f0c:	dc6e0012 	st.b      	r3, (r14, 0x12)
					Dbg_Print_Buff(DBG_BIT_SYS_STATUS, "Pack BUFF",pack_buff,pack_len);
    3f10:	1a03      	addi      	r2, r14, 12
    3f12:	3307      	movi      	r3, 7
    3f14:	112c      	lrw      	r1, 0x5c25	// 3fc4 <PB_ACK_SET_PB_STRIPS_SWITCH+0x248>
    3f16:	3000      	movi      	r0, 0
					pack_buff[pack_len++] = ((on_mask>>24) & 0xFF);			//回路Mask
    3f18:	4ed8      	lsri      	r6, r6, 24
    3f1a:	dcce0010 	st.b      	r6, (r14, 0x10)
					Dbg_Print_Buff(DBG_BIT_SYS_STATUS, "Pack BUFF",pack_buff,pack_len);
    3f1e:	e3fff84b 	bsr      	0x2fb4	// 2fb4 <Dbg_Print_Buff>
					PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_STRIPS_ADJUST,pack_buff,pack_len);
    3f22:	8407      	ld.b      	r0, (r4, 0x7)
    3f24:	2000      	addi      	r0, 1
    3f26:	7400      	zextb      	r0, r0
    3f28:	3307      	movi      	r3, 7
    3f2a:	1a03      	addi      	r2, r14, 12
    3f2c:	3116      	movi      	r1, 22
    3f2e:	e3fffa31 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
				}
				
				if(off_mask != 0x00){
    3f32:	3d40      	cmpnei      	r5, 0
    3f34:	0c27      	bf      	0x3f82	// 3f82 <PB_ACK_SET_PB_STRIPS_SWITCH+0x206>
					memset(pack_buff, 0, sizeof(pack_buff));
    3f36:	323c      	movi      	r2, 60
    3f38:	3100      	movi      	r1, 0
    3f3a:	1803      	addi      	r0, r14, 12
    3f3c:	e3ffe65c 	bsr      	0xbf4	// bf4 <__memset_fast>
					pack_len = 0;
					
					pack_buff[pack_len++] = addr_field*2+1;					//组地址
    3f40:	9860      	ld.w      	r3, (r14, 0x0)
    3f42:	4361      	lsli      	r3, r3, 1
    3f44:	2300      	addi      	r3, 1
    3f46:	dc6e000c 	st.b      	r3, (r14, 0xc)
					
					pack_buff[pack_len++] = (off_mask & 0xFF);				//回路Mask
					pack_buff[pack_len++] = ((off_mask>>8) & 0xFF);			//回路Mask
    3f4a:	4d68      	lsri      	r3, r5, 8
    3f4c:	dc6e000e 	st.b      	r3, (r14, 0xe)
					pack_buff[pack_len++] = ((off_mask>>16) & 0xFF);			//回路Mask
    3f50:	4d70      	lsri      	r3, r5, 16
    3f52:	dc6e000f 	st.b      	r3, (r14, 0xf)
					pack_buff[pack_len++] = ((off_mask>>24) & 0xFF);			//回路Mask
					
					pack_buff[pack_len++] = para[PB_FMT_PARA + 10];				//是否保存
    3f56:	8471      	ld.b      	r3, (r4, 0x11)
					pack_buff[pack_len++] = (off_mask & 0xFF);				//回路Mask
    3f58:	dcae000d 	st.b      	r5, (r14, 0xd)
					pack_buff[pack_len++] = para[PB_FMT_PARA + 10];				//是否保存
    3f5c:	dc6e0011 	st.b      	r3, (r14, 0x11)
					
					pack_buff[pack_len++] = 0x00;				//关
					Dbg_Print_Buff(DBG_BIT_SYS_STATUS, "Pack BUFF",pack_buff,pack_len);
    3f60:	1a03      	addi      	r2, r14, 12
    3f62:	3307      	movi      	r3, 7
    3f64:	1038      	lrw      	r1, 0x5c25	// 3fc4 <PB_ACK_SET_PB_STRIPS_SWITCH+0x248>
    3f66:	3000      	movi      	r0, 0
					pack_buff[pack_len++] = ((off_mask>>24) & 0xFF);			//回路Mask
    3f68:	4db8      	lsri      	r5, r5, 24
    3f6a:	dcae0010 	st.b      	r5, (r14, 0x10)
					Dbg_Print_Buff(DBG_BIT_SYS_STATUS, "Pack BUFF",pack_buff,pack_len);
    3f6e:	e3fff823 	bsr      	0x2fb4	// 2fb4 <Dbg_Print_Buff>
					PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_STRIPS_ADJUST,pack_buff,pack_len);
    3f72:	8407      	ld.b      	r0, (r4, 0x7)
    3f74:	2000      	addi      	r0, 1
    3f76:	7400      	zextb      	r0, r0
    3f78:	3307      	movi      	r3, 7
    3f7a:	1a03      	addi      	r2, r14, 12
    3f7c:	3116      	movi      	r1, 22
    3f7e:	e3fffa09 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
				}
			}
			//回复当前PowerBus 通讯状态空闲，处理成功
			*ackLen = 1;
    3f82:	9862      	ld.w      	r3, (r14, 0x8)
    3f84:	3201      	movi      	r2, 1
    3f86:	ab40      	st.h      	r2, (r3, 0x0)
	
			ackPara[0] = PB_CMD_Reply_Succ;
    3f88:	9861      	ld.w      	r3, (r14, 0x4)
    3f8a:	3200      	movi      	r2, 0
		}
	}else{
		//回复当前PowerBus 参数错误
		*ackLen = 1;

		ackPara[0] = PB_CMD_Reply_ParaError;
    3f8c:	a340      	st.b      	r2, (r3, 0x0)
	}
}
    3f8e:	1412      	addi      	r14, r14, 72
    3f90:	1494      	pop      	r4-r7, r15
						}else if(para[PB_FMT_PARA + 11 + ch] == 0x02){
    3f92:	3842      	cmpnei      	r0, 2
    3f94:	0b2c      	bt      	0x3dec	// 3dec <PB_ACK_SET_PB_STRIPS_SWITCH+0x70>
							off_mask |= 0x01 << ch;
    3f96:	6d44      	or      	r5, r1
    3f98:	072a      	br      	0x3dec	// 3dec <PB_ACK_SET_PB_STRIPS_SWITCH+0x70>
						}else if(para[PB_FMT_PARA + 43 + ch] == 0x02){
    3f9a:	3f42      	cmpnei      	r7, 2
    3f9c:	0b9b      	bt      	0x3ed2	// 3ed2 <PB_ACK_SET_PB_STRIPS_SWITCH+0x156>
							off_mask |= 0x01 << ch;
    3f9e:	6d40      	or      	r5, r0
    3fa0:	0799      	br      	0x3ed2	// 3ed2 <PB_ACK_SET_PB_STRIPS_SWITCH+0x156>
			*ackLen = 1;
    3fa2:	9862      	ld.w      	r3, (r14, 0x8)
    3fa4:	3201      	movi      	r2, 1
    3fa6:	ab40      	st.h      	r2, (r3, 0x0)
			ackPara[0] = PB_CMD_Reply_CommStateBusy;
    3fa8:	9861      	ld.w      	r3, (r14, 0x4)
    3faa:	07f1      	br      	0x3f8c	// 3f8c <PB_ACK_SET_PB_STRIPS_SWITCH+0x210>
		*ackLen = 1;
    3fac:	9862      	ld.w      	r3, (r14, 0x8)
    3fae:	3201      	movi      	r2, 1
    3fb0:	ab40      	st.h      	r2, (r3, 0x0)
		ackPara[0] = PB_CMD_Reply_ParaError;
    3fb2:	9861      	ld.w      	r3, (r14, 0x4)
    3fb4:	3202      	movi      	r2, 2
    3fb6:	07eb      	br      	0x3f8c	// 3f8c <PB_ACK_SET_PB_STRIPS_SWITCH+0x210>
    3fb8:	00005795 	.long	0x00005795
    3fbc:	00005c2f 	.long	0x00005c2f
    3fc0:	00005c15 	.long	0x00005c15
    3fc4:	00005c25 	.long	0x00005c25

Disassembly of section .text.PB_ACK_SET_PB_STRIP_SWITCH:

00003fc8 <PB_ACK_SET_PB_STRIP_SWITCH>:
/*********************************************************************
 * @fn      PB_ACK_SET_PB_STRIP_SWITCH
 * @brief   BLV PB控制协议 - 设定PB总线 
 * @return  none
 */
void PB_ACK_SET_PB_STRIP_SWITCH(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3fc8:	14d4      	push      	r4-r7, r15
    3fca:	6dcb      	mov      	r7, r2
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    3fcc:	8084      	ld.b      	r4, (r0, 0x4)
	
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s",__func__);
    3fce:	104e      	lrw      	r2, 0x57b1	// 4004 <PB_ACK_SET_PB_STRIP_SWITCH+0x3c>
void PB_ACK_SET_PB_STRIP_SWITCH(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    3fd0:	6d43      	mov      	r5, r0
    3fd2:	6d87      	mov      	r6, r1
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s",__func__);
    3fd4:	3000      	movi      	r0, 0
    3fd6:	102d      	lrw      	r1, 0x5a8e	// 4008 <PB_ACK_SET_PB_STRIP_SWITCH+0x40>
    3fd8:	e3fff7e8 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	if(PowerBUS_GetCommState() == 0x00){
    3fdc:	e3fffa32 	bsr      	0x3440	// 3440 <PowerBUS_GetCommState>
    3fe0:	3840      	cmpnei      	r0, 0
		*ackLen = 1;
    3fe2:	3301      	movi      	r3, 1
    3fe4:	af60      	st.h      	r3, (r7, 0x0)
	if(PowerBUS_GetCommState() == 0x00){
    3fe6:	080d      	bt      	0x4000	// 4000 <PB_ACK_SET_PB_STRIP_SWITCH+0x38>
	
		ackPara[0] = PB_CMD_Reply_Succ;
    3fe8:	3300      	movi      	r3, 0
    3fea:	a660      	st.b      	r3, (r6, 0x0)
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_STRIP_SWITCH,&para[PB_FMT_PARA + 1],para_len);
    3fec:	8507      	ld.b      	r0, (r5, 0x7)
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    3fee:	2c07      	subi      	r4, 8
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_STRIP_SWITCH,&para[PB_FMT_PARA + 1],para_len);
    3ff0:	2000      	addi      	r0, 1
    3ff2:	74d0      	zextb      	r3, r4
    3ff4:	5d5e      	addi      	r2, r5, 8
    3ff6:	7400      	zextb      	r0, r0
    3ff8:	3112      	movi      	r1, 18
    3ffa:	e3fff9cb 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
		*ackLen = 1;
	
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
	}
	
}
    3ffe:	1494      	pop      	r4-r7, r15
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
    4000:	a660      	st.b      	r3, (r6, 0x0)
}
    4002:	07fe      	br      	0x3ffe	// 3ffe <PB_ACK_SET_PB_STRIP_SWITCH+0x36>
    4004:	000057b1 	.long	0x000057b1
    4008:	00005a8e 	.long	0x00005a8e

Disassembly of section .text.PB_ACK_SET_PB_STRIP_BRIGHTNESS:

0000400c <PB_ACK_SET_PB_STRIP_BRIGHTNESS>:
/*********************************************************************
 * @fn      PB_ACK_SET_PB_STRIP_BRIGHTNESS
 * @brief   BLV PB控制协议 - 设定PB总线 
 * @return  none
 */
void PB_ACK_SET_PB_STRIP_BRIGHTNESS(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    400c:	14d4      	push      	r4-r7, r15
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    400e:	8084      	ld.b      	r4, (r0, 0x4)
void PB_ACK_SET_PB_STRIP_BRIGHTNESS(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    4010:	6d43      	mov      	r5, r0
    4012:	6d87      	mov      	r6, r1
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s",__func__);
    4014:	3000      	movi      	r0, 0
    4016:	102c      	lrw      	r1, 0x5a8e	// 4044 <PB_ACK_SET_PB_STRIP_BRIGHTNESS+0x38>
void PB_ACK_SET_PB_STRIP_BRIGHTNESS(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    4018:	6dcb      	mov      	r7, r2
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s",__func__);
    401a:	104c      	lrw      	r2, 0x57cc	// 4048 <PB_ACK_SET_PB_STRIP_BRIGHTNESS+0x3c>
    401c:	e3fff7c6 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	if(PowerBUS_GetCommState() == 0x00){
    4020:	e3fffa10 	bsr      	0x3440	// 3440 <PowerBUS_GetCommState>
    4024:	3840      	cmpnei      	r0, 0
    4026:	080e      	bt      	0x4042	// 4042 <PB_ACK_SET_PB_STRIP_BRIGHTNESS+0x36>
		*ackLen = 1;
    4028:	3301      	movi      	r3, 1
    402a:	af60      	st.h      	r3, (r7, 0x0)
	
		ackPara[0] = PB_CMD_Reply_Succ;
    402c:	3300      	movi      	r3, 0
    402e:	a660      	st.b      	r3, (r6, 0x0)
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_STRIP_BRIGHTNESS,&para[PB_FMT_PARA + 1],para_len);
    4030:	8507      	ld.b      	r0, (r5, 0x7)
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    4032:	2c07      	subi      	r4, 8
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_STRIP_BRIGHTNESS,&para[PB_FMT_PARA + 1],para_len);
    4034:	2000      	addi      	r0, 1
    4036:	74d0      	zextb      	r3, r4
    4038:	5d5e      	addi      	r2, r5, 8
    403a:	7400      	zextb      	r0, r0
    403c:	3111      	movi      	r1, 17
    403e:	e3fff9a9 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
	}else{
		
	}
	
}
    4042:	1494      	pop      	r4-r7, r15
    4044:	00005a8e 	.long	0x00005a8e
    4048:	000057cc 	.long	0x000057cc

Disassembly of section .text.PB_ACK_SET_PB_STRIP_Adjust:

0000404c <PB_ACK_SET_PB_STRIP_Adjust>:
/*********************************************************************
 * @fn      PB_ACK_SET_PB_STRIP_Adjust
 * @brief   BLV PB控制协议 - 设定PB总线 LS 递增、递减 - 指定回路控制
 * @return  none
 */
void PB_ACK_SET_PB_STRIP_Adjust(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    404c:	14d4      	push      	r4-r7, r15
    404e:	6dcb      	mov      	r7, r2
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    4050:	8084      	ld.b      	r4, (r0, 0x4)
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s",__func__);
    4052:	104e      	lrw      	r2, 0x57eb	// 4088 <PB_ACK_SET_PB_STRIP_Adjust+0x3c>
void PB_ACK_SET_PB_STRIP_Adjust(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    4054:	6d43      	mov      	r5, r0
    4056:	6d87      	mov      	r6, r1
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s",__func__);
    4058:	3000      	movi      	r0, 0
    405a:	102d      	lrw      	r1, 0x5a8e	// 408c <PB_ACK_SET_PB_STRIP_Adjust+0x40>
    405c:	e3fff7a6 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	if(PowerBUS_GetCommState() == 0x00){
    4060:	e3fff9f0 	bsr      	0x3440	// 3440 <PowerBUS_GetCommState>
    4064:	3840      	cmpnei      	r0, 0
		*ackLen = 1;
    4066:	3301      	movi      	r3, 1
    4068:	af60      	st.h      	r3, (r7, 0x0)
	if(PowerBUS_GetCommState() == 0x00){
    406a:	080d      	bt      	0x4084	// 4084 <PB_ACK_SET_PB_STRIP_Adjust+0x38>
	
		ackPara[0] = PB_CMD_Reply_Succ;
    406c:	3300      	movi      	r3, 0
    406e:	a660      	st.b      	r3, (r6, 0x0)
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_STRIP_ADJUST,&para[PB_FMT_PARA + 1],para_len);
    4070:	8507      	ld.b      	r0, (r5, 0x7)
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    4072:	2c07      	subi      	r4, 8
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_STRIP_ADJUST,&para[PB_FMT_PARA + 1],para_len);
    4074:	2000      	addi      	r0, 1
    4076:	74d0      	zextb      	r3, r4
    4078:	5d5e      	addi      	r2, r5, 8
    407a:	7400      	zextb      	r0, r0
    407c:	3113      	movi      	r1, 19
    407e:	e3fff989 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
		*ackLen = 1;
	
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
	}
	
}
    4082:	1494      	pop      	r4-r7, r15
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
    4084:	a660      	st.b      	r3, (r6, 0x0)
}
    4086:	07fe      	br      	0x4082	// 4082 <PB_ACK_SET_PB_STRIP_Adjust+0x36>
    4088:	000057eb 	.long	0x000057eb
    408c:	00005a8e 	.long	0x00005a8e

Disassembly of section .text.PB_ACK_SET_PB_STRIP_RELATIVE_GROUP_ADJUST:

00004090 <PB_ACK_SET_PB_STRIP_RELATIVE_GROUP_ADJUST>:
/*********************************************************************
 * @fn      PB_ACK_SET_PB_STRIP_RELATIVE_GROUP_ADJUST
 * @brief   BLV PB控制协议 - 设定PB总线 LS 相对亮度调节 - 组地址控制
 * @return  none
 */
void PB_ACK_SET_PB_STRIP_RELATIVE_GROUP_ADJUST(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    4090:	14d4      	push      	r4-r7, r15
    4092:	1433      	subi      	r14, r14, 76
	U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    4094:	80e4      	ld.b      	r7, (r0, 0x4)
void PB_ACK_SET_PB_STRIP_RELATIVE_GROUP_ADJUST(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    4096:	6d03      	mov      	r4, r0
    4098:	6d47      	mov      	r5, r1
    409a:	6d8b      	mov      	r6, r2
	U8_T addr_field = 0;
	U8_T pack_buff[60];
	U8_T pack_len = 0;
	U32_T ch_mask = 0;
	
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s",__func__);
    409c:	122d      	lrw      	r1, 0x5a8e	// 41d0 <PB_ACK_SET_PB_STRIP_RELATIVE_GROUP_ADJUST+0x140>
    409e:	124e      	lrw      	r2, 0x5806	// 41d4 <PB_ACK_SET_PB_STRIP_RELATIVE_GROUP_ADJUST+0x144>
    40a0:	3000      	movi      	r0, 0
    40a2:	e3fff783 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	/*2024-07-02 修改主机这边组地址 按照64回路地址下发，而PowerBus还是按照32回路一组控制，因此需要手动分包*/
	if(para_len == 12){
    40a6:	3f54      	cmpnei      	r7, 20
    40a8:	088f      	bt      	0x41c6	// 41c6 <PB_ACK_SET_PB_STRIP_RELATIVE_GROUP_ADJUST+0x136>
		
		if(PowerBUS_GetCommState() == 0x00){
    40aa:	e3fff9cb 	bsr      	0x3440	// 3440 <PowerBUS_GetCommState>
    40ae:	3840      	cmpnei      	r0, 0
    40b0:	0888      	bt      	0x41c0	// 41c0 <PB_ACK_SET_PB_STRIP_RELATIVE_GROUP_ADJUST+0x130>
			addr_field = para[PB_FMT_PARA + 1];		//地址段 0~3：正常地址段范围 ，大于4：属于群控地址
    40b2:	8468      	ld.b      	r3, (r4, 0x8)
    40b4:	b860      	st.w      	r3, (r14, 0x0)
			ch_mask = para[PB_FMT_PARA + 5];
			ch_mask <<= 8;
			ch_mask |= para[PB_FMT_PARA + 4];
    40b6:	330b      	movi      	r3, 11
    40b8:	60d0      	addu      	r3, r4
    40ba:	8341      	ld.b      	r2, (r3, 0x1)
    40bc:	8320      	ld.b      	r1, (r3, 0x0)
    40be:	4248      	lsli      	r2, r2, 8
    40c0:	6c84      	or      	r2, r1
			ch_mask <<= 8;
    40c2:	4248      	lsli      	r2, r2, 8
			ch_mask |= para[PB_FMT_PARA + 3];
    40c4:	84ea      	ld.b      	r7, (r4, 0xa)
			ch_mask = para[PB_FMT_PARA + 5];
    40c6:	846c      	ld.b      	r3, (r4, 0xc)
			ch_mask |= para[PB_FMT_PARA + 3];
    40c8:	6c9c      	or      	r2, r7
			ch_mask = para[PB_FMT_PARA + 5];
    40ca:	b861      	st.w      	r3, (r14, 0x4)
			ch_mask <<= 8;
    40cc:	4248      	lsli      	r2, r2, 8
			ch_mask |= para[PB_FMT_PARA + 2];
    40ce:	8469      	ld.b      	r3, (r4, 0x9)
    40d0:	6c8c      	or      	r2, r3
			if(ch_mask != 0x00){
    40d2:	3a40      	cmpnei      	r2, 0
			ch_mask |= para[PB_FMT_PARA + 4];
    40d4:	b822      	st.w      	r1, (r14, 0x8)
			if(ch_mask != 0x00){
    40d6:	0c2f      	bf      	0x4134	// 4134 <PB_ACK_SET_PB_STRIP_RELATIVE_GROUP_ADJUST+0xa4>
				//判断前32回路是否有控制状态
				
				memset(pack_buff, 0, sizeof(pack_buff));
    40d8:	323c      	movi      	r2, 60
    40da:	3100      	movi      	r1, 0
    40dc:	1804      	addi      	r0, r14, 16
    40de:	b863      	st.w      	r3, (r14, 0xc)
    40e0:	e3ffe58a 	bsr      	0xbf4	// bf4 <__memset_fast>
				pack_len = 0;
				
				pack_buff[pack_len++] = addr_field*2;					//组地址
    40e4:	9860      	ld.w      	r3, (r14, 0x0)
    40e6:	4341      	lsli      	r2, r3, 1
				pack_buff[pack_len++] = para[PB_FMT_PARA + 2];			//回路Mask
    40e8:	9863      	ld.w      	r3, (r14, 0xc)
    40ea:	dc6e0011 	st.b      	r3, (r14, 0x11)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 3];
				pack_buff[pack_len++] = para[PB_FMT_PARA + 4];
    40ee:	d86e0008 	ld.b      	r3, (r14, 0x8)
    40f2:	dc6e0013 	st.b      	r3, (r14, 0x13)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 5];
    40f6:	d86e0004 	ld.b      	r3, (r14, 0x4)
    40fa:	dc6e0014 	st.b      	r3, (r14, 0x14)
				
				pack_buff[pack_len++] = para[PB_FMT_PARA + 10];				//模式
    40fe:	8471      	ld.b      	r3, (r4, 0x11)
    4100:	dc6e0015 	st.b      	r3, (r14, 0x15)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 11];				//相对调节亮度值
    4104:	8472      	ld.b      	r3, (r4, 0x12)
    4106:	dc6e0016 	st.b      	r3, (r14, 0x16)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 12];				//只调亮的回路
    410a:	8473      	ld.b      	r3, (r4, 0x13)
				pack_buff[pack_len++] = addr_field*2;					//组地址
    410c:	dc4e0010 	st.b      	r2, (r14, 0x10)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 12];				//只调亮的回路
    4110:	dc6e0017 	st.b      	r3, (r14, 0x17)
				
				Dbg_Print_Buff(DBG_BIT_SYS_STATUS, "Pack BUFF",pack_buff,pack_len);
    4114:	1a04      	addi      	r2, r14, 16
    4116:	3308      	movi      	r3, 8
    4118:	1130      	lrw      	r1, 0x5c25	// 41d8 <PB_ACK_SET_PB_STRIP_RELATIVE_GROUP_ADJUST+0x148>
    411a:	3000      	movi      	r0, 0
				pack_buff[pack_len++] = para[PB_FMT_PARA + 3];
    411c:	dcee0012 	st.b      	r7, (r14, 0x12)
				Dbg_Print_Buff(DBG_BIT_SYS_STATUS, "Pack BUFF",pack_buff,pack_len);
    4120:	e3fff74a 	bsr      	0x2fb4	// 2fb4 <Dbg_Print_Buff>
				PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_STRIP_RELATIVE_GROUP_ADJUST,pack_buff,pack_len);
    4124:	8407      	ld.b      	r0, (r4, 0x7)
    4126:	2000      	addi      	r0, 1
    4128:	7400      	zextb      	r0, r0
    412a:	3308      	movi      	r3, 8
    412c:	1a04      	addi      	r2, r14, 16
    412e:	3118      	movi      	r1, 24
    4130:	e3fff930 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
			}
			
			ch_mask = para[PB_FMT_PARA + 9];
			ch_mask <<= 8;
			ch_mask |= para[PB_FMT_PARA + 8];
    4134:	330f      	movi      	r3, 15
    4136:	60d0      	addu      	r3, r4
    4138:	8341      	ld.b      	r2, (r3, 0x1)
    413a:	8320      	ld.b      	r1, (r3, 0x0)
    413c:	4248      	lsli      	r2, r2, 8
    413e:	6c84      	or      	r2, r1
			ch_mask <<= 8;
    4140:	4248      	lsli      	r2, r2, 8
			ch_mask |= para[PB_FMT_PARA + 7];
    4142:	84ee      	ld.b      	r7, (r4, 0xe)
			ch_mask = para[PB_FMT_PARA + 9];
    4144:	8470      	ld.b      	r3, (r4, 0x10)
			ch_mask |= para[PB_FMT_PARA + 7];
    4146:	6c9c      	or      	r2, r7
			ch_mask = para[PB_FMT_PARA + 9];
    4148:	b861      	st.w      	r3, (r14, 0x4)
			ch_mask <<= 8;
    414a:	4248      	lsli      	r2, r2, 8
			ch_mask |= para[PB_FMT_PARA + 6];
    414c:	846d      	ld.b      	r3, (r4, 0xd)
    414e:	6c8c      	or      	r2, r3
			if(ch_mask != 0x00){
    4150:	3a40      	cmpnei      	r2, 0
			ch_mask |= para[PB_FMT_PARA + 8];
    4152:	b822      	st.w      	r1, (r14, 0x8)
			if(ch_mask != 0x00){
    4154:	0c30      	bf      	0x41b4	// 41b4 <PB_ACK_SET_PB_STRIP_RELATIVE_GROUP_ADJUST+0x124>
				//判断后32回路是否有控制状态
				memset(pack_buff, 0, sizeof(pack_buff));
    4156:	323c      	movi      	r2, 60
    4158:	3100      	movi      	r1, 0
    415a:	1804      	addi      	r0, r14, 16
    415c:	b863      	st.w      	r3, (r14, 0xc)
    415e:	e3ffe54b 	bsr      	0xbf4	// bf4 <__memset_fast>
				pack_len = 0;
				
				pack_buff[pack_len++] = addr_field*2+1;					//组地址
    4162:	9860      	ld.w      	r3, (r14, 0x0)
    4164:	4341      	lsli      	r2, r3, 1
				pack_buff[pack_len++] = para[PB_FMT_PARA + 6];			//回路Mask
    4166:	9863      	ld.w      	r3, (r14, 0xc)
    4168:	dc6e0011 	st.b      	r3, (r14, 0x11)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 7];
				pack_buff[pack_len++] = para[PB_FMT_PARA + 8];
    416c:	d86e0008 	ld.b      	r3, (r14, 0x8)
    4170:	dc6e0013 	st.b      	r3, (r14, 0x13)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 9];
    4174:	d86e0004 	ld.b      	r3, (r14, 0x4)
    4178:	dc6e0014 	st.b      	r3, (r14, 0x14)
				
				pack_buff[pack_len++] = para[PB_FMT_PARA + 10];				//模式
    417c:	8471      	ld.b      	r3, (r4, 0x11)
    417e:	dc6e0015 	st.b      	r3, (r14, 0x15)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 11];				//相对调节亮度值
    4182:	8472      	ld.b      	r3, (r4, 0x12)
				pack_buff[pack_len++] = addr_field*2+1;					//组地址
    4184:	2200      	addi      	r2, 1
				pack_buff[pack_len++] = para[PB_FMT_PARA + 11];				//相对调节亮度值
    4186:	dc6e0016 	st.b      	r3, (r14, 0x16)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 12];				//只调亮的回路
    418a:	8473      	ld.b      	r3, (r4, 0x13)
				pack_buff[pack_len++] = addr_field*2+1;					//组地址
    418c:	dc4e0010 	st.b      	r2, (r14, 0x10)
				pack_buff[pack_len++] = para[PB_FMT_PARA + 12];				//只调亮的回路
    4190:	dc6e0017 	st.b      	r3, (r14, 0x17)
				
				Dbg_Print_Buff(DBG_BIT_SYS_STATUS, "Pack BUFF",pack_buff,pack_len);
    4194:	1a04      	addi      	r2, r14, 16
    4196:	3308      	movi      	r3, 8
    4198:	1030      	lrw      	r1, 0x5c25	// 41d8 <PB_ACK_SET_PB_STRIP_RELATIVE_GROUP_ADJUST+0x148>
    419a:	3000      	movi      	r0, 0
				pack_buff[pack_len++] = para[PB_FMT_PARA + 7];
    419c:	dcee0012 	st.b      	r7, (r14, 0x12)
				Dbg_Print_Buff(DBG_BIT_SYS_STATUS, "Pack BUFF",pack_buff,pack_len);
    41a0:	e3fff70a 	bsr      	0x2fb4	// 2fb4 <Dbg_Print_Buff>
				PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_STRIP_RELATIVE_GROUP_ADJUST,pack_buff,pack_len);
    41a4:	8407      	ld.b      	r0, (r4, 0x7)
    41a6:	2000      	addi      	r0, 1
    41a8:	7400      	zextb      	r0, r0
    41aa:	3308      	movi      	r3, 8
    41ac:	1a04      	addi      	r2, r14, 16
    41ae:	3118      	movi      	r1, 24
    41b0:	e3fff8f0 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
			}
			//回复当前PowerBus 通讯状态空闲，处理成功
			*ackLen = 1;
    41b4:	3301      	movi      	r3, 1
    41b6:	ae60      	st.h      	r3, (r6, 0x0)
	
			ackPara[0] = PB_CMD_Reply_Succ;
    41b8:	3300      	movi      	r3, 0
		}
	}else{
		//回复当前PowerBus 参数错误
		*ackLen = 1;

		ackPara[0] = PB_CMD_Reply_ParaError;
    41ba:	a560      	st.b      	r3, (r5, 0x0)
	}
}
    41bc:	1413      	addi      	r14, r14, 76
    41be:	1494      	pop      	r4-r7, r15
			*ackLen = 1;
    41c0:	3301      	movi      	r3, 1
    41c2:	ae60      	st.h      	r3, (r6, 0x0)
    41c4:	07fb      	br      	0x41ba	// 41ba <PB_ACK_SET_PB_STRIP_RELATIVE_GROUP_ADJUST+0x12a>
		*ackLen = 1;
    41c6:	3301      	movi      	r3, 1
    41c8:	ae60      	st.h      	r3, (r6, 0x0)
		ackPara[0] = PB_CMD_Reply_ParaError;
    41ca:	3302      	movi      	r3, 2
    41cc:	07f7      	br      	0x41ba	// 41ba <PB_ACK_SET_PB_STRIP_RELATIVE_GROUP_ADJUST+0x12a>
    41ce:	0000      	bkpt
    41d0:	00005a8e 	.long	0x00005a8e
    41d4:	00005806 	.long	0x00005806
    41d8:	00005c25 	.long	0x00005c25

Disassembly of section .text.PB_ACK_SET_PB_STRIP_RELATIVE_ADJUST:

000041dc <PB_ACK_SET_PB_STRIP_RELATIVE_ADJUST>:
/*********************************************************************
 * @fn      PB_ACK_SET_PB_STRIP_RELATIVE_ADJUST
 * @brief   BLV PB控制协议 - 设定PB总线 LS 相对亮度调节 - 指定回路控制
 * @return  none
 */
void PB_ACK_SET_PB_STRIP_RELATIVE_ADJUST(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    41dc:	14d4      	push      	r4-r7, r15
    41de:	6dcb      	mov      	r7, r2
	U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    41e0:	8084      	ld.b      	r4, (r0, 0x4)
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s",__func__);
    41e2:	104e      	lrw      	r2, 0x5830	// 4218 <PB_ACK_SET_PB_STRIP_RELATIVE_ADJUST+0x3c>
void PB_ACK_SET_PB_STRIP_RELATIVE_ADJUST(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    41e4:	6d43      	mov      	r5, r0
    41e6:	6d87      	mov      	r6, r1
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s",__func__);
    41e8:	3000      	movi      	r0, 0
    41ea:	102d      	lrw      	r1, 0x5a8e	// 421c <PB_ACK_SET_PB_STRIP_RELATIVE_ADJUST+0x40>
    41ec:	e3fff6de 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	if(PowerBUS_GetCommState() == 0x00){
    41f0:	e3fff928 	bsr      	0x3440	// 3440 <PowerBUS_GetCommState>
    41f4:	3840      	cmpnei      	r0, 0
		*ackLen = 1;
    41f6:	3301      	movi      	r3, 1
    41f8:	af60      	st.h      	r3, (r7, 0x0)
	if(PowerBUS_GetCommState() == 0x00){
    41fa:	080d      	bt      	0x4214	// 4214 <PB_ACK_SET_PB_STRIP_RELATIVE_ADJUST+0x38>
	
		ackPara[0] = PB_CMD_Reply_Succ;
    41fc:	3300      	movi      	r3, 0
    41fe:	a660      	st.b      	r3, (r6, 0x0)
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_STRIP_RELATIVE_ADJUST,&para[PB_FMT_PARA + 1],para_len);
    4200:	8507      	ld.b      	r0, (r5, 0x7)
	U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    4202:	2c07      	subi      	r4, 8
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_STRIP_RELATIVE_ADJUST,&para[PB_FMT_PARA + 1],para_len);
    4204:	2000      	addi      	r0, 1
    4206:	74d0      	zextb      	r3, r4
    4208:	5d5e      	addi      	r2, r5, 8
    420a:	7400      	zextb      	r0, r0
    420c:	3119      	movi      	r1, 25
    420e:	e3fff8c1 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
	}else{
		*ackLen = 1;
	
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
	}
}
    4212:	1494      	pop      	r4-r7, r15
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
    4214:	a660      	st.b      	r3, (r6, 0x0)
}
    4216:	07fe      	br      	0x4212	// 4212 <PB_ACK_SET_PB_STRIP_RELATIVE_ADJUST+0x36>
    4218:	00005830 	.long	0x00005830
    421c:	00005a8e 	.long	0x00005a8e

Disassembly of section .text.PB_ACK_SET_PB_ALLSTRIP_Switch:

00004220 <PB_ACK_SET_PB_ALLSTRIP_Switch>:
/*********************************************************************
 * @fn      PB_ACK_SET_PB_ALLSTRIP_Switch
 * @brief   BLV PB控制协议 - 设定PB总线 
 * @return  none
 */
void PB_ACK_SET_PB_ALLSTRIP_Switch(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    4220:	14d4      	push      	r4-r7, r15
    4222:	6dcb      	mov      	r7, r2
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    4224:	8084      	ld.b      	r4, (r0, 0x4)
	
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s",__func__);
    4226:	104e      	lrw      	r2, 0x5854	// 425c <PB_ACK_SET_PB_ALLSTRIP_Switch+0x3c>
void PB_ACK_SET_PB_ALLSTRIP_Switch(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    4228:	6d43      	mov      	r5, r0
    422a:	6d87      	mov      	r6, r1
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s",__func__);
    422c:	3000      	movi      	r0, 0
    422e:	102d      	lrw      	r1, 0x5a8e	// 4260 <PB_ACK_SET_PB_ALLSTRIP_Switch+0x40>
    4230:	e3fff6bc 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	if(PowerBUS_GetCommState() == 0x00){
    4234:	e3fff906 	bsr      	0x3440	// 3440 <PowerBUS_GetCommState>
    4238:	3840      	cmpnei      	r0, 0
		*ackLen = 1;
    423a:	3301      	movi      	r3, 1
    423c:	af60      	st.h      	r3, (r7, 0x0)
	if(PowerBUS_GetCommState() == 0x00){
    423e:	080d      	bt      	0x4258	// 4258 <PB_ACK_SET_PB_ALLSTRIP_Switch+0x38>
	
		ackPara[0] = PB_CMD_Reply_Succ;
    4240:	3300      	movi      	r3, 0
    4242:	a660      	st.b      	r3, (r6, 0x0)
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_ALLSTRIP_SWITCH,&para[PB_FMT_PARA + 1],para_len);
    4244:	8507      	ld.b      	r0, (r5, 0x7)
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    4246:	2c07      	subi      	r4, 8
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_ALLSTRIP_SWITCH,&para[PB_FMT_PARA + 1],para_len);
    4248:	2000      	addi      	r0, 1
    424a:	74d0      	zextb      	r3, r4
    424c:	5d5e      	addi      	r2, r5, 8
    424e:	7400      	zextb      	r0, r0
    4250:	3117      	movi      	r1, 23
    4252:	e3fff89f 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
	}else{
		*ackLen = 1;
	
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
	}
}
    4256:	1494      	pop      	r4-r7, r15
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
    4258:	a660      	st.b      	r3, (r6, 0x0)
}
    425a:	07fe      	br      	0x4256	// 4256 <PB_ACK_SET_PB_ALLSTRIP_Switch+0x36>
    425c:	00005854 	.long	0x00005854
    4260:	00005a8e 	.long	0x00005a8e

Disassembly of section .text.PB_ACK_SET_PB_RELAYS_SWITCH:

00004264 <PB_ACK_SET_PB_RELAYS_SWITCH>:
/*********************************************************************
 * @fn      PB_ACK_SET_PB_RELAYS_SWITCH
 * @brief   BLV PB控制协议 - 设定PB总线 
 * @return  none
 */
void PB_ACK_SET_PB_RELAYS_SWITCH(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    4264:	14d4      	push      	r4-r7, r15
    4266:	6dcb      	mov      	r7, r2
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    4268:	8084      	ld.b      	r4, (r0, 0x4)
	
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s",__func__);
    426a:	104e      	lrw      	r2, 0x5872	// 42a0 <PB_ACK_SET_PB_RELAYS_SWITCH+0x3c>
void PB_ACK_SET_PB_RELAYS_SWITCH(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    426c:	6d43      	mov      	r5, r0
    426e:	6d87      	mov      	r6, r1
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s",__func__);
    4270:	3000      	movi      	r0, 0
    4272:	102d      	lrw      	r1, 0x5a8e	// 42a4 <PB_ACK_SET_PB_RELAYS_SWITCH+0x40>
    4274:	e3fff69a 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	if(PowerBUS_GetCommState() == 0x00){
    4278:	e3fff8e4 	bsr      	0x3440	// 3440 <PowerBUS_GetCommState>
    427c:	3840      	cmpnei      	r0, 0
		*ackLen = 1;
    427e:	3301      	movi      	r3, 1
    4280:	af60      	st.h      	r3, (r7, 0x0)
	if(PowerBUS_GetCommState() == 0x00){
    4282:	080d      	bt      	0x429c	// 429c <PB_ACK_SET_PB_RELAYS_SWITCH+0x38>
	
		ackPara[0] = PB_CMD_Reply_Succ;
    4284:	3300      	movi      	r3, 0
    4286:	a660      	st.b      	r3, (r6, 0x0)
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_RELAYS_SWITCH,&para[PB_FMT_PARA + 1],para_len);
    4288:	8507      	ld.b      	r0, (r5, 0x7)
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    428a:	2c07      	subi      	r4, 8
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_RELAYS_SWITCH,&para[PB_FMT_PARA + 1],para_len);
    428c:	2000      	addi      	r0, 1
    428e:	74d0      	zextb      	r3, r4
    4290:	5d5e      	addi      	r2, r5, 8
    4292:	7400      	zextb      	r0, r0
    4294:	3121      	movi      	r1, 33
    4296:	e3fff87d 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
		*ackLen = 1;
	
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
	}
    
}
    429a:	1494      	pop      	r4-r7, r15
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
    429c:	a660      	st.b      	r3, (r6, 0x0)
}
    429e:	07fe      	br      	0x429a	// 429a <PB_ACK_SET_PB_RELAYS_SWITCH+0x36>
    42a0:	00005872 	.long	0x00005872
    42a4:	00005a8e 	.long	0x00005a8e

Disassembly of section .text.PB_ACK_SET_PB_ALLRELAY_SWITCH:

000042a8 <PB_ACK_SET_PB_ALLRELAY_SWITCH>:
/*********************************************************************
 * @fn      PB_ACK_SET_PB_ALLRELAY_SWITCH
 * @brief   BLV PB控制协议 - 设定PB总线 
 * @return  none
 */
void PB_ACK_SET_PB_ALLRELAY_SWITCH(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    42a8:	14d4      	push      	r4-r7, r15
    42aa:	6dcb      	mov      	r7, r2
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    42ac:	8084      	ld.b      	r4, (r0, 0x4)
	
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s",__func__);
    42ae:	104e      	lrw      	r2, 0x588e	// 42e4 <PB_ACK_SET_PB_ALLRELAY_SWITCH+0x3c>
void PB_ACK_SET_PB_ALLRELAY_SWITCH(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    42b0:	6d43      	mov      	r5, r0
    42b2:	6d87      	mov      	r6, r1
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s",__func__);
    42b4:	3000      	movi      	r0, 0
    42b6:	102d      	lrw      	r1, 0x5a8e	// 42e8 <PB_ACK_SET_PB_ALLRELAY_SWITCH+0x40>
    42b8:	e3fff678 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	if(PowerBUS_GetCommState() == 0x00){
    42bc:	e3fff8c2 	bsr      	0x3440	// 3440 <PowerBUS_GetCommState>
    42c0:	3840      	cmpnei      	r0, 0
		*ackLen = 1;
    42c2:	3301      	movi      	r3, 1
    42c4:	af60      	st.h      	r3, (r7, 0x0)
	if(PowerBUS_GetCommState() == 0x00){
    42c6:	080d      	bt      	0x42e0	// 42e0 <PB_ACK_SET_PB_ALLRELAY_SWITCH+0x38>
	
		ackPara[0] = PB_CMD_Reply_Succ;
    42c8:	3300      	movi      	r3, 0
    42ca:	a660      	st.b      	r3, (r6, 0x0)
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_ALLRELAY_SWITCH,&para[PB_FMT_PARA + 1],para_len);
    42cc:	8507      	ld.b      	r0, (r5, 0x7)
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    42ce:	2c07      	subi      	r4, 8
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_ALLRELAY_SWITCH,&para[PB_FMT_PARA + 1],para_len);
    42d0:	2000      	addi      	r0, 1
    42d2:	74d0      	zextb      	r3, r4
    42d4:	5d5e      	addi      	r2, r5, 8
    42d6:	7400      	zextb      	r0, r0
    42d8:	3122      	movi      	r1, 34
    42da:	e3fff85b 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
		*ackLen = 1;
	
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
	}
	
}
    42de:	1494      	pop      	r4-r7, r15
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
    42e0:	a660      	st.b      	r3, (r6, 0x0)
}
    42e2:	07fe      	br      	0x42de	// 42de <PB_ACK_SET_PB_ALLRELAY_SWITCH+0x36>
    42e4:	0000588e 	.long	0x0000588e
    42e8:	00005a8e 	.long	0x00005a8e

Disassembly of section .text.PB_ACK_SET_PB_RELAY_SWITCH:

000042ec <PB_ACK_SET_PB_RELAY_SWITCH>:
/*********************************************************************
 * @fn      PB_ACK_SET_PB_RELAY_SWITCH
 * @brief   BLV PB控制协议 - 设定PB总线 
 * @return  none
 */
void PB_ACK_SET_PB_RELAY_SWITCH(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    42ec:	14d4      	push      	r4-r7, r15
    42ee:	6dcb      	mov      	r7, r2
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    42f0:	8084      	ld.b      	r4, (r0, 0x4)
	
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s",__func__);
    42f2:	104e      	lrw      	r2, 0x58ac	// 4328 <PB_ACK_SET_PB_RELAY_SWITCH+0x3c>
void PB_ACK_SET_PB_RELAY_SWITCH(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    42f4:	6d43      	mov      	r5, r0
    42f6:	6d87      	mov      	r6, r1
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s",__func__);
    42f8:	3000      	movi      	r0, 0
    42fa:	102d      	lrw      	r1, 0x5a8e	// 432c <PB_ACK_SET_PB_RELAY_SWITCH+0x40>
    42fc:	e3fff656 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	if(PowerBUS_GetCommState() == 0x00){
    4300:	e3fff8a0 	bsr      	0x3440	// 3440 <PowerBUS_GetCommState>
    4304:	3840      	cmpnei      	r0, 0
		*ackLen = 1;
    4306:	3301      	movi      	r3, 1
    4308:	af60      	st.h      	r3, (r7, 0x0)
	if(PowerBUS_GetCommState() == 0x00){
    430a:	080d      	bt      	0x4324	// 4324 <PB_ACK_SET_PB_RELAY_SWITCH+0x38>
	
		ackPara[0] = PB_CMD_Reply_Succ;
    430c:	3300      	movi      	r3, 0
    430e:	a660      	st.b      	r3, (r6, 0x0)
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_RELAY_SWITCH,&para[PB_FMT_PARA + 1],para_len);
    4310:	8507      	ld.b      	r0, (r5, 0x7)
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    4312:	2c07      	subi      	r4, 8
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_RELAY_SWITCH,&para[PB_FMT_PARA + 1],para_len);
    4314:	2000      	addi      	r0, 1
    4316:	74d0      	zextb      	r3, r4
    4318:	5d5e      	addi      	r2, r5, 8
    431a:	7400      	zextb      	r0, r0
    431c:	3123      	movi      	r1, 35
    431e:	e3fff839 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
		*ackLen = 1;
	
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
	}
	
}
    4322:	1494      	pop      	r4-r7, r15
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
    4324:	a660      	st.b      	r3, (r6, 0x0)
}
    4326:	07fe      	br      	0x4322	// 4322 <PB_ACK_SET_PB_RELAY_SWITCH+0x36>
    4328:	000058ac 	.long	0x000058ac
    432c:	00005a8e 	.long	0x00005a8e

Disassembly of section .text.PB_ACK_SET_PB_RELAY_DELAY_SWITCH:

00004330 <PB_ACK_SET_PB_RELAY_DELAY_SWITCH>:
/*********************************************************************
 * @fn      PB_ACK_SET_PB_RELAY_DELAY_SWITCH
 * @brief   BLV PB控制协议 - 设定PB总线 
 * @return  none
 */
void PB_ACK_SET_PB_RELAY_DELAY_SWITCH(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    4330:	14d4      	push      	r4-r7, r15
    4332:	6dcb      	mov      	r7, r2
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    4334:	8084      	ld.b      	r4, (r0, 0x4)
	
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s",__func__);
    4336:	104e      	lrw      	r2, 0x58c7	// 436c <PB_ACK_SET_PB_RELAY_DELAY_SWITCH+0x3c>
void PB_ACK_SET_PB_RELAY_DELAY_SWITCH(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    4338:	6d43      	mov      	r5, r0
    433a:	6d87      	mov      	r6, r1
	Dbg_Println(DBG_BIT_SYS_STATUS, "%s",__func__);
    433c:	3000      	movi      	r0, 0
    433e:	102d      	lrw      	r1, 0x5a8e	// 4370 <PB_ACK_SET_PB_RELAY_DELAY_SWITCH+0x40>
    4340:	e3fff634 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	if(PowerBUS_GetCommState() == 0x00){
    4344:	e3fff87e 	bsr      	0x3440	// 3440 <PowerBUS_GetCommState>
    4348:	3840      	cmpnei      	r0, 0
		*ackLen = 1;
    434a:	3301      	movi      	r3, 1
    434c:	af60      	st.h      	r3, (r7, 0x0)
	if(PowerBUS_GetCommState() == 0x00){
    434e:	080d      	bt      	0x4368	// 4368 <PB_ACK_SET_PB_RELAY_DELAY_SWITCH+0x38>
	
		ackPara[0] = PB_CMD_Reply_Succ;
    4350:	3300      	movi      	r3, 0
    4352:	a660      	st.b      	r3, (r6, 0x0)
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_RELAY_DELAY_SWITCH,&para[PB_FMT_PARA + 1],para_len);
    4354:	8507      	ld.b      	r0, (r5, 0x7)
    U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA - 1;
    4356:	2c07      	subi      	r4, 8
		PowerBus_PackFillBuff(para[PB_FMT_PARA]+1,PowerBUS_CMD_SET_RELAY_DELAY_SWITCH,&para[PB_FMT_PARA + 1],para_len);
    4358:	2000      	addi      	r0, 1
    435a:	74d0      	zextb      	r3, r4
    435c:	5d5e      	addi      	r2, r5, 8
    435e:	7400      	zextb      	r0, r0
    4360:	3124      	movi      	r1, 36
    4362:	e3fff817 	bsr      	0x3390	// 3390 <PowerBus_PackFillBuff>
		*ackLen = 1;
	
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
	}
	
}
    4366:	1494      	pop      	r4-r7, r15
		ackPara[0] = PB_CMD_Reply_CommStateBusy;
    4368:	a660      	st.b      	r3, (r6, 0x0)
}
    436a:	07fe      	br      	0x4366	// 4366 <PB_ACK_SET_PB_RELAY_DELAY_SWITCH+0x36>
    436c:	000058c7 	.long	0x000058c7
    4370:	00005a8e 	.long	0x00005a8e

Disassembly of section .text.Get_ADC_Val_Filter:

00004374 <Get_ADC_Val_Filter>:

/*********************************************************************
 * @fn      Get_ADC_Val_Filter
 * @brief   获取ADC平滑滤波后的值
 */
U32_T Get_ADC_Val_Filter(U16_T *data,U8_T data_len){
    4374:	14d1      	push      	r4, r15
    4376:	6d07      	mov      	r4, r1
    4378:	6c83      	mov      	r2, r0
	U32_T sum_val = 0;
	U16_T age_val = 0;
	U8_T sum_cnt = 0;
	
	for(sum_cnt = 0;sum_cnt < data_len;sum_cnt++){
    437a:	3100      	movi      	r1, 0
	U32_T sum_val = 0;
    437c:	3000      	movi      	r0, 0
	for(sum_cnt = 0;sum_cnt < data_len;sum_cnt++){
    437e:	6506      	cmpne      	r1, r4
    4380:	0805      	bt      	0x438a	// 438a <Get_ADC_Val_Filter+0x16>
		sum_val += data[sum_cnt];
	}
	
	age_val = (sum_val / data_len) & 0xFFFF;
    4382:	e3fff569 	bsr      	0x2e54	// 2e54 <__udivsi3>
	
	return age_val;
    4386:	7401      	zexth      	r0, r0
}
    4388:	1491      	pop      	r4, r15
		sum_val += data[sum_cnt];
    438a:	8a60      	ld.h      	r3, (r2, 0x0)
    438c:	600c      	addu      	r0, r3
	for(sum_cnt = 0;sum_cnt < data_len;sum_cnt++){
    438e:	5962      	addi      	r3, r1, 1
    4390:	744c      	zextb      	r1, r3
    4392:	2201      	addi      	r2, 2
    4394:	07f5      	br      	0x437e	// 437e <Get_ADC_Val_Filter+0xa>

Disassembly of section .text.Get_PB_CURR_VAL:

00004398 <Get_PB_CURR_VAL>:

/*获取电流值*/
U16_T Get_PB_CURR_VAL(void){
    4398:	14d0      	push      	r15
	
	U16_T Temp_val = Get_ADC_Val_Filter(g_PB.meas_hv_CURRPWR_Buff,MEAS_Debounce_Num);
    439a:	3105      	movi      	r1, 5
    439c:	1006      	lrw      	r0, 0x200006fc	// 43b4 <Get_PB_CURR_VAL+0x1c>
    439e:	e3ffffeb 	bsr      	0x4374	// 4374 <Get_ADC_Val_Filter>
	g_PB.meas_powerbus_curr = (Temp_val * 16500 ) / 4096;
    43a2:	7401      	zexth      	r0, r0
    43a4:	1065      	lrw      	r3, 0x4074	// 43b8 <Get_PB_CURR_VAL+0x20>
    43a6:	7c0c      	mult      	r0, r3
    43a8:	500c      	asri      	r0, r0, 12
    43aa:	7401      	zexth      	r0, r0
    43ac:	1064      	lrw      	r3, 0x200006a6	// 43bc <Get_PB_CURR_VAL+0x24>
    43ae:	ab00      	st.h      	r0, (r3, 0x0)
	return g_PB.meas_powerbus_curr;
}
    43b0:	1490      	pop      	r15
    43b2:	0000      	bkpt
    43b4:	200006fc 	.long	0x200006fc
    43b8:	00004074 	.long	0x00004074
    43bc:	200006a6 	.long	0x200006a6

Disassembly of section .text.PB_ACK_GET_STATE:

000043c0 <PB_ACK_GET_STATE>:
void PB_ACK_GET_STATE(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    43c0:	14d4      	push      	r4-r7, r15
    43c2:	1424      	subi      	r14, r14, 16
    43c4:	6d07      	mov      	r4, r1
    43c6:	b841      	st.w      	r2, (r14, 0x4)
	U16_T temp_val = Get_PB_CURR_VAL();
    43c8:	e3ffffe8 	bsr      	0x4398	// 4398 <Get_PB_CURR_VAL>
    ackPara[i++] = g_pwm.allBrightness;        			//全局亮度
    43cc:	1171      	lrw      	r3, 0x20000718	// 4490 <PB_ACK_GET_STATE+0xd0>
    43ce:	8341      	ld.b      	r2, (r3, 0x1)
    43d0:	a440      	st.b      	r2, (r4, 0x0)
	ackPara[i++] = g_pwm.allBrightnessUpLimit;        	//全局亮度可调上限
    43d2:	8342      	ld.b      	r2, (r3, 0x2)
    43d4:	a441      	st.b      	r2, (r4, 0x1)
	ackPara[i++] = g_pwm.allBrightnessDownLimit;        //全局亮度可调下限
    43d6:	8343      	ld.b      	r2, (r3, 0x3)
    43d8:	a442      	st.b      	r2, (r4, 0x2)
    ackPara[i++] = g_pwm.brightnessCurr[PWM_OUT_CH1];        //灯亮度 - CH4
    43da:	8344      	ld.b      	r2, (r3, 0x4)
    43dc:	a443      	st.b      	r2, (r4, 0x3)
    ackPara[i++] = g_pwm.brightnessCurr[PWM_OUT_CH2];        //灯亮度 - CH3
    43de:	8345      	ld.b      	r2, (r3, 0x5)
    43e0:	a444      	st.b      	r2, (r4, 0x4)
    ackPara[i++] = g_pwm.brightnessCurr[PWM_OUT_CH3];        //灯亮度 - CH2
    43e2:	8346      	ld.b      	r2, (r3, 0x6)
    43e4:	a445      	st.b      	r2, (r4, 0x5)
    ackPara[i++] = g_pwm.brightnessCurr[PWM_OUT_CH4];        //灯亮度 - CH1
    43e6:	8367      	ld.b      	r3, (r3, 0x7)
    ackPara[i++] = (g_PB.meas_powerstrip_volt >> 8) & 0xFF;        	//当前灯带电压 H
    43e8:	32ed      	movi      	r2, 237
    ackPara[i++] = g_pwm.brightnessCurr[PWM_OUT_CH4];        //灯亮度 - CH1
    43ea:	a466      	st.b      	r3, (r4, 0x6)
    ackPara[i++] = (g_PB.meas_powerstrip_volt >> 8) & 0xFF;        	//当前灯带电压 H
    43ec:	4242      	lsli      	r2, r2, 2
    43ee:	116a      	lrw      	r3, 0x200002f0	// 4494 <PB_ACK_GET_STATE+0xd4>
    43f0:	608c      	addu      	r2, r3
    43f2:	8a20      	ld.h      	r1, (r2, 0x0)
    43f4:	4928      	lsri      	r1, r1, 8
    43f6:	a427      	st.b      	r1, (r4, 0x7)
    ackPara[i++] = (g_PB.meas_powerstrip_volt) & 0xFF;;        		//当前灯带电压 L
    43f8:	8220      	ld.b      	r1, (r2, 0x0)
    43fa:	b843      	st.w      	r2, (r14, 0xc)
    ackPara[i++] = (g_PB.meas_powerbus_volt >> 8) & 0xFF;         //当前PB BUS电压 H
    43fc:	11e7      	lrw      	r7, 0x3b2	// 4498 <PB_ACK_GET_STATE+0xd8>
    ackPara[i++] = 0x00;        //当前灯带CH1 电流 H
    43fe:	3200      	movi      	r2, 0
    4400:	a449      	st.b      	r2, (r4, 0x9)
    ackPara[i++] = 0x00;        //当前灯带CH1 电流 L
    4402:	a44a      	st.b      	r2, (r4, 0xa)
    ackPara[i++] = 0x00;        //当前灯带CH2 电流 H
    4404:	a44b      	st.b      	r2, (r4, 0xb)
    ackPara[i++] = 0x00;        //当前灯带CH2 电流 L
    4406:	a44c      	st.b      	r2, (r4, 0xc)
    ackPara[i++] = 0x00;        //当前灯带CH3 电流 H
    4408:	a44d      	st.b      	r2, (r4, 0xd)
    ackPara[i++] = 0x00;        //当前灯带CH3 电流 L
    440a:	a44e      	st.b      	r2, (r4, 0xe)
    ackPara[i++] = 0x00;        //当前灯带CH4 电流 H
    440c:	a44f      	st.b      	r2, (r4, 0xf)
    ackPara[i++] = 0x00;        //当前灯带CH4 电流 L
    440e:	a450      	st.b      	r2, (r4, 0x10)
    ackPara[i++] = 0x00;		//g_PB.switchState[group];        	//Bit7~Bit4:灯带开关状态MASK ,Bit3~Bit0:灯带故障状态
    4410:	a451      	st.b      	r2, (r4, 0x11)
    ackPara[i++] = (g_PB.meas_powerbus_volt >> 8) & 0xFF;         //当前PB BUS电压 H
    4412:	61cc      	addu      	r7, r3
    ackPara[i++] = (g_PB.meas_powerstrip_volt) & 0xFF;;        		//当前灯带电压 L
    4414:	a428      	st.b      	r1, (r4, 0x8)
    ackPara[i++] = (g_PB.meas_powerbus_volt >> 8) & 0xFF;         //当前PB BUS电压 H
    4416:	8f20      	ld.h      	r1, (r7, 0x0)
    4418:	4928      	lsri      	r1, r1, 8
    441a:	a432      	st.b      	r1, (r4, 0x12)
    441c:	b862      	st.w      	r3, (r14, 0x8)
    ackPara[i++] = (temp_val >> 8) & 0xFF;        //当前PB BUS电流 H
    441e:	4828      	lsri      	r1, r0, 8
    ackPara[i++] = (g_PB.meas_powerbus_volt) & 0xFF;        //当前PB BUS电压 L
    4420:	8760      	ld.b      	r3, (r7, 0x0)
    4422:	a473      	st.b      	r3, (r4, 0x13)
    ackPara[i++] = (temp_val >> 8) & 0xFF;        //当前PB BUS电流 H
    4424:	a434      	st.b      	r1, (r4, 0x14)
    ackPara[i++] = (temp_val) & 0xFF;        //当前PB BUS电流 L
    4426:	a415      	st.b      	r0, (r4, 0x15)
	U16_T temp_val = Get_PB_CURR_VAL();
    4428:	6d83      	mov      	r6, r0
	temp_power = temp_val * g_PB.meas_powerbus_volt / 1000;
    442a:	31fa      	movi      	r1, 250
    442c:	8f00      	ld.h      	r0, (r7, 0x0)
    442e:	7c18      	mult      	r0, r6
    4430:	4122      	lsli      	r1, r1, 2
    4432:	e3fff4ff 	bsr      	0x2e30	// 2e30 <__divsi3>
    ackPara[i++] = g_PB.protect_flag;        		//PB BUS故障状态MASK
    4436:	9862      	ld.w      	r3, (r14, 0x8)
    4438:	8354      	ld.b      	r2, (r3, 0x14)
	ackPara[i++] = (temp_power >> 24) & 0xFF;        //当前PB BUS功率 H
    443a:	4838      	lsri      	r1, r0, 24
	ackPara[i++] = g_PB.enable;        				//PB 输出使能状态
    443c:	8372      	ld.b      	r3, (r3, 0x12)
	ackPara[i++] = (temp_power >> 24) & 0xFF;        //当前PB BUS功率 H
    443e:	a436      	st.b      	r1, (r4, 0x16)
	ackPara[i++] = g_PB.enable;        				//PB 输出使能状态
    4440:	a47b      	st.b      	r3, (r4, 0x1b)
    ackPara[i++] = (temp_power >> 16) & 0xFF;        //当前PB BUS功率 L
    4442:	4830      	lsri      	r1, r0, 16
	ackPara[i++] = Project_Software_Ver;        		//PB 软件版本
    4444:	3307      	movi      	r3, 7
    ackPara[i++] = (temp_power >> 16) & 0xFF;        //当前PB BUS功率 L
    4446:	a437      	st.b      	r1, (r4, 0x17)
	ackPara[i++] = Project_Software_Ver;        		//PB 软件版本
    4448:	a47c      	st.b      	r3, (r4, 0x1c)
	ackPara[i++] = (temp_power >> 8) & 0xFF;        //当前PB BUS功率 H
    444a:	4828      	lsri      	r1, r0, 8
	ackPara[i++] = Project_Hardware_Ver;        		//PB 硬件版本
    444c:	3304      	movi      	r3, 4
    444e:	a47d      	st.b      	r3, (r4, 0x1d)
	ackPara[i++] = (temp_power >> 8) & 0xFF;        //当前PB BUS功率 H
    4450:	a438      	st.b      	r1, (r4, 0x18)
    ackPara[i++] = g_PB.protect_flag;        		//PB BUS故障状态MASK
    4452:	a45a      	st.b      	r2, (r4, 0x1a)
    ackPara[i++] = temp_power & 0xFF;        		//当前PB BUS功率 L
    4454:	a419      	st.b      	r0, (r4, 0x19)
	temp_power = temp_val * g_PB.meas_powerbus_volt / 1000;
    4456:	6d43      	mov      	r5, r0
	ackPara[i++] = PowerBUS_GetCommState();				//PowerBus 当前通讯状态
    4458:	e3fff7f4 	bsr      	0x3440	// 3440 <PowerBUS_GetCommState>
    445c:	a41e      	st.b      	r0, (r4, 0x1e)
	Dbg_Println(DBG_BIT_SYS_STATUS, "PS Voltage:%dmV",g_PB.meas_powerstrip_volt);
    445e:	9843      	ld.w      	r2, (r14, 0xc)
    4460:	8a40      	ld.h      	r2, (r2, 0x0)
    4462:	102f      	lrw      	r1, 0x5c37	// 449c <PB_ACK_GET_STATE+0xdc>
    4464:	3000      	movi      	r0, 0
    4466:	e3fff5a1 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS, "PB CURR:%dmA Voltage:%dmV %dmW",temp_val,g_PB.meas_powerbus_volt,temp_power);
    446a:	8f60      	ld.h      	r3, (r7, 0x0)
    446c:	6c9b      	mov      	r2, r6
    446e:	b8a0      	st.w      	r5, (r14, 0x0)
    4470:	3000      	movi      	r0, 0
    4472:	102c      	lrw      	r1, 0x5c47	// 44a0 <PB_ACK_GET_STATE+0xe0>
    4474:	e3fff59a 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Print_Buff(DBG_BIT_SYS_STATUS, "ACK Buff:", ackPara, i);
    4478:	6c93      	mov      	r2, r4
    447a:	331f      	movi      	r3, 31
    447c:	102a      	lrw      	r1, 0x5c66	// 44a4 <PB_ACK_GET_STATE+0xe4>
    447e:	3000      	movi      	r0, 0
    4480:	e3fff59a 	bsr      	0x2fb4	// 2fb4 <Dbg_Print_Buff>
    *ackLen = i;
    4484:	9861      	ld.w      	r3, (r14, 0x4)
    4486:	321f      	movi      	r2, 31
    4488:	ab40      	st.h      	r2, (r3, 0x0)
}
    448a:	1404      	addi      	r14, r14, 16
    448c:	1494      	pop      	r4-r7, r15
    448e:	0000      	bkpt
    4490:	20000718 	.long	0x20000718
    4494:	200002f0 	.long	0x200002f0
    4498:	000003b2 	.long	0x000003b2
    449c:	00005c37 	.long	0x00005c37
    44a0:	00005c47 	.long	0x00005c47
    44a4:	00005c66 	.long	0x00005c66

Disassembly of section .text.Current_Coarse_Filter:

000044a8 <Current_Coarse_Filter>:
	}
	
}

//检测电流突变功能
U16_T Current_Coarse_Filter(U16_T vsens){
    44a8:	14d0      	push      	r15
	U8_T i=0;
	U16_T rev = 0;
	U32_T filter_sum = 0;
	curr_monitoring.coarse_filter_buff[Filter_Coarse_Size] = vsens;
    44aa:	1069      	lrw      	r3, 0x20000258	// 44cc <Current_Coarse_Filter+0x24>
	for(i=0;i<Filter_Coarse_Size;i++){
    44ac:	3200      	movi      	r2, 0
	curr_monitoring.coarse_filter_buff[Filter_Coarse_Size] = vsens;
    44ae:	ab11      	st.h      	r0, (r3, 0x22)
	U32_T filter_sum = 0;
    44b0:	3000      	movi      	r0, 0
	for(i=0;i<Filter_Coarse_Size;i++){
    44b2:	2200      	addi      	r2, 1
    44b4:	7488      	zextb      	r2, r2
		curr_monitoring.coarse_filter_buff[i] = curr_monitoring.coarse_filter_buff[i+1];
    44b6:	8b2d      	ld.h      	r1, (r3, 0x1a)
	for(i=0;i<Filter_Coarse_Size;i++){
    44b8:	3a45      	cmpnei      	r2, 5
		curr_monitoring.coarse_filter_buff[i] = curr_monitoring.coarse_filter_buff[i+1];
    44ba:	ab2c      	st.h      	r1, (r3, 0x18)
		filter_sum += curr_monitoring.coarse_filter_buff[i];
    44bc:	6004      	addu      	r0, r1
    44be:	2301      	addi      	r3, 2
	for(i=0;i<Filter_Coarse_Size;i++){
    44c0:	0bf9      	bt      	0x44b2	// 44b2 <Current_Coarse_Filter+0xa>
	}
	rev = (U16_T)(filter_sum / Filter_Coarse_Size);
    44c2:	3105      	movi      	r1, 5
    44c4:	e3fff4c8 	bsr      	0x2e54	// 2e54 <__udivsi3>
	return rev;
    44c8:	7401      	zexth      	r0, r0
}
    44ca:	1490      	pop      	r15
    44cc:	20000258 	.long	0x20000258

Disassembly of section .text.Current_Fine_Filter:

000044d0 <Current_Fine_Filter>:

U16_T Current_Fine_Filter(U16_T vsens){
    44d0:	14d1      	push      	r4, r15
	U8_T i=0;
	U16_T rev = 0;
	U32_T filter_sum = 0;
	curr_monitoring.fine_filter_buff[Filter_Fine_Size] = vsens;
    44d2:	106a      	lrw      	r3, 0x200002d8	// 44f8 <Current_Fine_Filter+0x28>
    44d4:	ab04      	st.h      	r0, (r3, 0x8)
	for(i=0;i<Filter_Fine_Size;i++){
    44d6:	3432      	movi      	r4, 50
    44d8:	1049      	lrw      	r2, 0x20000258	// 44fc <Current_Fine_Filter+0x2c>
	U32_T filter_sum = 0;
    44da:	3000      	movi      	r0, 0
	for(i=0;i<Filter_Fine_Size;i++){
    44dc:	3300      	movi      	r3, 0
    44de:	2300      	addi      	r3, 1
    44e0:	74cc      	zextb      	r3, r3
		curr_monitoring.fine_filter_buff[i] = curr_monitoring.fine_filter_buff[i+1];
    44e2:	8a33      	ld.h      	r1, (r2, 0x26)
	for(i=0;i<Filter_Fine_Size;i++){
    44e4:	650e      	cmpne      	r3, r4
		curr_monitoring.fine_filter_buff[i] = curr_monitoring.fine_filter_buff[i+1];
    44e6:	aa32      	st.h      	r1, (r2, 0x24)
		filter_sum += curr_monitoring.fine_filter_buff[i];
    44e8:	6004      	addu      	r0, r1
    44ea:	2201      	addi      	r2, 2
	for(i=0;i<Filter_Fine_Size;i++){
    44ec:	0bf9      	bt      	0x44de	// 44de <Current_Fine_Filter+0xe>
	}
	rev = (U16_T)(filter_sum / Filter_Fine_Size);
    44ee:	3132      	movi      	r1, 50
    44f0:	e3fff4b2 	bsr      	0x2e54	// 2e54 <__udivsi3>
	return rev;
    44f4:	7401      	zexth      	r0, r0
}
    44f6:	1491      	pop      	r4, r15
    44f8:	200002d8 	.long	0x200002d8
    44fc:	20000258 	.long	0x20000258

Disassembly of section .text.PB_Current_Monitoring_Meas:

00004500 <PB_Current_Monitoring_Meas>:

void PB_Current_Monitoring_Meas(void){
    4500:	14d3      	push      	r4-r6, r15
    4502:	1422      	subi      	r14, r14, 8
	U16_T coarse_val = 0,fine_val = 0;
	int temp_diff_val = 0,temp_power = 0;
	
	if(curr_monitoring.fun_enable != 0x01)	return ;
    4504:	1285      	lrw      	r4, 0x20000258	// 4618 <PB_Current_Monitoring_Meas+0x118>
    4506:	8463      	ld.b      	r3, (r4, 0x3)
    4508:	3b41      	cmpnei      	r3, 1
    450a:	0832      	bt      	0x456e	// 456e <PB_Current_Monitoring_Meas+0x6e>
	
	coarse_val = Current_Coarse_Filter(g_PB.meas_powerbus_curr);
    450c:	12c4      	lrw      	r6, 0x200006a6	// 461c <PB_Current_Monitoring_Meas+0x11c>
    450e:	8e00      	ld.h      	r0, (r6, 0x0)
    4510:	e3ffffcc 	bsr      	0x44a8	// 44a8 <Current_Coarse_Filter>
    4514:	6d43      	mov      	r5, r0
	fine_val = Current_Fine_Filter(g_PB.meas_powerbus_curr);
    4516:	8e00      	ld.h      	r0, (r6, 0x0)
    4518:	e3ffffdc 	bsr      	0x44d0	// 44d0 <Current_Fine_Filter>
	
	curr_monitoring.curr_diff_val = coarse_val - fine_val;
    451c:	5d41      	subu      	r2, r5, r0
    451e:	3680      	movi      	r6, 128
    4520:	6190      	addu      	r6, r4
	temp_diff_val = abs(curr_monitoring.curr_diff_val);
    4522:	3adf      	btsti      	r2, 31
	curr_monitoring.curr_diff_val = coarse_val - fine_val;
    4524:	b645      	st.w      	r2, (r6, 0x14)
	temp_diff_val = abs(curr_monitoring.curr_diff_val);
    4526:	0c03      	bf      	0x452c	// 452c <PB_Current_Monitoring_Meas+0x2c>
    4528:	3300      	movi      	r3, 0
    452a:	5b49      	subu      	r2, r3, r2
	temp_power = temp_diff_val * g_PB.meas_powerbus_volt / 1000;
    452c:	117d      	lrw      	r3, 0x200006a2	// 4620 <PB_Current_Monitoring_Meas+0x120>
    452e:	8b00      	ld.h      	r0, (r3, 0x0)
    4530:	31fa      	movi      	r1, 250
    4532:	7c08      	mult      	r0, r2
    4534:	4122      	lsli      	r1, r1, 2
    4536:	b841      	st.w      	r2, (r14, 0x4)
    4538:	e3fff47c 	bsr      	0x2e30	// 2e30 <__divsi3>
	
	if(curr_monitoring.dead_switch != 0x00){
    453c:	8462      	ld.b      	r3, (r4, 0x2)
    453e:	3b40      	cmpnei      	r3, 0
	temp_power = temp_diff_val * g_PB.meas_powerbus_volt / 1000;
    4540:	6d43      	mov      	r5, r0
	if(curr_monitoring.dead_switch != 0x00){
    4542:	9841      	ld.w      	r2, (r14, 0x4)
    4544:	0c19      	bf      	0x4576	// 4576 <PB_Current_Monitoring_Meas+0x76>
//			curr_monitoring.dead_tick = SysTick_1ms;
//		}
		
		//根据当前是否处于稳定范围
		
		if(temp_power <= 1000){
    4546:	33fa      	movi      	r3, 250
    4548:	4362      	lsli      	r3, r3, 2
    454a:	640d      	cmplt      	r3, r0
    454c:	0813      	bt      	0x4572	// 4572 <PB_Current_Monitoring_Meas+0x72>
			
			curr_monitoring.release_debounce_cnt++;
    454e:	846e      	ld.b      	r3, (r4, 0xe)
    4550:	2300      	addi      	r3, 1
    4552:	74cc      	zextb      	r3, r3
			if(curr_monitoring.release_debounce_cnt >= 20){
    4554:	3b13      	cmphsi      	r3, 20
			curr_monitoring.release_debounce_cnt++;
    4556:	a46e      	st.b      	r3, (r4, 0xe)
			if(curr_monitoring.release_debounce_cnt >= 20){
    4558:	0c04      	bf      	0x4560	// 4560 <PB_Current_Monitoring_Meas+0x60>
				curr_monitoring.dead_switch = 0x00;
    455a:	3300      	movi      	r3, 0
    455c:	a462      	st.b      	r3, (r4, 0x2)
				curr_monitoring.release_debounce_cnt = 0;
			}
		}else{
			curr_monitoring.release_debounce_cnt = 0;
    455e:	a46e      	st.b      	r3, (r4, 0xe)
		}
		Dbg_Println(DBG_BIT_SYS_STATUS,"Curr Monit: %d - %dmW  JUMP %d",temp_diff_val,temp_power,curr_monitoring.release_debounce_cnt);
    4560:	846e      	ld.b      	r3, (r4, 0xe)
    4562:	b860      	st.w      	r3, (r14, 0x0)
    4564:	3000      	movi      	r0, 0
    4566:	6cd7      	mov      	r3, r5
    4568:	112f      	lrw      	r1, 0x5c70	// 4624 <PB_Current_Monitoring_Meas+0x124>
    456a:	e3fff51f 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
			PWM_SetOutBrightness(PWM_OUT_CH4,curr_monitoring.release_strip_bright[PWM_OUT_CH4]);
		}
	}
	
	//Dbg_NoTick_Println(DBG_BIT_Debug_STATUS,"%d,%d,%d,%d",coarse_val,fine_val,curr_monitoring.curr_diff_val,curr_monitoring.pb_state);
}
    456e:	1402      	addi      	r14, r14, 8
    4570:	1493      	pop      	r4-r6, r15
			curr_monitoring.release_debounce_cnt = 0;
    4572:	3300      	movi      	r3, 0
    4574:	07f5      	br      	0x455e	// 455e <PB_Current_Monitoring_Meas+0x5e>
	Dbg_Println(DBG_BIT_SYS_STATUS,"Curr Monit: %d - %dmW",temp_diff_val,temp_power);
    4576:	6cc3      	mov      	r3, r0
    4578:	112c      	lrw      	r1, 0x5c8f	// 4628 <PB_Current_Monitoring_Meas+0x128>
    457a:	3000      	movi      	r0, 0
    457c:	e3fff516 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	if(curr_monitoring.curr_diff_val >= 0){
    4580:	9665      	ld.w      	r3, (r6, 0x14)
    4582:	3bdf      	btsti      	r3, 31
    4584:	082c      	bt      	0x45dc	// 45dc <PB_Current_Monitoring_Meas+0xdc>
		if(temp_power >= curr_monitoring.trigger_threshold){
    4586:	8c6a      	ld.h      	r3, (r4, 0x14)
    4588:	64d5      	cmplt      	r5, r3
    458a:	080a      	bt      	0x459e	// 459e <PB_Current_Monitoring_Meas+0x9e>
			curr_monitoring.trigger_debounce_cnt++;
    458c:	846d      	ld.b      	r3, (r4, 0xd)
    458e:	2300      	addi      	r3, 1
    4590:	74cc      	zextb      	r3, r3
			if(curr_monitoring.trigger_debounce_cnt >= curr_monitoring.trigger_debounce_num){
    4592:	844f      	ld.b      	r2, (r4, 0xf)
    4594:	648c      	cmphs      	r3, r2
			curr_monitoring.trigger_debounce_cnt++;
    4596:	a46d      	st.b      	r3, (r4, 0xd)
			if(curr_monitoring.trigger_debounce_cnt >= curr_monitoring.trigger_debounce_num){
    4598:	0c05      	bf      	0x45a2	// 45a2 <PB_Current_Monitoring_Meas+0xa2>
				curr_monitoring.pb_state = 0x01;
    459a:	3301      	movi      	r3, 1
    459c:	a460      	st.b      	r3, (r4, 0x0)
			curr_monitoring.trigger_debounce_cnt = 0;
    459e:	3300      	movi      	r3, 0
    45a0:	a46d      	st.b      	r3, (r4, 0xd)
	if(curr_monitoring.pb_state != curr_monitoring.last_pb_state){
    45a2:	8440      	ld.b      	r2, (r4, 0x0)
    45a4:	8461      	ld.b      	r3, (r4, 0x1)
    45a6:	648e      	cmpne      	r3, r2
    45a8:	0fe3      	bf      	0x456e	// 456e <PB_Current_Monitoring_Meas+0x6e>
		Dbg_Println(DBG_BIT_SYS_STATUS,"curr_monitoring state: %d",curr_monitoring.pb_state);
    45aa:	1121      	lrw      	r1, 0x5ca5	// 462c <PB_Current_Monitoring_Meas+0x12c>
    45ac:	3000      	movi      	r0, 0
		curr_monitoring.last_pb_state = curr_monitoring.pb_state;
    45ae:	a441      	st.b      	r2, (r4, 0x1)
		Dbg_Println(DBG_BIT_SYS_STATUS,"curr_monitoring state: %d",curr_monitoring.pb_state);
    45b0:	e3fff4fc 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
		if(curr_monitoring.pb_state == 0x01){
    45b4:	8460      	ld.b      	r3, (r4, 0x0)
    45b6:	3b41      	cmpnei      	r3, 1
    45b8:	0822      	bt      	0x45fc	// 45fc <PB_Current_Monitoring_Meas+0xfc>
			PWM_SetOutBrightness(PWM_OUT_CH1,curr_monitoring.triggle_strip_bright[PWM_OUT_CH1]);
    45ba:	8425      	ld.b      	r1, (r4, 0x5)
    45bc:	3000      	movi      	r0, 0
    45be:	e00003b1 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
			PWM_SetOutBrightness(PWM_OUT_CH2,curr_monitoring.triggle_strip_bright[PWM_OUT_CH2]);
    45c2:	8426      	ld.b      	r1, (r4, 0x6)
    45c4:	3001      	movi      	r0, 1
    45c6:	e00003ad 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
			PWM_SetOutBrightness(PWM_OUT_CH3,curr_monitoring.triggle_strip_bright[PWM_OUT_CH3]);
    45ca:	8427      	ld.b      	r1, (r4, 0x7)
    45cc:	3002      	movi      	r0, 2
    45ce:	e00003a9 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
			PWM_SetOutBrightness(PWM_OUT_CH4,curr_monitoring.triggle_strip_bright[PWM_OUT_CH4]);
    45d2:	8428      	ld.b      	r1, (r4, 0x8)
			PWM_SetOutBrightness(PWM_OUT_CH4,curr_monitoring.release_strip_bright[PWM_OUT_CH4]);
    45d4:	3003      	movi      	r0, 3
    45d6:	e00003a5 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
    45da:	07ca      	br      	0x456e	// 456e <PB_Current_Monitoring_Meas+0x6e>
		if(temp_power >= curr_monitoring.release_threshold){
    45dc:	8c6b      	ld.h      	r3, (r4, 0x16)
    45de:	64d5      	cmplt      	r5, r3
    45e0:	080c      	bt      	0x45f8	// 45f8 <PB_Current_Monitoring_Meas+0xf8>
			curr_monitoring.release_debounce_cnt++;
    45e2:	846e      	ld.b      	r3, (r4, 0xe)
    45e4:	2300      	addi      	r3, 1
    45e6:	74cc      	zextb      	r3, r3
			if(curr_monitoring.release_debounce_cnt >= curr_monitoring.release_debounce_num){
    45e8:	8450      	ld.b      	r2, (r4, 0x10)
    45ea:	648c      	cmphs      	r3, r2
			curr_monitoring.release_debounce_cnt++;
    45ec:	a46e      	st.b      	r3, (r4, 0xe)
			if(curr_monitoring.release_debounce_cnt >= curr_monitoring.release_debounce_num){
    45ee:	0fda      	bf      	0x45a2	// 45a2 <PB_Current_Monitoring_Meas+0xa2>
				curr_monitoring.pb_state = 0x00;
    45f0:	3300      	movi      	r3, 0
    45f2:	a460      	st.b      	r3, (r4, 0x0)
			curr_monitoring.release_debounce_cnt = 0;
    45f4:	a46e      	st.b      	r3, (r4, 0xe)
    45f6:	07d6      	br      	0x45a2	// 45a2 <PB_Current_Monitoring_Meas+0xa2>
    45f8:	3300      	movi      	r3, 0
    45fa:	07fd      	br      	0x45f4	// 45f4 <PB_Current_Monitoring_Meas+0xf4>
			PWM_SetOutBrightness(PWM_OUT_CH1,curr_monitoring.release_strip_bright[PWM_OUT_CH1]);
    45fc:	8429      	ld.b      	r1, (r4, 0x9)
    45fe:	3000      	movi      	r0, 0
    4600:	e0000390 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
			PWM_SetOutBrightness(PWM_OUT_CH2,curr_monitoring.release_strip_bright[PWM_OUT_CH2]);
    4604:	842a      	ld.b      	r1, (r4, 0xa)
    4606:	3001      	movi      	r0, 1
    4608:	e000038c 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
			PWM_SetOutBrightness(PWM_OUT_CH3,curr_monitoring.release_strip_bright[PWM_OUT_CH3]);
    460c:	842b      	ld.b      	r1, (r4, 0xb)
    460e:	3002      	movi      	r0, 2
    4610:	e0000388 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
			PWM_SetOutBrightness(PWM_OUT_CH4,curr_monitoring.release_strip_bright[PWM_OUT_CH4]);
    4614:	842c      	ld.b      	r1, (r4, 0xc)
    4616:	07df      	br      	0x45d4	// 45d4 <PB_Current_Monitoring_Meas+0xd4>
    4618:	20000258 	.long	0x20000258
    461c:	200006a6 	.long	0x200006a6
    4620:	200006a2 	.long	0x200006a2
    4624:	00005c70 	.long	0x00005c70
    4628:	00005c8f 	.long	0x00005c8f
    462c:	00005ca5 	.long	0x00005ca5

Disassembly of section .text.PMU_MEAS_Task:

00004630 <PMU_MEAS_Task>:
void PMU_MEAS_Task(void){
    4630:	14d2      	push      	r4-r5, r15
	if(SysTick_1ms - meas_tick >= 30){
    4632:	132c      	lrw      	r1, 0x20000070	// 47e0 <PMU_MEAS_Task+0x1b0>
    4634:	134c      	lrw      	r2, 0x20000074	// 47e4 <PMU_MEAS_Task+0x1b4>
    4636:	138d      	lrw      	r4, 0x200002f0	// 47e8 <PMU_MEAS_Task+0x1b8>
    4638:	9201      	ld.w      	r0, (r2, 0x4)
    463a:	9160      	ld.w      	r3, (r1, 0x0)
    463c:	60c2      	subu      	r3, r0
    463e:	3b1d      	cmphsi      	r3, 30
    4640:	0c9a      	bf      	0x4774	// 4774 <PMU_MEAS_Task+0x144>
		meas_tick = SysTick_1ms;
    4642:	9160      	ld.w      	r3, (r1, 0x0)
    4644:	b261      	st.w      	r3, (r2, 0x4)
		if(g_PB.meas_cnt >= MEAS_BUFFER_SIZE)	{
    4646:	8460      	ld.b      	r3, (r4, 0x0)
    4648:	3b13      	cmphsi      	r3, 20
    464a:	0c05      	bf      	0x4654	// 4654 <PMU_MEAS_Task+0x24>
			g_PB.meas_fill_flag = 0x01;
    464c:	3301      	movi      	r3, 1
    464e:	a461      	st.b      	r3, (r4, 0x1)
			g_PB.meas_cnt = 0;
    4650:	3300      	movi      	r3, 0
    4652:	a460      	st.b      	r3, (r4, 0x0)
		ADC12_SEQEND_wait(0);
    4654:	3000      	movi      	r0, 0
    4656:	e3ffeac1 	bsr      	0x1bd8	// 1bd8 <ADC12_SEQEND_wait>
		g_PB.meas_hv_PB_val[g_PB.meas_cnt] = ADC12_DATA_OUPUT(0);
    465a:	3000      	movi      	r0, 0
    465c:	84a0      	ld.b      	r5, (r4, 0x0)
    465e:	e3ffeac9 	bsr      	0x1bf0	// 1bf0 <ADC12_DATA_OUPUT>
    4662:	33ee      	movi      	r3, 238
    4664:	4361      	lsli      	r3, r3, 1
    4666:	614c      	addu      	r5, r3
    4668:	45a1      	lsli      	r5, r5, 1
    466a:	6150      	addu      	r5, r4
    466c:	ad00      	st.h      	r0, (r5, 0x0)
		ADC12_SEQEND_wait(1);
    466e:	3001      	movi      	r0, 1
    4670:	e3ffeab4 	bsr      	0x1bd8	// 1bd8 <ADC12_SEQEND_wait>
		g_PB.meas_hv_PS_val[g_PB.meas_cnt] = ADC12_DATA_OUPUT(1);
    4674:	3001      	movi      	r0, 1
    4676:	84a0      	ld.b      	r5, (r4, 0x0)
    4678:	e3ffeabc 	bsr      	0x1bf0	// 1bf0 <ADC12_DATA_OUPUT>
    467c:	33f8      	movi      	r3, 248
    467e:	4361      	lsli      	r3, r3, 1
    4680:	614c      	addu      	r5, r3
    4682:	45a1      	lsli      	r5, r5, 1
    4684:	6150      	addu      	r5, r4
    4686:	ad00      	st.h      	r0, (r5, 0x0)
		ADC12_SEQEND_wait(2);
    4688:	3002      	movi      	r0, 2
    468a:	e3ffeaa7 	bsr      	0x1bd8	// 1bd8 <ADC12_SEQEND_wait>
		g_PB.meas_hv_CURRPWRx5_val = ADC12_DATA_OUPUT(2);
    468e:	3002      	movi      	r0, 2
    4690:	e3ffeab0 	bsr      	0x1bf0	// 1bf0 <ADC12_DATA_OUPUT>
    4694:	12b6      	lrw      	r5, 0x200006f8	// 47ec <PMU_MEAS_Task+0x1bc>
    4696:	ad00      	st.h      	r0, (r5, 0x0)
		ADC12_SEQEND_wait(3);
    4698:	3003      	movi      	r0, 3
    469a:	e3ffea9f 	bsr      	0x1bd8	// 1bd8 <ADC12_SEQEND_wait>
		g_PB.meas_hv_CURRPWRx50_val = ADC12_DATA_OUPUT(3);
    469e:	3003      	movi      	r0, 3
    46a0:	e3ffeaa8 	bsr      	0x1bf0	// 1bf0 <ADC12_DATA_OUPUT>
		if(g_PB.meas_hv_curr_cnt >= MEAS_Debounce_Num){
    46a4:	846c      	ld.b      	r3, (r4, 0xc)
    46a6:	3b04      	cmphsi      	r3, 5
		g_PB.meas_hv_CURRPWRx50_val = ADC12_DATA_OUPUT(3);
    46a8:	ad01      	st.h      	r0, (r5, 0x2)
		if(g_PB.meas_hv_curr_cnt >= MEAS_Debounce_Num){
    46aa:	0c03      	bf      	0x46b0	// 46b0 <PMU_MEAS_Task+0x80>
			g_PB.meas_hv_curr_cnt = 0;
    46ac:	3300      	movi      	r3, 0
    46ae:	a46c      	st.b      	r3, (r4, 0xc)
		g_PB.meas_hv_CURRPWR_Buff[g_PB.meas_hv_curr_cnt++] = g_PB.meas_hv_CURRPWRx5_val;
    46b0:	846c      	ld.b      	r3, (r4, 0xc)
    46b2:	5b42      	addi      	r2, r3, 1
    46b4:	a44c      	st.b      	r2, (r4, 0xc)
    46b6:	124f      	lrw      	r2, 0x206	// 47f0 <PMU_MEAS_Task+0x1c0>
    46b8:	60c8      	addu      	r3, r2
    46ba:	4361      	lsli      	r3, r3, 1
    46bc:	60d0      	addu      	r3, r4
    46be:	8d40      	ld.h      	r2, (r5, 0x0)
    46c0:	ab40      	st.h      	r2, (r3, 0x0)
		Get_PB_CURR_VAL();
    46c2:	e3fffe6b 	bsr      	0x4398	// 4398 <Get_PB_CURR_VAL>
		PB_Current_Monitoring_Meas();
    46c6:	e3ffff1d 	bsr      	0x4500	// 4500 <PB_Current_Monitoring_Meas>
		g_PB.meas_cnt++;
    46ca:	8460      	ld.b      	r3, (r4, 0x0)
    46cc:	2300      	addi      	r3, 1
    46ce:	a460      	st.b      	r3, (r4, 0x0)
		if(g_PB.meas_fill_flag != 0x01)	return ;		//检测BUFF未满,直接退出
    46d0:	8461      	ld.b      	r3, (r4, 0x1)
    46d2:	3b41      	cmpnei      	r3, 1
    46d4:	0876      	bt      	0x47c0	// 47c0 <PMU_MEAS_Task+0x190>
		g_PB.meas_fill_flag = 0x00;	//重新开始计数
    46d6:	3300      	movi      	r3, 0
		temp_val = Get_ADC_Val_Filter(g_PB.meas_hv_PB_val,MEAS_BUFFER_SIZE);
    46d8:	3114      	movi      	r1, 20
    46da:	1207      	lrw      	r0, 0x200006a8	// 47f4 <PMU_MEAS_Task+0x1c4>
		g_PB.meas_fill_flag = 0x00;	//重新开始计数
    46dc:	a461      	st.b      	r3, (r4, 0x1)
		temp_val = Get_ADC_Val_Filter(g_PB.meas_hv_PB_val,MEAS_BUFFER_SIZE);
    46de:	e3fffe4b 	bsr      	0x4374	// 4374 <Get_ADC_Val_Filter>
		g_PB.meas_powerbus_volt = (temp_val * 3300 * 16) / 4096;			//输入电压 = 检测电压 * 16
    46e2:	1266      	lrw      	r3, 0xce40	// 47f8 <PMU_MEAS_Task+0x1c8>
    46e4:	7c0c      	mult      	r0, r3
    46e6:	480c      	lsri      	r0, r0, 12
    46e8:	7401      	zexth      	r0, r0
    46ea:	1265      	lrw      	r3, 0x200006a2	// 47fc <PMU_MEAS_Task+0x1cc>
    46ec:	ab00      	st.h      	r0, (r3, 0x0)
		if( (g_PB.meas_powerbus_volt >= MEAS_InputVoltage_Min) && (g_PB.meas_powerbus_volt <= MEAS_InputVoltage_Max) ){
    46ee:	1265      	lrw      	r3, 0xffffd8f0	// 4800 <PMU_MEAS_Task+0x1d0>
    46f0:	600c      	addu      	r0, r3
    46f2:	7401      	zexth      	r0, r0
    46f4:	1264      	lrw      	r3, 0x6d60	// 4804 <PMU_MEAS_Task+0x1d4>
    46f6:	640c      	cmphs      	r3, r0
    46f8:	0c0e      	bf      	0x4714	// 4714 <PMU_MEAS_Task+0xe4>
			g_PB.meas_hv_PB_ONcnt++;
    46fa:	8462      	ld.b      	r3, (r4, 0x2)
    46fc:	2300      	addi      	r3, 1
    46fe:	74cc      	zextb      	r3, r3
			g_PB.meas_hv_PB_OFFcnt = 0x00;
    4700:	3200      	movi      	r2, 0
			if(g_PB.meas_hv_PB_ONcnt >= MEAS_Debounce_Num){
    4702:	3b04      	cmphsi      	r3, 5
			g_PB.meas_hv_PB_ONcnt++;
    4704:	a462      	st.b      	r3, (r4, 0x2)
			g_PB.meas_hv_PB_OFFcnt = 0x00;
    4706:	a444      	st.b      	r2, (r4, 0x4)
			if(g_PB.meas_hv_PB_ONcnt >= MEAS_Debounce_Num){
    4708:	0c0e      	bf      	0x4724	// 4724 <PMU_MEAS_Task+0xf4>
				g_PB.meas_hv_PB_ONcnt = 0x00;
    470a:	3300      	movi      	r3, 0
    470c:	a462      	st.b      	r3, (r4, 0x2)
				g_PB.meas_hv_PB_State = 0x01;
    470e:	3301      	movi      	r3, 1
				g_PB.meas_hv_PB_State = 0x00;
    4710:	a466      	st.b      	r3, (r4, 0x6)
    4712:	0409      	br      	0x4724	// 4724 <PMU_MEAS_Task+0xf4>
			g_PB.meas_hv_PB_ONcnt = 0x00;
    4714:	3300      	movi      	r3, 0
    4716:	a462      	st.b      	r3, (r4, 0x2)
			g_PB.meas_hv_PB_OFFcnt++;
    4718:	8464      	ld.b      	r3, (r4, 0x4)
    471a:	2300      	addi      	r3, 1
    471c:	74cc      	zextb      	r3, r3
			if(g_PB.meas_hv_PB_OFFcnt >= MEAS_Debounce_Num){
    471e:	3b04      	cmphsi      	r3, 5
    4720:	081f      	bt      	0x475e	// 475e <PMU_MEAS_Task+0x12e>
			g_PB.meas_hv_PB_OFFcnt++;
    4722:	a464      	st.b      	r3, (r4, 0x4)
		temp_val = Get_ADC_Val_Filter(g_PB.meas_hv_PS_val,MEAS_BUFFER_SIZE);
    4724:	3114      	movi      	r1, 20
    4726:	1119      	lrw      	r0, 0x200006d0	// 4808 <PMU_MEAS_Task+0x1d8>
    4728:	e3fffe26 	bsr      	0x4374	// 4374 <Get_ADC_Val_Filter>
		g_PB.meas_powerstrip_volt = (temp_val * 3300 * 16) / 4096;
    472c:	1173      	lrw      	r3, 0xce40	// 47f8 <PMU_MEAS_Task+0x1c8>
    472e:	7c0c      	mult      	r0, r3
    4730:	480c      	lsri      	r0, r0, 12
    4732:	7401      	zexth      	r0, r0
    4734:	1176      	lrw      	r3, 0x200006a4	// 480c <PMU_MEAS_Task+0x1dc>
    4736:	ab00      	st.h      	r0, (r3, 0x0)
		if( (g_PB.meas_powerstrip_volt >= MEAS_InputVoltage_Min) && (g_PB.meas_powerstrip_volt <= MEAS_InputVoltage_Max)){
    4738:	1172      	lrw      	r3, 0xffffd8f0	// 4800 <PMU_MEAS_Task+0x1d0>
    473a:	600c      	addu      	r0, r3
    473c:	7401      	zexth      	r0, r0
    473e:	1172      	lrw      	r3, 0x6d60	// 4804 <PMU_MEAS_Task+0x1d4>
    4740:	640c      	cmphs      	r3, r0
    4742:	0c11      	bf      	0x4764	// 4764 <PMU_MEAS_Task+0x134>
			g_PB.meas_hv_PS_ONcnt++;
    4744:	8463      	ld.b      	r3, (r4, 0x3)
    4746:	2300      	addi      	r3, 1
    4748:	74cc      	zextb      	r3, r3
			g_PB.meas_hv_PS_OFFcnt = 0x00;
    474a:	3200      	movi      	r2, 0
			if(g_PB.meas_hv_PS_ONcnt >= MEAS_Debounce_Num){
    474c:	3b04      	cmphsi      	r3, 5
			g_PB.meas_hv_PS_ONcnt++;
    474e:	a463      	st.b      	r3, (r4, 0x3)
			g_PB.meas_hv_PS_OFFcnt = 0x00;
    4750:	a445      	st.b      	r2, (r4, 0x5)
			if(g_PB.meas_hv_PS_ONcnt >= MEAS_Debounce_Num){
    4752:	0c11      	bf      	0x4774	// 4774 <PMU_MEAS_Task+0x144>
				g_PB.meas_hv_PS_ONcnt = 0x00;
    4754:	3300      	movi      	r3, 0
    4756:	a463      	st.b      	r3, (r4, 0x3)
				g_PB.meas_hv_PS_State = 0x01;
    4758:	3301      	movi      	r3, 1
				g_PB.meas_hv_PS_State = 0x00;
    475a:	a467      	st.b      	r3, (r4, 0x7)
    475c:	040c      	br      	0x4774	// 4774 <PMU_MEAS_Task+0x144>
				g_PB.meas_hv_PB_OFFcnt = 0x00;
    475e:	3300      	movi      	r3, 0
    4760:	a464      	st.b      	r3, (r4, 0x4)
    4762:	07d7      	br      	0x4710	// 4710 <PMU_MEAS_Task+0xe0>
			g_PB.meas_hv_PS_ONcnt = 0x00;
    4764:	3300      	movi      	r3, 0
    4766:	a463      	st.b      	r3, (r4, 0x3)
			g_PB.meas_hv_PS_OFFcnt++;
    4768:	8465      	ld.b      	r3, (r4, 0x5)
    476a:	2300      	addi      	r3, 1
    476c:	74cc      	zextb      	r3, r3
			if(g_PB.meas_hv_PS_OFFcnt >= MEAS_Debounce_Num){
    476e:	3b04      	cmphsi      	r3, 5
    4770:	0829      	bt      	0x47c2	// 47c2 <PMU_MEAS_Task+0x192>
			g_PB.meas_hv_PS_OFFcnt++;
    4772:	a465      	st.b      	r3, (r4, 0x5)
	if(g_PB.meas_hv_PB_State != g_PB.last_meas_hv_PB_State) {
    4774:	8446      	ld.b      	r2, (r4, 0x6)
    4776:	8468      	ld.b      	r3, (r4, 0x8)
    4778:	648e      	cmpne      	r3, r2
    477a:	0c10      	bf      	0x479a	// 479a <PMU_MEAS_Task+0x16a>
		Dbg_Println(DBG_BIT_SYS_STATUS,"HV PB State Change : %d",g_PB.last_meas_hv_PB_State);
    477c:	1125      	lrw      	r1, 0x5cbf	// 4810 <PMU_MEAS_Task+0x1e0>
    477e:	3000      	movi      	r0, 0
		g_PB.last_meas_hv_PB_State = g_PB.meas_hv_PB_State;
    4780:	a448      	st.b      	r2, (r4, 0x8)
		Dbg_Println(DBG_BIT_SYS_STATUS,"HV PB State Change : %d",g_PB.last_meas_hv_PB_State);
    4782:	e3fff413 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	    switch(g_PB.last_meas_hv_PB_State) {
    4786:	8468      	ld.b      	r3, (r4, 0x8)
    4788:	3b40      	cmpnei      	r3, 0
    478a:	0c1f      	bf      	0x47c8	// 47c8 <PMU_MEAS_Task+0x198>
    478c:	3b41      	cmpnei      	r3, 1
    478e:	0806      	bt      	0x479a	// 479a <PMU_MEAS_Task+0x16a>
				DRV_PB36V_ON;
    4790:	1161      	lrw      	r3, 0x20000048	// 4814 <PMU_MEAS_Task+0x1e4>
    4792:	3104      	movi      	r1, 4
    4794:	9300      	ld.w      	r0, (r3, 0x0)
    4796:	e3ffe569 	bsr      	0x1268	// 1268 <GPIO_Write_High>
	if(g_PB.meas_hv_PS_State != g_PB.last_meas_hv_PS_State){
    479a:	8447      	ld.b      	r2, (r4, 0x7)
    479c:	8469      	ld.b      	r3, (r4, 0x9)
    479e:	648e      	cmpne      	r3, r2
    47a0:	0c10      	bf      	0x47c0	// 47c0 <PMU_MEAS_Task+0x190>
		Dbg_Println(DBG_BIT_SYS_STATUS,"HV PS State Change : %d",g_PB.last_meas_hv_PS_State);
    47a2:	103e      	lrw      	r1, 0x5cd7	// 4818 <PMU_MEAS_Task+0x1e8>
    47a4:	3000      	movi      	r0, 0
		g_PB.last_meas_hv_PS_State = g_PB.meas_hv_PS_State;
    47a6:	a449      	st.b      	r2, (r4, 0x9)
		Dbg_Println(DBG_BIT_SYS_STATUS,"HV PS State Change : %d",g_PB.last_meas_hv_PS_State);
    47a8:	e3fff400 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
		switch(g_PB.last_meas_hv_PS_State) {
    47ac:	8469      	ld.b      	r3, (r4, 0x9)
    47ae:	3b40      	cmpnei      	r3, 0
    47b0:	0c12      	bf      	0x47d4	// 47d4 <PMU_MEAS_Task+0x1a4>
    47b2:	3b41      	cmpnei      	r3, 1
    47b4:	0806      	bt      	0x47c0	// 47c0 <PMU_MEAS_Task+0x190>
				DRV_PS36V_ON;
    47b6:	107a      	lrw      	r3, 0x2000004c	// 481c <PMU_MEAS_Task+0x1ec>
    47b8:	310e      	movi      	r1, 14
    47ba:	9300      	ld.w      	r0, (r3, 0x0)
    47bc:	e3ffe556 	bsr      	0x1268	// 1268 <GPIO_Write_High>
}
    47c0:	1492      	pop      	r4-r5, r15
				g_PB.meas_hv_PS_OFFcnt = 0x00;
    47c2:	3300      	movi      	r3, 0
    47c4:	a465      	st.b      	r3, (r4, 0x5)
    47c6:	07ca      	br      	0x475a	// 475a <PMU_MEAS_Task+0x12a>
				DRV_PB36V_OFF;
    47c8:	1073      	lrw      	r3, 0x20000048	// 4814 <PMU_MEAS_Task+0x1e4>
    47ca:	3104      	movi      	r1, 4
    47cc:	9300      	ld.w      	r0, (r3, 0x0)
    47ce:	e3ffe551 	bsr      	0x1270	// 1270 <GPIO_Write_Low>
				break;
    47d2:	07e4      	br      	0x479a	// 479a <PMU_MEAS_Task+0x16a>
				DRV_PS36V_OFF;
    47d4:	1072      	lrw      	r3, 0x2000004c	// 481c <PMU_MEAS_Task+0x1ec>
    47d6:	310e      	movi      	r1, 14
    47d8:	9300      	ld.w      	r0, (r3, 0x0)
    47da:	e3ffe54b 	bsr      	0x1270	// 1270 <GPIO_Write_Low>
				break;
    47de:	07f1      	br      	0x47c0	// 47c0 <PMU_MEAS_Task+0x190>
    47e0:	20000070 	.long	0x20000070
    47e4:	20000074 	.long	0x20000074
    47e8:	200002f0 	.long	0x200002f0
    47ec:	200006f8 	.long	0x200006f8
    47f0:	00000206 	.long	0x00000206
    47f4:	200006a8 	.long	0x200006a8
    47f8:	0000ce40 	.long	0x0000ce40
    47fc:	200006a2 	.long	0x200006a2
    4800:	ffffd8f0 	.long	0xffffd8f0
    4804:	00006d60 	.long	0x00006d60
    4808:	200006d0 	.long	0x200006d0
    480c:	200006a4 	.long	0x200006a4
    4810:	00005cbf 	.long	0x00005cbf
    4814:	20000048 	.long	0x20000048
    4818:	00005cd7 	.long	0x00005cd7
    481c:	2000004c 	.long	0x2000004c

Disassembly of section .text.Set_PB_CurrMonitoring_Dead:

00004820 <Set_PB_CurrMonitoring_Dead>:

/*让PB触发电流失效一段时间*/
void Set_PB_CurrMonitoring_Dead(void){
	curr_monitoring.dead_switch = 0x01;
    4820:	1063      	lrw      	r3, 0x20000258	// 482c <Set_PB_CurrMonitoring_Dead+0xc>
    4822:	3201      	movi      	r2, 1
    4824:	a342      	st.b      	r2, (r3, 0x2)
	//根据时间
//	curr_monitoring.dead_time = time;
//	curr_monitoring.dead_tick = SysTick_1ms;
	
	//根据稳定
	curr_monitoring.release_debounce_cnt = 0;
    4826:	3200      	movi      	r2, 0
    4828:	a34e      	st.b      	r2, (r3, 0xe)
}
    482a:	783c      	jmp      	r15
    482c:	20000258 	.long	0x20000258

Disassembly of section .text.PowerBus_SendBuffer_Task:

00004830 <PowerBus_SendBuffer_Task>:
void PowerBus_SendBuffer_Task(void){
    4830:	14d1      	push      	r4, r15
    if(g_PB.sendWriteCnt != g_PB.sendReadCnt){
    4832:	107b      	lrw      	r3, 0x200002f0	// 489c <PowerBus_SendBuffer_Task+0x6c>
    4834:	3460      	movi      	r4, 96
    4836:	3280      	movi      	r2, 128
    4838:	610c      	addu      	r4, r3
    483a:	608c      	addu      	r2, r3
    483c:	841f      	ld.b      	r0, (r4, 0x1f)
    483e:	8240      	ld.b      	r2, (r2, 0x0)
    4840:	640a      	cmpne      	r2, r0
    4842:	0c21      	bf      	0x4884	// 4884 <PowerBus_SendBuffer_Task+0x54>
        if(SysTick_1ms - g_PB.send_tick >= POWERBUS_SEND_DELAY){
    4844:	1037      	lrw      	r1, 0x424	// 48a0 <PowerBus_SendBuffer_Task+0x70>
    4846:	1058      	lrw      	r2, 0x20000070	// 48a4 <PowerBus_SendBuffer_Task+0x74>
    4848:	604c      	addu      	r1, r3
    484a:	9120      	ld.w      	r1, (r1, 0x0)
    484c:	9240      	ld.w      	r2, (r2, 0x0)
    484e:	6086      	subu      	r2, r1
    4850:	3131      	movi      	r1, 49
    4852:	6484      	cmphs      	r1, r2
    4854:	0818      	bt      	0x4884	// 4884 <PowerBus_SendBuffer_Task+0x54>
            if(g_PB.sendCnt < g_PB.resendNum){
    4856:	1055      	lrw      	r2, 0x3a9	// 48a8 <PowerBus_SendBuffer_Task+0x78>
    4858:	608c      	addu      	r2, r3
    485a:	843e      	ld.b      	r1, (r4, 0x1e)
    485c:	8240      	ld.b      	r2, (r2, 0x0)
    485e:	6484      	cmphs      	r1, r2
    4860:	0813      	bt      	0x4886	// 4886 <PowerBus_SendBuffer_Task+0x56>
                send_rev = PowerBus_Data_Send(g_PB.sendbuffer[g_PB.sendReadCnt], g_PB.sendbufferlen[g_PB.sendReadCnt]);
    4862:	60c0      	addu      	r3, r0
    4864:	2380      	addi      	r3, 129
    4866:	8320      	ld.b      	r1, (r3, 0x0)
    4868:	3364      	movi      	r3, 100
    486a:	7c0c      	mult      	r0, r3
    486c:	1070      	lrw      	r3, 0x20000379	// 48ac <PowerBus_SendBuffer_Task+0x7c>
    486e:	600c      	addu      	r0, r3
    4870:	e3fff4ca 	bsr      	0x3204	// 3204 <PowerBus_Data_Send>
				if(send_rev != 0xFF){
    4874:	33ff      	movi      	r3, 255
    4876:	64c2      	cmpne      	r0, r3
    4878:	0c06      	bf      	0x4884	// 4884 <PowerBus_SendBuffer_Task+0x54>
					Set_PB_CurrMonitoring_Dead();
    487a:	e3ffffd3 	bsr      	0x4820	// 4820 <Set_PB_CurrMonitoring_Dead>
					g_PB.sendCnt++;
    487e:	847e      	ld.b      	r3, (r4, 0x1e)
    4880:	2300      	addi      	r3, 1
    4882:	a47e      	st.b      	r3, (r4, 0x1e)
}
    4884:	1491      	pop      	r4, r15
                g_PB.sendReadCnt++;
    4886:	2000      	addi      	r0, 1
    4888:	7400      	zextb      	r0, r0
                g_PB.sendCnt = 0;
    488a:	3300      	movi      	r3, 0
                if(g_PB.sendReadCnt >= PB_BUFFER_NUM){
    488c:	3807      	cmphsi      	r0, 8
                g_PB.sendCnt = 0;
    488e:	a47e      	st.b      	r3, (r4, 0x1e)
                if(g_PB.sendReadCnt >= PB_BUFFER_NUM){
    4890:	0803      	bt      	0x4896	// 4896 <PowerBus_SendBuffer_Task+0x66>
                g_PB.sendReadCnt++;
    4892:	a41f      	st.b      	r0, (r4, 0x1f)
    4894:	07f8      	br      	0x4884	// 4884 <PowerBus_SendBuffer_Task+0x54>
                    g_PB.sendReadCnt = 0;
    4896:	3300      	movi      	r3, 0
    4898:	a47f      	st.b      	r3, (r4, 0x1f)
    489a:	07f5      	br      	0x4884	// 4884 <PowerBus_SendBuffer_Task+0x54>
    489c:	200002f0 	.long	0x200002f0
    48a0:	00000424 	.long	0x00000424
    48a4:	20000070 	.long	0x20000070
    48a8:	000003a9 	.long	0x000003a9
    48ac:	20000379 	.long	0x20000379

Disassembly of section .text.PB_ACK_SET_CurrTiggleStrip:

000048b0 <PB_ACK_SET_CurrTiggleStrip>:
void PB_ACK_SET_CurrTiggleStrip(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    48b0:	14d4      	push      	r4-r7, r15
    48b2:	1421      	subi      	r14, r14, 4
	U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA;
    48b4:	8064      	ld.b      	r3, (r0, 0x4)
    48b6:	2b06      	subi      	r3, 7
void PB_ACK_SET_CurrTiggleStrip(U8_T *para,U8_T *ackPara,U16_T *ackLen){
    48b8:	6d43      	mov      	r5, r0
	U8_T para_len = para[PB_FMT_LEN] - PB_FMT_PARA;
    48ba:	74cc      	zextb      	r3, r3
	*ackLen = 1;
    48bc:	3001      	movi      	r0, 1
    48be:	aa00      	st.h      	r0, (r2, 0x0)
	if(para_len < 15) return ; 
    48c0:	3b0e      	cmphsi      	r3, 15
	ackPara[0] = PB_CMD_Reply_Succ;
    48c2:	3200      	movi      	r2, 0
    48c4:	a140      	st.b      	r2, (r1, 0x0)
	if(para_len < 15) return ; 
    48c6:	0c86      	bf      	0x49d2	// 49d2 <PB_ACK_SET_CurrTiggleStrip+0x122>
	if((curr_monitoring.fun_enable == 0x00) && (para[PB_FMT_PARA] == 0x01)){
    48c8:	1284      	lrw      	r4, 0x20000258	// 49d8 <PB_ACK_SET_CurrTiggleStrip+0x128>
    48ca:	8463      	ld.b      	r3, (r4, 0x3)
    48cc:	3b40      	cmpnei      	r3, 0
    48ce:	0806      	bt      	0x48da	// 48da <PB_ACK_SET_CurrTiggleStrip+0x2a>
    48d0:	8567      	ld.b      	r3, (r5, 0x7)
    48d2:	3b41      	cmpnei      	r3, 1
    48d4:	0803      	bt      	0x48da	// 48da <PB_ACK_SET_CurrTiggleStrip+0x2a>
		Set_PB_CurrMonitoring_Dead();
    48d6:	e3ffffa5 	bsr      	0x4820	// 4820 <Set_PB_CurrMonitoring_Dead>
	temp_para = temp_para * 10 * g_PB.meas_powerbus_volt / 1000;
    48da:	1261      	lrw      	r3, 0x200006a2	// 49dc <PB_ACK_SET_CurrTiggleStrip+0x12c>
    48dc:	8508      	ld.b      	r0, (r5, 0x8)
    48de:	8be0      	ld.h      	r7, (r3, 0x0)
    48e0:	330a      	movi      	r3, 10
	curr_monitoring.fun_enable = para[PB_FMT_PARA];					//使能状态
    48e2:	85c7      	ld.b      	r6, (r5, 0x7)
	temp_para = temp_para * 10 * g_PB.meas_powerbus_volt / 1000;
    48e4:	7c0c      	mult      	r0, r3
    48e6:	31fa      	movi      	r1, 250
    48e8:	4122      	lsli      	r1, r1, 2
	curr_monitoring.fun_enable = para[PB_FMT_PARA];					//使能状态
    48ea:	a4c3      	st.b      	r6, (r4, 0x3)
	temp_para = temp_para * 10 * g_PB.meas_powerbus_volt / 1000;
    48ec:	7c1c      	mult      	r0, r7
    48ee:	b860      	st.w      	r3, (r14, 0x0)
    48f0:	e3fff2a0 	bsr      	0x2e30	// 2e30 <__divsi3>
    48f4:	ac0a      	st.h      	r0, (r4, 0x14)
	curr_monitoring.trigger_debounce_num = para[PB_FMT_PARA + 2];		//触发消抖次数
    48f6:	8569      	ld.b      	r3, (r5, 0x9)
    48f8:	a46f      	st.b      	r3, (r4, 0xf)
	temp_para = temp_para * 10 * g_PB.meas_powerbus_volt / 1000;
    48fa:	850a      	ld.b      	r0, (r5, 0xa)
    48fc:	9860      	ld.w      	r3, (r14, 0x0)
    48fe:	7c0c      	mult      	r0, r3
    4900:	31fa      	movi      	r1, 250
    4902:	4122      	lsli      	r1, r1, 2
    4904:	7c1c      	mult      	r0, r7
    4906:	e3fff295 	bsr      	0x2e30	// 2e30 <__divsi3>
    490a:	ac0b      	st.h      	r0, (r4, 0x16)
	curr_monitoring.release_debounce_num = para[PB_FMT_PARA + 4];		//释放消抖次数
    490c:	856b      	ld.b      	r3, (r5, 0xb)
    490e:	a470      	st.b      	r3, (r4, 0x10)
	curr_monitoring.strip_relation = para[PB_FMT_PARA + 5];
    4910:	856c      	ld.b      	r3, (r5, 0xc)
    4912:	a464      	st.b      	r3, (r4, 0x4)
	curr_monitoring.strip_gradient_time = curr_monitoring.strip_gradient_time * 100;
    4914:	3264      	movi      	r2, 100
	curr_monitoring.strip_gradient_time = para[PB_FMT_PARA + 6];
    4916:	856d      	ld.b      	r3, (r5, 0xd)
	curr_monitoring.strip_gradient_time = curr_monitoring.strip_gradient_time * 100;
    4918:	7cc8      	mult      	r3, r2
    491a:	ac69      	st.h      	r3, (r4, 0x12)
	curr_monitoring.triggle_strip_bright[PWM_OUT_CH1] = para[PB_FMT_PARA + 7];
    491c:	856e      	ld.b      	r3, (r5, 0xe)
    491e:	a465      	st.b      	r3, (r4, 0x5)
	curr_monitoring.triggle_strip_bright[PWM_OUT_CH2] = para[PB_FMT_PARA + 8];
    4920:	856f      	ld.b      	r3, (r5, 0xf)
    4922:	a466      	st.b      	r3, (r4, 0x6)
	curr_monitoring.triggle_strip_bright[PWM_OUT_CH3] = para[PB_FMT_PARA + 9];
    4924:	8570      	ld.b      	r3, (r5, 0x10)
    4926:	a467      	st.b      	r3, (r4, 0x7)
	curr_monitoring.triggle_strip_bright[PWM_OUT_CH4] = para[PB_FMT_PARA + 10];
    4928:	8571      	ld.b      	r3, (r5, 0x11)
    492a:	a468      	st.b      	r3, (r4, 0x8)
	curr_monitoring.release_strip_bright[PWM_OUT_CH1] = para[PB_FMT_PARA + 11];
    492c:	8572      	ld.b      	r3, (r5, 0x12)
    492e:	a469      	st.b      	r3, (r4, 0x9)
	curr_monitoring.release_strip_bright[PWM_OUT_CH2] = para[PB_FMT_PARA + 12];
    4930:	8573      	ld.b      	r3, (r5, 0x13)
    4932:	a46a      	st.b      	r3, (r4, 0xa)
	curr_monitoring.release_strip_bright[PWM_OUT_CH3] = para[PB_FMT_PARA + 13];
    4934:	8574      	ld.b      	r3, (r5, 0x14)
    4936:	a46b      	st.b      	r3, (r4, 0xb)
	Dbg_Println(DBG_BIT_SYS_STATUS,"fun_enable %d",curr_monitoring.fun_enable);
    4938:	6c9b      	mov      	r2, r6
	curr_monitoring.release_strip_bright[PWM_OUT_CH4] = para[PB_FMT_PARA + 14];
    493a:	8575      	ld.b      	r3, (r5, 0x15)
	Dbg_Println(DBG_BIT_SYS_STATUS,"fun_enable %d",curr_monitoring.fun_enable);
    493c:	1129      	lrw      	r1, 0x5cef	// 49e0 <PB_ACK_SET_CurrTiggleStrip+0x130>
    493e:	3000      	movi      	r0, 0
	curr_monitoring.release_strip_bright[PWM_OUT_CH4] = para[PB_FMT_PARA + 14];
    4940:	a46c      	st.b      	r3, (r4, 0xc)
	Dbg_Println(DBG_BIT_SYS_STATUS,"fun_enable %d",curr_monitoring.fun_enable);
    4942:	e3fff333 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"trigger_threshold %dmW",curr_monitoring.trigger_threshold);
    4946:	8c4a      	ld.h      	r2, (r4, 0x14)
    4948:	1127      	lrw      	r1, 0x5cfd	// 49e4 <PB_ACK_SET_CurrTiggleStrip+0x134>
    494a:	3000      	movi      	r0, 0
    494c:	e3fff32e 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"trigger_debounce_num %d",curr_monitoring.trigger_debounce_num);
    4950:	844f      	ld.b      	r2, (r4, 0xf)
    4952:	1126      	lrw      	r1, 0x5d14	// 49e8 <PB_ACK_SET_CurrTiggleStrip+0x138>
    4954:	3000      	movi      	r0, 0
    4956:	e3fff329 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"release_threshold %dmW",curr_monitoring.release_threshold);
    495a:	8c4b      	ld.h      	r2, (r4, 0x16)
    495c:	1124      	lrw      	r1, 0x5d2c	// 49ec <PB_ACK_SET_CurrTiggleStrip+0x13c>
    495e:	3000      	movi      	r0, 0
    4960:	e3fff324 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"release_debounce_num %d",curr_monitoring.release_debounce_num);
    4964:	8450      	ld.b      	r2, (r4, 0x10)
    4966:	1123      	lrw      	r1, 0x5d43	// 49f0 <PB_ACK_SET_CurrTiggleStrip+0x140>
    4968:	3000      	movi      	r0, 0
    496a:	e3fff31f 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"strip_relation %d",curr_monitoring.strip_relation);
    496e:	8444      	ld.b      	r2, (r4, 0x4)
    4970:	1121      	lrw      	r1, 0x5d5b	// 49f4 <PB_ACK_SET_CurrTiggleStrip+0x144>
    4972:	3000      	movi      	r0, 0
    4974:	e3fff31a 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"strip_gradient_time %d",curr_monitoring.strip_gradient_time);
    4978:	8c49      	ld.h      	r2, (r4, 0x12)
    497a:	1120      	lrw      	r1, 0x5d6d	// 49f8 <PB_ACK_SET_CurrTiggleStrip+0x148>
    497c:	3000      	movi      	r0, 0
    497e:	e3fff315 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"triggle_strip_bright CH1 %d",curr_monitoring.triggle_strip_bright[PWM_OUT_CH1]);
    4982:	8445      	ld.b      	r2, (r4, 0x5)
    4984:	103e      	lrw      	r1, 0x5d84	// 49fc <PB_ACK_SET_CurrTiggleStrip+0x14c>
    4986:	3000      	movi      	r0, 0
    4988:	e3fff310 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"triggle_strip_bright CH2 %d",curr_monitoring.triggle_strip_bright[PWM_OUT_CH2]);
    498c:	8446      	ld.b      	r2, (r4, 0x6)
    498e:	103d      	lrw      	r1, 0x5da0	// 4a00 <PB_ACK_SET_CurrTiggleStrip+0x150>
    4990:	3000      	movi      	r0, 0
    4992:	e3fff30b 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"triggle_strip_bright CH3 %d",curr_monitoring.triggle_strip_bright[PWM_OUT_CH3]);
    4996:	8447      	ld.b      	r2, (r4, 0x7)
    4998:	103b      	lrw      	r1, 0x5dbc	// 4a04 <PB_ACK_SET_CurrTiggleStrip+0x154>
    499a:	3000      	movi      	r0, 0
    499c:	e3fff306 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"triggle_strip_bright CH4 %d",curr_monitoring.triggle_strip_bright[PWM_OUT_CH4]);
    49a0:	8448      	ld.b      	r2, (r4, 0x8)
    49a2:	103a      	lrw      	r1, 0x5dd8	// 4a08 <PB_ACK_SET_CurrTiggleStrip+0x158>
    49a4:	3000      	movi      	r0, 0
    49a6:	e3fff301 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"release_strip_bright CH1 %d",curr_monitoring.release_strip_bright[PWM_OUT_CH1]);
    49aa:	8449      	ld.b      	r2, (r4, 0x9)
    49ac:	1038      	lrw      	r1, 0x5df4	// 4a0c <PB_ACK_SET_CurrTiggleStrip+0x15c>
    49ae:	3000      	movi      	r0, 0
    49b0:	e3fff2fc 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"release_strip_bright CH2 %d",curr_monitoring.release_strip_bright[PWM_OUT_CH2]);
    49b4:	844a      	ld.b      	r2, (r4, 0xa)
    49b6:	1037      	lrw      	r1, 0x5e10	// 4a10 <PB_ACK_SET_CurrTiggleStrip+0x160>
    49b8:	3000      	movi      	r0, 0
    49ba:	e3fff2f7 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"release_strip_bright CH3 %d",curr_monitoring.release_strip_bright[PWM_OUT_CH3]);
    49be:	844b      	ld.b      	r2, (r4, 0xb)
    49c0:	1035      	lrw      	r1, 0x5e2c	// 4a14 <PB_ACK_SET_CurrTiggleStrip+0x164>
    49c2:	3000      	movi      	r0, 0
    49c4:	e3fff2f2 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"release_strip_bright CH4 %d",curr_monitoring.release_strip_bright[PWM_OUT_CH4]);
    49c8:	844c      	ld.b      	r2, (r4, 0xc)
    49ca:	1034      	lrw      	r1, 0x5e48	// 4a18 <PB_ACK_SET_CurrTiggleStrip+0x168>
    49cc:	3000      	movi      	r0, 0
    49ce:	e3fff2ed 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
}
    49d2:	1401      	addi      	r14, r14, 4
    49d4:	1494      	pop      	r4-r7, r15
    49d6:	0000      	bkpt
    49d8:	20000258 	.long	0x20000258
    49dc:	200006a2 	.long	0x200006a2
    49e0:	00005cef 	.long	0x00005cef
    49e4:	00005cfd 	.long	0x00005cfd
    49e8:	00005d14 	.long	0x00005d14
    49ec:	00005d2c 	.long	0x00005d2c
    49f0:	00005d43 	.long	0x00005d43
    49f4:	00005d5b 	.long	0x00005d5b
    49f8:	00005d6d 	.long	0x00005d6d
    49fc:	00005d84 	.long	0x00005d84
    4a00:	00005da0 	.long	0x00005da0
    4a04:	00005dbc 	.long	0x00005dbc
    4a08:	00005dd8 	.long	0x00005dd8
    4a0c:	00005df4 	.long	0x00005df4
    4a10:	00005e10 	.long	0x00005e10
    4a14:	00005e2c 	.long	0x00005e2c
    4a18:	00005e48 	.long	0x00005e48

Disassembly of section .text.BLV_PB_Control_Protocol_Processing:

00004a1c <BLV_PB_Control_Protocol_Processing>:
U8_T BLV_PB_Control_Protocol_Processing(U8_T *data,U16_T len){
    4a1c:	14d3      	push      	r4-r6, r15
	if(data[PB_FMT_ADDR_TX] != 0x00){
    4a1e:	8060      	ld.b      	r3, (r0, 0x0)
    4a20:	3b40      	cmpnei      	r3, 0
U8_T BLV_PB_Control_Protocol_Processing(U8_T *data,U16_T len){
    4a22:	6d03      	mov      	r4, r0
    4a24:	6d87      	mov      	r6, r1
	if(data[PB_FMT_ADDR_TX] != 0x00){
    4a26:	0c08      	bf      	0x4a36	// 4a36 <BLV_PB_Control_Protocol_Processing+0x1a>
		Dbg_Println(DBG_BIT_SYS_STATUS, "PB Tx Addr Error!");
    4a28:	0320      	lrw      	r1, 0x5e64	// 4ca4 <BLV_PB_Control_Protocol_Processing+0x288>
		Dbg_Println(DBG_BIT_SYS_STATUS, "PB Rx Addr Error!");
    4a2a:	3000      	movi      	r0, 0
    4a2c:	e3fff2be 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
		return 0x01;
    4a30:	3501      	movi      	r5, 1
}
    4a32:	6c17      	mov      	r0, r5
    4a34:	1493      	pop      	r4-r6, r15
	if(data[PB_FMT_ADDR_RX] != 0x01){
    4a36:	8063      	ld.b      	r3, (r0, 0x3)
    4a38:	3b41      	cmpnei      	r3, 1
    4a3a:	0c03      	bf      	0x4a40	// 4a40 <BLV_PB_Control_Protocol_Processing+0x24>
		Dbg_Println(DBG_BIT_SYS_STATUS, "PB Rx Addr Error!");
    4a3c:	0324      	lrw      	r1, 0x5e76	// 4ca8 <BLV_PB_Control_Protocol_Processing+0x28c>
    4a3e:	07f6      	br      	0x4a2a	// 4a2a <BLV_PB_Control_Protocol_Processing+0xe>
    if(PB_CheckSum(data,len) != 0x00){
    4a40:	e3fff420 	bsr      	0x3280	// 3280 <PB_CheckSum>
    4a44:	3840      	cmpnei      	r0, 0
    4a46:	6d43      	mov      	r5, r0
    4a48:	0c03      	bf      	0x4a4e	// 4a4e <BLV_PB_Control_Protocol_Processing+0x32>
        Dbg_Println(DBG_BIT_SYS_STATUS, "PB Check Fail!!!!");
    4a4a:	0326      	lrw      	r1, 0x5e88	// 4cac <BLV_PB_Control_Protocol_Processing+0x290>
    4a4c:	07ef      	br      	0x4a2a	// 4a2a <BLV_PB_Control_Protocol_Processing+0xe>
    if(data[PB_FMT_LEN] != len){
    4a4e:	8444      	ld.b      	r2, (r4, 0x4)
    4a50:	649a      	cmpne      	r6, r2
    4a52:	0c07      	bf      	0x4a60	// 4a60 <BLV_PB_Control_Protocol_Processing+0x44>
        Dbg_Println(DBG_BIT_SYS_STATUS, "PB Len Fail %d - %d!!!!",data[PB_FMT_LEN],len);
    4a54:	6cdb      	mov      	r3, r6
    4a56:	0328      	lrw      	r1, 0x5e9a	// 4cb0 <BLV_PB_Control_Protocol_Processing+0x294>
    4a58:	3000      	movi      	r0, 0
    4a5a:	e3fff2a7 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
    4a5e:	07e9      	br      	0x4a30	// 4a30 <BLV_PB_Control_Protocol_Processing+0x14>
	if(data[PB_FMT_DEV_TYPE] != PB_DEV_TYPE){
    4a60:	8442      	ld.b      	r2, (r4, 0x2)
    4a62:	3330      	movi      	r3, 48
    4a64:	64ca      	cmpne      	r2, r3
    4a66:	0c07      	bf      	0x4a74	// 4a74 <BLV_PB_Control_Protocol_Processing+0x58>
		Dbg_Println(DBG_BIT_SYS_STATUS, "PB TYPE Fail %d - %d!!!!",data[PB_FMT_DEV_TYPE],PB_DEV_TYPE);
    4a68:	032c      	lrw      	r1, 0x5eb2	// 4cb4 <BLV_PB_Control_Protocol_Processing+0x298>
    4a6a:	3000      	movi      	r0, 0
    4a6c:	e3fff29e 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
		return 0x02;
    4a70:	3502      	movi      	r5, 2
    4a72:	07e0      	br      	0x4a32	// 4a32 <BLV_PB_Control_Protocol_Processing+0x16>
	g_PB.recv_cmd = data[PB_FMT_CMD];
    4a74:	032e      	lrw      	r1, 0x200002f0	// 4cb8 <BLV_PB_Control_Protocol_Processing+0x29c>
    4a76:	8466      	ld.b      	r3, (r4, 0x6)
    4a78:	a178      	st.b      	r3, (r1, 0x18)
	if((data[PB_FMT_TYPE] & 0x0F) != g_PB.recv_sn){
    4a7a:	8461      	ld.b      	r3, (r4, 0x1)
    4a7c:	300f      	movi      	r0, 15
    4a7e:	8157      	ld.b      	r2, (r1, 0x17)
    4a80:	680c      	and      	r0, r3
    4a82:	640a      	cmpne      	r2, r0
    4a84:	6c87      	mov      	r2, r1
    4a86:	0d02      	bf      	0x4c8a	// 4c8a <BLV_PB_Control_Protocol_Processing+0x26e>
		g_PB.recv_sn = data[PB_FMT_TYPE] & 0x0F;
    4a88:	a117      	st.b      	r0, (r1, 0x17)
		g_PB.recv_addr = data[PB_FMT_ADDR_TX];
    4a8a:	8460      	ld.b      	r3, (r4, 0x0)
    4a8c:	a176      	st.b      	r3, (r1, 0x16)
		switch(data[PB_FMT_CMD]){
    4a8e:	8406      	ld.b      	r0, (r4, 0x6)
    4a90:	281f      	subi      	r0, 32
    4a92:	3333      	movi      	r3, 51
    4a94:	640c      	cmphs      	r3, r0
    4a96:	0fce      	bf      	0x4a32	// 4a32 <BLV_PB_Control_Protocol_Processing+0x16>
    4a98:	e3ffdb98 	bsr      	0x1c8	// 1c8 <___gnu_csky_case_shi>
    4a9c:	003a0034 	.long	0x003a0034
    4aa0:	00480042 	.long	0x00480042
    4aa4:	0054004e 	.long	0x0054004e
    4aa8:	0060005a 	.long	0x0060005a
    4aac:	006d0067 	.long	0x006d0067
    4ab0:	ffcb0073 	.long	0xffcb0073
    4ab4:	ffcbffcb 	.long	0xffcbffcb
    4ab8:	ffcbffcb 	.long	0xffcbffcb
    4abc:	007f0079 	.long	0x007f0079
    4ac0:	008b0085 	.long	0x008b0085
    4ac4:	00970091 	.long	0x00970091
    4ac8:	00a3009d 	.long	0x00a3009d
    4acc:	ffcbffcb 	.long	0xffcbffcb
    4ad0:	ffcbffcb 	.long	0xffcbffcb
    4ad4:	ffcbffcb 	.long	0xffcbffcb
    4ad8:	ffcbffcb 	.long	0xffcbffcb
    4adc:	00af00a9 	.long	0x00af00a9
    4ae0:	00bb00b5 	.long	0x00bb00b5
    4ae4:	00c700c1 	.long	0x00c700c1
    4ae8:	00d300cd 	.long	0x00d300cd
    4aec:	ffcb00d9 	.long	0xffcb00d9
    4af0:	ffcbffcb 	.long	0xffcbffcb
    4af4:	ffcbffcb 	.long	0xffcbffcb
    4af8:	ffcbffcb 	.long	0xffcbffcb
    4afc:	00e500df 	.long	0x00e500df
    4b00:	00f100eb 	.long	0x00f100eb
			PB_ACK_GET_STATE(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4b04:	134e      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4b06:	132f      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
			PB_ACK_GET_STATE(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4b08:	6c13      	mov      	r0, r4
    4b0a:	e3fffc5b 	bsr      	0x43c0	// 43c0 <PB_ACK_GET_STATE>
			break;
    4b0e:	0406      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_LED_BRIGHTNESS(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4b10:	134b      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4b12:	132c      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4b14:	6c13      	mov      	r0, r4
    4b16:	e3fff50d 	bsr      	0x3530	// 3530 <PB_ACK_SET_LED_BRIGHTNESS>
        PB_RS485_ReplyAck();
    4b1a:	e3fff4bb 	bsr      	0x3490	// 3490 <PB_RS485_ReplyAck>
    4b1e:	078a      	br      	0x4a32	// 4a32 <BLV_PB_Control_Protocol_Processing+0x16>
			PB_ACK_SET_STRIP_SWITCH(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4b20:	1347      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4b22:	1328      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4b24:	6c13      	mov      	r0, r4
    4b26:	e3fff551 	bsr      	0x35c8	// 35c8 <PB_ACK_SET_STRIP_SWITCH>
			break;
    4b2a:	07f8      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_STRIP_ADJUST(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4b2c:	1344      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4b2e:	1325      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4b30:	6c13      	mov      	r0, r4
    4b32:	e3fff58b 	bsr      	0x3648	// 3648 <PB_ACK_SET_STRIP_ADJUST>
			break;
    4b36:	07f2      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_PIRTIGGLE_LED(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4b38:	1341      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4b3a:	1322      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4b3c:	6c13      	mov      	r0, r4
    4b3e:	e3fff5b5 	bsr      	0x36a8	// 36a8 <PB_ACK_SET_PIRTIGGLE_LED>
			break;
    4b42:	07ec      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_CurrTiggleStrip(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4b44:	125e      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4b46:	123f      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4b48:	6c13      	mov      	r0, r4
    4b4a:	e3fffeb3 	bsr      	0x48b0	// 48b0 <PB_ACK_SET_CurrTiggleStrip>
			break;
    4b4e:	07e6      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_SaveCurrInfo(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4b50:	125b      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4b52:	123c      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4b54:	6c13      	mov      	r0, r4
    4b56:	e3fff5c5 	bsr      	0x36e0	// 36e0 <PB_ACK_SET_SaveCurrInfo>
			break;
    4b5a:	07e0      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
	*ackLen = 1;
    4b5c:	1278      	lrw      	r3, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4b5e:	3101      	movi      	r1, 1
    4b60:	ab20      	st.h      	r1, (r3, 0x0)
	ackPara[0] = g_PB.protect_curr;
    4b62:	8255      	ld.b      	r2, (r2, 0x15)
    4b64:	1277      	lrw      	r3, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4b66:	a340      	st.b      	r2, (r3, 0x0)
			break;
    4b68:	07d9      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_UniversPara(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4b6a:	1255      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4b6c:	1235      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4b6e:	6c13      	mov      	r0, r4
    4b70:	e3fff5ee 	bsr      	0x374c	// 374c <PB_ACK_SET_UniversPara>
			break;
    4b74:	07d3      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_PowerBus_EnablePara(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4b76:	1252      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4b78:	1232      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4b7a:	6c13      	mov      	r0, r4
    4b7c:	e3fff65c 	bsr      	0x3834	// 3834 <PB_ACK_SET_PowerBus_EnablePara>
			break;
    4b80:	07cd      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_PassThroug_Data(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4b82:	124f      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4b84:	122f      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4b86:	6c13      	mov      	r0, r4
    4b88:	e3fff680 	bsr      	0x3888	// 3888 <PB_ACK_PassThroug_Data>
			break;
    4b8c:	07c7      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_PB_LEDS_BRIGHTNESS(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4b8e:	124c      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4b90:	122c      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4b92:	6c13      	mov      	r0, r4
    4b94:	e3fff698 	bsr      	0x38c4	// 38c4 <PB_ACK_SET_PB_LEDS_BRIGHTNESS>
			break;
    4b98:	07c1      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_PB_LEDS_ADJUST(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4b9a:	1249      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4b9c:	1229      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4b9e:	6c13      	mov      	r0, r4
    4ba0:	e3fff6b2 	bsr      	0x3904	// 3904 <PB_ACK_SET_PB_LEDS_ADJUST>
			break;
    4ba4:	07bb      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_PB_LEDS_SWITCH(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4ba6:	1246      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4ba8:	1226      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4baa:	6c13      	mov      	r0, r4
    4bac:	e3fff6cc 	bsr      	0x3944	// 3944 <PB_ACK_SET_PB_LEDS_SWITCH>
			break;
    4bb0:	07b5      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_PB_LEDS_BRIGHT(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4bb2:	1243      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4bb4:	1223      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4bb6:	6c13      	mov      	r0, r4
    4bb8:	e3fff6e6 	bsr      	0x3984	// 3984 <PB_ACK_SET_PB_LEDS_BRIGHT>
			break;
    4bbc:	07af      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_PB_LED_SWITCH(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4bbe:	1240      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4bc0:	1220      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4bc2:	6c13      	mov      	r0, r4
    4bc4:	e3fff740 	bsr      	0x3a44	// 3a44 <PB_ACK_SET_PB_LED_SWITCH>
			break;
    4bc8:	07a9      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_PB_LED_BRIGHTNESS(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4bca:	115d      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4bcc:	113d      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4bce:	6c13      	mov      	r0, r4
    4bd0:	e3fff6fa 	bsr      	0x39c4	// 39c4 <PB_ACK_SET_PB_LED_BRIGHTNESS>
			break;
    4bd4:	07a3      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_PB_LED_Adjust(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4bd6:	115a      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4bd8:	113a      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4bda:	6c13      	mov      	r0, r4
    4bdc:	e3fff714 	bsr      	0x3a04	// 3a04 <PB_ACK_SET_PB_LED_Adjust>
			break;
    4be0:	079d      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_PB_ALLLED_Switch(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4be2:	1157      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4be4:	1137      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4be6:	6c13      	mov      	r0, r4
    4be8:	e3fff74e 	bsr      	0x3a84	// 3a84 <PB_ACK_SET_PB_ALLLED_Switch>
			break;
    4bec:	0797      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_PB_STRIPS_BRIGHTNESS(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4bee:	1154      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4bf0:	1134      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4bf2:	6c13      	mov      	r0, r4
    4bf4:	e3fff768 	bsr      	0x3ac4	// 3ac4 <PB_ACK_SET_PB_STRIPS_BRIGHTNESS>
			break;
    4bf8:	0791      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_PB_STRIPS_ADJUST(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4bfa:	1151      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4bfc:	1131      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4bfe:	6c13      	mov      	r0, r4
    4c00:	e3fff818 	bsr      	0x3c30	// 3c30 <PB_ACK_SET_PB_STRIPS_ADJUST>
			break;
    4c04:	078b      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_PB_STRIPS_SWITCH(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4c06:	114e      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4c08:	112e      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4c0a:	6c13      	mov      	r0, r4
    4c0c:	e3fff8b8 	bsr      	0x3d7c	// 3d7c <PB_ACK_SET_PB_STRIPS_SWITCH>
			break;
    4c10:	0785      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_PB_ALLSTRIP_Switch(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4c12:	114b      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4c14:	112b      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4c16:	6c13      	mov      	r0, r4
    4c18:	e3fffb04 	bsr      	0x4220	// 4220 <PB_ACK_SET_PB_ALLSTRIP_Switch>
			break;
    4c1c:	077f      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_PB_STRIP_SWITCH(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4c1e:	1148      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4c20:	1128      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4c22:	6c13      	mov      	r0, r4
    4c24:	e3fff9d2 	bsr      	0x3fc8	// 3fc8 <PB_ACK_SET_PB_STRIP_SWITCH>
			break;
    4c28:	0779      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_PB_STRIP_BRIGHTNESS(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4c2a:	1145      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4c2c:	1125      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4c2e:	6c13      	mov      	r0, r4
    4c30:	e3fff9ee 	bsr      	0x400c	// 400c <PB_ACK_SET_PB_STRIP_BRIGHTNESS>
			break;
    4c34:	0773      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_PB_STRIP_Adjust(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4c36:	1142      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4c38:	1122      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4c3a:	6c13      	mov      	r0, r4
    4c3c:	e3fffa08 	bsr      	0x404c	// 404c <PB_ACK_SET_PB_STRIP_Adjust>
			break;
    4c40:	076d      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_PB_STRIP_RELATIVE_GROUP_ADJUST(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4c42:	105f      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4c44:	103f      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4c46:	6c13      	mov      	r0, r4
    4c48:	e3fffa24 	bsr      	0x4090	// 4090 <PB_ACK_SET_PB_STRIP_RELATIVE_GROUP_ADJUST>
			break;
    4c4c:	0767      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_PB_STRIP_RELATIVE_ADJUST(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4c4e:	105c      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4c50:	103c      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4c52:	6c13      	mov      	r0, r4
    4c54:	e3fffac4 	bsr      	0x41dc	// 41dc <PB_ACK_SET_PB_STRIP_RELATIVE_ADJUST>
			break;
    4c58:	0761      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_PB_RELAYS_SWITCH(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4c5a:	1059      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4c5c:	1039      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4c5e:	6c13      	mov      	r0, r4
    4c60:	e3fffb02 	bsr      	0x4264	// 4264 <PB_ACK_SET_PB_RELAYS_SWITCH>
			break;
    4c64:	075b      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_PB_ALLRELAY_SWITCH(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4c66:	1056      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4c68:	1036      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4c6a:	6c13      	mov      	r0, r4
    4c6c:	e3fffb1e 	bsr      	0x42a8	// 42a8 <PB_ACK_SET_PB_ALLRELAY_SWITCH>
			break;
    4c70:	0755      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_PB_RELAY_SWITCH(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4c72:	1053      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4c74:	1033      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4c76:	6c13      	mov      	r0, r4
    4c78:	e3fffb3a 	bsr      	0x42ec	// 42ec <PB_ACK_SET_PB_RELAY_SWITCH>
			break;
    4c7c:	074f      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_SET_PB_RELAY_DELAY_SWITCH(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4c7e:	1050      	lrw      	r2, 0x2000069a	// 4cbc <BLV_PB_Control_Protocol_Processing+0x2a0>
    4c80:	1030      	lrw      	r1, 0x20000310	// 4cc0 <BLV_PB_Control_Protocol_Processing+0x2a4>
    4c82:	6c13      	mov      	r0, r4
    4c84:	e3fffb56 	bsr      	0x4330	// 4330 <PB_ACK_SET_PB_RELAY_DELAY_SWITCH>
			break;
    4c88:	0749      	br      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
	}else if((data[PB_FMT_TYPE] & 0x40) == 0x40){
    4c8a:	3240      	movi      	r2, 64
    4c8c:	68c8      	and      	r3, r2
    4c8e:	3b40      	cmpnei      	r3, 0
    4c90:	0ed1      	bf      	0x4a32	// 4a32 <BLV_PB_Control_Protocol_Processing+0x16>
		switch(data[PB_FMT_CMD]){
    4c92:	8446      	ld.b      	r2, (r4, 0x6)
    4c94:	3320      	movi      	r3, 32
    4c96:	64ca      	cmpne      	r2, r3
    4c98:	0b41      	bt      	0x4b1a	// 4b1a <BLV_PB_Control_Protocol_Processing+0xfe>
			PB_ACK_GET_STATE(data,&g_PB.ackbuff[PB_FMT_PARA],&g_PB.ackLen);
    4c9a:	104b      	lrw      	r2, 0x3aa	// 4cc4 <BLV_PB_Control_Protocol_Processing+0x2a8>
    4c9c:	6084      	addu      	r2, r1
    4c9e:	211f      	addi      	r1, 32
    4ca0:	0734      	br      	0x4b08	// 4b08 <BLV_PB_Control_Protocol_Processing+0xec>
    4ca2:	0000      	bkpt
    4ca4:	00005e64 	.long	0x00005e64
    4ca8:	00005e76 	.long	0x00005e76
    4cac:	00005e88 	.long	0x00005e88
    4cb0:	00005e9a 	.long	0x00005e9a
    4cb4:	00005eb2 	.long	0x00005eb2
    4cb8:	200002f0 	.long	0x200002f0
    4cbc:	2000069a 	.long	0x2000069a
    4cc0:	20000310 	.long	0x20000310
    4cc4:	000003aa 	.long	0x000003aa

Disassembly of section .text.PB_Task:

00004cc8 <PB_Task>:

void PB_Task(void){
    4cc8:	14d0      	push      	r15
    PB_Soft_Boot_Task();
    4cca:	e3fff1cd 	bsr      	0x3064	// 3064 <PB_Soft_Boot_Task>

    PB_Protect_Task();
    4cce:	e3fff2f7 	bsr      	0x32bc	// 32bc <PB_Protect_Task>

    PowerBus_SendBuffer_Task();
    4cd2:	e3fffdaf 	bsr      	0x4830	// 4830 <PowerBus_SendBuffer_Task>

    PMU_MEAS_Task();
    4cd6:	e3fffcad 	bsr      	0x4630	// 4630 <PMU_MEAS_Task>
}
    4cda:	1490      	pop      	r15

Disassembly of section .text.PWM_SetOutDuty:

00004cdc <PWM_SetOutDuty>:
 * @brief   设置PWM通道输出亮度
 * @para  	
 * 		index:		设置通道 	0~3
 * 		val:		输出值	 	PWM_OUT_VAL_MIN ~ PWM_OUT_VAL_MAX
 */
void PWM_SetOutDuty(U8_T index,U16_T val){
    4cdc:	14d0      	push      	r15
	U16_T temp_val = 0;
	if(val > PWM_OUT_VAL_MAX) return;
    4cde:	106a      	lrw      	r3, 0xbb8	// 4d04 <PWM_SetOutDuty+0x28>
    4ce0:	644c      	cmphs      	r3, r1
    4ce2:	0c0a      	bf      	0x4cf6	// 4cf6 <PWM_SetOutDuty+0x1a>
	
	//temp_val = PWM_OUT_VAL_MAX - val;	
	temp_val = val;
	switch(index){
    4ce4:	3803      	cmphsi      	r0, 4
    4ce6:	0808      	bt      	0x4cf6	// 4cf6 <PWM_SetOutDuty+0x1a>
    4ce8:	1068      	lrw      	r3, 0x20000020	// 4d08 <PWM_SetOutDuty+0x2c>
			break;
		case PWM_OUT_CH3:
			EPT0->CMPC=temp_val;
			break;
		case PWM_OUT_CH4:
			EPT0->CMPD=temp_val;
    4cea:	9360      	ld.w      	r3, (r3, 0x0)
	switch(index){
    4cec:	e3ffda64 	bsr      	0x1b4	// 1b4 <___gnu_csky_case_uqi>
    4cf0:	08060402 	.long	0x08060402
			EPT0->CMPA=temp_val;
    4cf4:	b32b      	st.w      	r1, (r3, 0x2c)
			break;
	}
}
    4cf6:	1490      	pop      	r15
			EPT0->CMPB=temp_val;
    4cf8:	b32c      	st.w      	r1, (r3, 0x30)
    4cfa:	07fe      	br      	0x4cf6	// 4cf6 <PWM_SetOutDuty+0x1a>
			EPT0->CMPC=temp_val;
    4cfc:	b32d      	st.w      	r1, (r3, 0x34)
    4cfe:	07fc      	br      	0x4cf6	// 4cf6 <PWM_SetOutDuty+0x1a>
			EPT0->CMPD=temp_val;
    4d00:	b32e      	st.w      	r1, (r3, 0x38)
    4d02:	07fa      	br      	0x4cf6	// 4cf6 <PWM_SetOutDuty+0x1a>
    4d04:	00000bb8 	.long	0x00000bb8
    4d08:	20000020 	.long	0x20000020

Disassembly of section .text.PWM_SetCHGradualTime:

00004d0c <PWM_SetCHGradualTime>:
 * @para  	
 * 		index:		设置通道 	0~3
 * 		val:		渐变时间 	单位：ms 
 */
void PWM_SetCHGradualTime(U8_T index, U16_T val){
	if(index >= PWM_OUT_CH_MAX) return ;
    4d0c:	3803      	cmphsi      	r0, 4
    4d0e:	0805      	bt      	0x4d18	// 4d18 <PWM_SetCHGradualTime+0xc>
	
	g_pwm.gradualTime[index] = val;
    4d10:	4001      	lsli      	r0, r0, 1
    4d12:	1063      	lrw      	r3, 0x20000740	// 4d1c <PWM_SetCHGradualTime+0x10>
    4d14:	600c      	addu      	r0, r3
    4d16:	a820      	st.h      	r1, (r0, 0x0)
}
    4d18:	783c      	jmp      	r15
    4d1a:	0000      	bkpt
    4d1c:	20000740 	.long	0x20000740

Disassembly of section .text.PWM_SetOutBrightness:

00004d20 <PWM_SetOutBrightness>:
 * @brief   设置PWM 通道输出亮度
 * @para  	
 * 		index:		设置通道 	0~3
 * 		brightness：设置亮度	0~100
 */
void PWM_SetOutBrightness(U8_T index, U8_T brightness){
    4d20:	14d4      	push      	r4-r7, r15
    4d22:	1421      	subi      	r14, r14, 4
	U32_T tempPwmVal = 0;
	
	if(brightness != 0x00){
    4d24:	3940      	cmpnei      	r1, 0
void PWM_SetOutBrightness(U8_T index, U8_T brightness){
    4d26:	6d03      	mov      	r4, r0
    4d28:	11b8      	lrw      	r5, 0x20000718	// 4e08 <PWM_SetOutBrightness+0xe8>
	if(brightness != 0x00){
    4d2a:	0c0a      	bf      	0x4d3e	// 4d3e <PWM_SetOutBrightness+0x1e>
		if(brightness >= g_pwm.allBrightnessUpLimit) {
    4d2c:	8562      	ld.b      	r3, (r5, 0x2)
    4d2e:	64c4      	cmphs      	r1, r3
    4d30:	082d      	bt      	0x4d8a	// 4d8a <PWM_SetOutBrightness+0x6a>
    4d32:	8543      	ld.b      	r2, (r5, 0x3)
    4d34:	6448      	cmphs      	r2, r1
    4d36:	6ccb      	mov      	r3, r2
    4d38:	0802      	bt      	0x4d3c	// 4d3c <PWM_SetOutBrightness+0x1c>
    4d3a:	6cc7      	mov      	r3, r1
    4d3c:	744c      	zextb      	r1, r3
		}else if(brightness <= g_pwm.allBrightnessDownLimit){
			brightness = g_pwm.allBrightnessDownLimit;
		}
	}
	
	g_pwm.irqEnable = FALSE;
    4d3e:	3300      	movi      	r3, 0
    4d40:	a560      	st.b      	r3, (r5, 0x0)
	
	g_pwmAutoAdj.enable[index] = FALSE;
    4d42:	3200      	movi      	r2, 0
    4d44:	1172      	lrw      	r3, 0x20000768	// 4e0c <PWM_SetOutBrightness+0xec>
    4d46:	60d0      	addu      	r3, r4
    4d48:	a340      	st.b      	r2, (r3, 0x0)
	g_pwm.controlFlag[index] = TRUE;
    4d4a:	5dd0      	addu      	r6, r5, r4
    4d4c:	3301      	movi      	r3, 1
    4d4e:	a66c      	st.b      	r3, (r6, 0xc)
	g_pwm.brightnessCurr[index] = brightness;
	//当前PWM值 = PWM调节最大值 * 全局亮度百分比 * 当前亮度百分比 * 开关状态
	tempPwmVal = ((PWM_OUT_VAL_MAX * g_pwm.allBrightness * g_pwm.brightnessCurr[index]) * g_pwm.switchState[index])/10000;
    4d50:	8501      	ld.b      	r0, (r5, 0x1)
    4d52:	1170      	lrw      	r3, 0xbb8	// 4e10 <PWM_SetOutBrightness+0xf0>
    4d54:	7c0c      	mult      	r0, r3
	g_pwm.brightnessCurr[index] = brightness;
    4d56:	a624      	st.b      	r1, (r6, 0x4)
	tempPwmVal = ((PWM_OUT_VAL_MAX * g_pwm.allBrightness * g_pwm.brightnessCurr[index]) * g_pwm.switchState[index])/10000;
    4d58:	7c40      	mult      	r1, r0
    4d5a:	8608      	ld.b      	r0, (r6, 0x8)
    4d5c:	7c04      	mult      	r0, r1
    4d5e:	112e      	lrw      	r1, 0x2710	// 4e14 <PWM_SetOutBrightness+0xf4>
    4d60:	e3fff068 	bsr      	0x2e30	// 2e30 <__divsi3>
	g_pwm.pwmValTarget[index] = tempPwmVal;
    4d64:	3310      	movi      	r3, 16
    4d66:	60d0      	addu      	r3, r4
    4d68:	4361      	lsli      	r3, r3, 1
	
	if(g_pwm.pwmValTarget[index] == g_pwm.pwmValCurr[index]){
    4d6a:	310c      	movi      	r1, 12
	g_pwm.pwmValTarget[index] = tempPwmVal;
    4d6c:	75c1      	zexth      	r7, r0
    4d6e:	60d4      	addu      	r3, r5
	if(g_pwm.pwmValTarget[index] == g_pwm.pwmValCurr[index]){
    4d70:	6050      	addu      	r1, r4
	g_pwm.pwmValTarget[index] = tempPwmVal;
    4d72:	abe0      	st.h      	r7, (r3, 0x0)
	if(g_pwm.pwmValTarget[index] == g_pwm.pwmValCurr[index]){
    4d74:	4161      	lsli      	r3, r1, 1
    4d76:	60d4      	addu      	r3, r5
    4d78:	8b40      	ld.h      	r2, (r3, 0x0)
    4d7a:	649e      	cmpne      	r7, r2
    4d7c:	0809      	bt      	0x4d8e	// 4d8e <PWM_SetOutBrightness+0x6e>
		g_pwm.addOrDecFlag[index] = PWMA_Nochange;
    4d7e:	3302      	movi      	r3, 2
    4d80:	a670      	st.b      	r3, (r6, 0x10)
			g_pwm.pwmStep[index] = g_pwm.pwmValCurr[index] - g_pwm.pwmValTarget[index];
		}
	}
	//Dbg_Println(DBG_BIT_SYS_STATUS,"PWM%d Step - %f",index,g_pwm.pwmStep[index]);
	
	g_pwm.irqEnable = TRUE;
    4d82:	3301      	movi      	r3, 1
    4d84:	a560      	st.b      	r3, (r5, 0x0)
}
    4d86:	1401      	addi      	r14, r14, 4
    4d88:	1494      	pop      	r4-r7, r15
    4d8a:	6c4f      	mov      	r1, r3
    4d8c:	07d9      	br      	0x4d3e	// 4d3e <PWM_SetOutBrightness+0x1e>
	}else if(g_pwm.pwmValTarget[index] > g_pwm.pwmValCurr[index]){
    4d8e:	65c8      	cmphs      	r2, r7
    4d90:	0823      	bt      	0x4dd6	// 4dd6 <PWM_SetOutBrightness+0xb6>
		if(g_pwm.gradualTime[index] != 0x00){
    4d92:	2413      	addi      	r4, 20
    4d94:	4481      	lsli      	r4, r4, 1
		g_pwm.addOrDecFlag[index] = PWMA_Ascending;
    4d96:	3301      	movi      	r3, 1
		if(g_pwm.gradualTime[index] != 0x00){
    4d98:	6114      	addu      	r4, r5
		g_pwm.addOrDecFlag[index] = PWMA_Ascending;
    4d9a:	a670      	st.b      	r3, (r6, 0x10)
    4d9c:	4010      	lsli      	r0, r0, 16
		if(g_pwm.gradualTime[index] != 0x00){
    4d9e:	8c60      	ld.h      	r3, (r4, 0x0)
			tempPwmVal = g_pwm.pwmValTarget[index] - g_pwm.pwmValCurr[index];
    4da0:	4810      	lsri      	r0, r0, 16
    4da2:	4182      	lsli      	r4, r1, 2
		if(g_pwm.gradualTime[index] != 0x00){
    4da4:	3b40      	cmpnei      	r3, 0
    4da6:	b860      	st.w      	r3, (r14, 0x0)
			g_pwm.pwmStep[index] = ((float)tempPwmVal*1.0 / g_pwm.gradualTime[index]);
    4da8:	6114      	addu      	r4, r5
			tempPwmVal = g_pwm.pwmValTarget[index] - g_pwm.pwmValCurr[index];
    4daa:	600a      	subu      	r0, r2
		if(g_pwm.gradualTime[index] != 0x00){
    4dac:	0c2a      	bf      	0x4e00	// 4e00 <PWM_SetOutBrightness+0xe0>
			g_pwm.pwmStep[index] = ((float)tempPwmVal*1.0 / g_pwm.gradualTime[index]);
    4dae:	e3ffdbaf 	bsr      	0x50c	// 50c <__floatunsisf>
    4db2:	e3ffdb9b 	bsr      	0x4e8	// 4e8 <__extendsfdf2>
    4db6:	9860      	ld.w      	r3, (r14, 0x0)
    4db8:	6dc3      	mov      	r7, r0
    4dba:	6c0f      	mov      	r0, r3
    4dbc:	6d87      	mov      	r6, r1
    4dbe:	e3ffdc81 	bsr      	0x6c0	// 6c0 <__floatsidf>
    4dc2:	6c83      	mov      	r2, r0
    4dc4:	6cc7      	mov      	r3, r1
    4dc6:	6c1f      	mov      	r0, r7
    4dc8:	6c5b      	mov      	r1, r6
    4dca:	e3ffdbd1 	bsr      	0x56c	// 56c <__divdf3>
    4dce:	e3ffdcc5 	bsr      	0x758	// 758 <__truncdfsf2>
			g_pwm.pwmStep[index] = g_pwm.pwmValCurr[index] - g_pwm.pwmValTarget[index];
    4dd2:	b400      	st.w      	r0, (r4, 0x0)
    4dd4:	07d7      	br      	0x4d82	// 4d82 <PWM_SetOutBrightness+0x62>
	}else if(g_pwm.pwmValTarget[index] < g_pwm.pwmValCurr[index]){
    4dd6:	649c      	cmphs      	r7, r2
    4dd8:	0bd5      	bt      	0x4d82	// 4d82 <PWM_SetOutBrightness+0x62>
		g_pwm.addOrDecFlag[index] = PWMA_Decreasing;
    4dda:	3300      	movi      	r3, 0
    4ddc:	a670      	st.b      	r3, (r6, 0x10)
		if(g_pwm.gradualTime[index] != 0x00){
    4dde:	6cd3      	mov      	r3, r4
    4de0:	2313      	addi      	r3, 20
    4de2:	4361      	lsli      	r3, r3, 1
    4de4:	60d4      	addu      	r3, r5
    4de6:	8b60      	ld.h      	r3, (r3, 0x0)
    4de8:	3b40      	cmpnei      	r3, 0
    4dea:	4182      	lsli      	r4, r1, 2
    4dec:	4010      	lsli      	r0, r0, 16
    4dee:	0c06      	bf      	0x4dfa	// 4dfa <PWM_SetOutBrightness+0xda>
			tempPwmVal = g_pwm.pwmValCurr[index] - g_pwm.pwmValTarget[index];
    4df0:	4810      	lsri      	r0, r0, 16
    4df2:	b860      	st.w      	r3, (r14, 0x0)
			g_pwm.pwmStep[index] = ((float)tempPwmVal*1.0 / g_pwm.gradualTime[index]);
    4df4:	6114      	addu      	r4, r5
			tempPwmVal = g_pwm.pwmValCurr[index] - g_pwm.pwmValTarget[index];
    4df6:	5a01      	subu      	r0, r2, r0
    4df8:	07db      	br      	0x4dae	// 4dae <PWM_SetOutBrightness+0x8e>
			g_pwm.pwmStep[index] = g_pwm.pwmValCurr[index] - g_pwm.pwmValTarget[index];
    4dfa:	4810      	lsri      	r0, r0, 16
    4dfc:	6114      	addu      	r4, r5
    4dfe:	5a01      	subu      	r0, r2, r0
    4e00:	e3ffdb18 	bsr      	0x430	// 430 <__floatsisf>
    4e04:	07e7      	br      	0x4dd2	// 4dd2 <PWM_SetOutBrightness+0xb2>
    4e06:	0000      	bkpt
    4e08:	20000718 	.long	0x20000718
    4e0c:	20000768 	.long	0x20000768
    4e10:	00000bb8 	.long	0x00000bb8
    4e14:	00002710 	.long	0x00002710

Disassembly of section .text.PWM_Init:

00004e18 <PWM_Init>:
void PWM_Init(void){
    4e18:	14d4      	push      	r4-r7, r15
	memset(&g_pwm,0,sizeof(PWM_CONTROL_T));
    4e1a:	128a      	lrw      	r4, 0x20000718	// 4f40 <PWM_Init+0x128>
    4e1c:	3250      	movi      	r2, 80
    4e1e:	3100      	movi      	r1, 0
    4e20:	6c13      	mov      	r0, r4
    4e22:	e3ffdee9 	bsr      	0xbf4	// bf4 <__memset_fast>
	g_pwm.allBrightness = g_eeprom.allBrightness;
    4e26:	12a8      	lrw      	r5, 0x200007a4	// 4f44 <PWM_Init+0x12c>
	memset(&g_pwmAutoAdj,0,sizeof(PWM_AUTO_ADJUST_T));
    4e28:	323c      	movi      	r2, 60
    4e2a:	3100      	movi      	r1, 0
    4e2c:	1207      	lrw      	r0, 0x20000768	// 4f48 <PWM_Init+0x130>
    4e2e:	e3ffdee3 	bsr      	0xbf4	// bf4 <__memset_fast>
	g_pwm.switchState[PWM_OUT_CH1] = g_eeprom.swithcState[PWM_OUT_CH1];
    4e32:	8565      	ld.b      	r3, (r5, 0x5)
    4e34:	a468      	st.b      	r3, (r4, 0x8)
	g_pwm.switchState[PWM_OUT_CH2] = g_eeprom.swithcState[PWM_OUT_CH2];
    4e36:	8566      	ld.b      	r3, (r5, 0x6)
    4e38:	a469      	st.b      	r3, (r4, 0x9)
	g_pwm.switchState[PWM_OUT_CH3] = g_eeprom.swithcState[PWM_OUT_CH3];
    4e3a:	8567      	ld.b      	r3, (r5, 0x7)
    4e3c:	a46a      	st.b      	r3, (r4, 0xa)
	g_pwm.switchState[PWM_OUT_CH4] = g_eeprom.swithcState[PWM_OUT_CH4];
    4e3e:	8568      	ld.b      	r3, (r5, 0x8)
    4e40:	a46b      	st.b      	r3, (r4, 0xb)
	g_pwm.gradualTime[PWM_OUT_CH1] = g_eeprom.gradialTime[PWM_OUT_CH1];
    4e42:	8d67      	ld.h      	r3, (r5, 0xe)
    4e44:	ac74      	st.h      	r3, (r4, 0x28)
	g_pwm.gradualTime[PWM_OUT_CH2] = g_eeprom.gradialTime[PWM_OUT_CH2];
    4e46:	8d68      	ld.h      	r3, (r5, 0x10)
    4e48:	ac75      	st.h      	r3, (r4, 0x2a)
	g_pwm.gradualTime[PWM_OUT_CH3] = g_eeprom.gradialTime[PWM_OUT_CH3];
    4e4a:	8d69      	ld.h      	r3, (r5, 0x12)
    4e4c:	ac76      	st.h      	r3, (r4, 0x2c)
	g_pwm.gradualTime[PWM_OUT_CH4] = g_eeprom.gradialTime[PWM_OUT_CH4];
    4e4e:	8d6a      	ld.h      	r3, (r5, 0x14)
    4e50:	ac77      	st.h      	r3, (r4, 0x2e)
	g_pwm.irqEnable = TRUE;
    4e52:	3301      	movi      	r3, 1
	g_pwm.allBrightness = g_eeprom.allBrightness;
    4e54:	85c2      	ld.b      	r6, (r5, 0x2)
	g_pwm.irqEnable = TRUE;
    4e56:	a460      	st.b      	r3, (r4, 0x0)
	temp_val = (U32_T)((PWM_OUT_VAL_MAX * g_pwm.allBrightness * g_pwm.allBrightnessUpLimit))/10000;
    4e58:	117d      	lrw      	r3, 0xbb8	// 4f4c <PWM_Init+0x134>
	g_pwm.allBrightnessUpLimit = g_eeprom.allBrightnessUpLimit;
    4e5a:	8503      	ld.b      	r0, (r5, 0x3)
    g_pwm.allBrightnessDownLimit = g_eeprom.allBrightnessDownLimit;
    4e5c:	85e4      	ld.b      	r7, (r5, 0x4)
	g_pwm.allBrightness = g_eeprom.allBrightness;
    4e5e:	a4c1      	st.b      	r6, (r4, 0x1)
	temp_val = (U32_T)((PWM_OUT_VAL_MAX * g_pwm.allBrightness * g_pwm.allBrightnessUpLimit))/10000;
    4e60:	7d8c      	mult      	r6, r3
	g_pwm.allBrightnessUpLimit = g_eeprom.allBrightnessUpLimit;
    4e62:	a402      	st.b      	r0, (r4, 0x2)
    g_pwm.allBrightnessDownLimit = g_eeprom.allBrightnessDownLimit;
    4e64:	a4e3      	st.b      	r7, (r4, 0x3)
	temp_val = (U32_T)((PWM_OUT_VAL_MAX * g_pwm.allBrightness * g_pwm.allBrightnessUpLimit))/10000;
    4e66:	7c18      	mult      	r0, r6
    4e68:	113a      	lrw      	r1, 0x2710	// 4f50 <PWM_Init+0x138>
    4e6a:	e3ffeff5 	bsr      	0x2e54	// 2e54 <__udivsi3>
	g_pwm.allPwmUpLimit = temp_val;
    4e6e:	ac0a      	st.h      	r0, (r4, 0x14)
	temp_val = (U32_T)((PWM_OUT_VAL_MAX * g_pwm.allBrightness * g_pwm.allBrightnessDownLimit))/10000;
    4e70:	6c1f      	mov      	r0, r7
    4e72:	7c18      	mult      	r0, r6
    4e74:	1137      	lrw      	r1, 0x2710	// 4f50 <PWM_Init+0x138>
    4e76:	e3ffefef 	bsr      	0x2e54	// 2e54 <__udivsi3>
	g_pwm.allPwmDownLimit = temp_val;
    4e7a:	ac0b      	st.h      	r0, (r4, 0x16)
	PWM_SetOutBrightness(PWM_OUT_CH1,g_eeprom.brightness[PWM_OUT_CH1]);
    4e7c:	8529      	ld.b      	r1, (r5, 0x9)
    4e7e:	3000      	movi      	r0, 0
    4e80:	e3ffff50 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
	PWM_SetOutBrightness(PWM_OUT_CH2,g_eeprom.brightness[PWM_OUT_CH2]);
    4e84:	852a      	ld.b      	r1, (r5, 0xa)
    4e86:	3001      	movi      	r0, 1
    4e88:	e3ffff4c 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
	PWM_SetOutBrightness(PWM_OUT_CH3,g_eeprom.brightness[PWM_OUT_CH3]);
    4e8c:	852b      	ld.b      	r1, (r5, 0xb)
    4e8e:	3002      	movi      	r0, 2
    4e90:	e3ffff48 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
	Dbg_Println(DBG_BIT_SYS_STATUS,"allBrightness %d",g_pwm.allBrightness);
    4e94:	11d0      	lrw      	r6, 0x6055	// 4f54 <PWM_Init+0x13c>
	PWM_SetOutBrightness(PWM_OUT_CH4,g_eeprom.brightness[PWM_OUT_CH4]);
    4e96:	852c      	ld.b      	r1, (r5, 0xc)
    4e98:	3003      	movi      	r0, 3
    4e9a:	e3ffff43 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
	Dbg_Println(DBG_BIT_SYS_STATUS,"allBrightness %d",g_pwm.allBrightness);
    4e9e:	8441      	ld.b      	r2, (r4, 0x1)
    4ea0:	6c5b      	mov      	r1, r6
    4ea2:	3000      	movi      	r0, 0
    4ea4:	e3fff082 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"allBrightnessUpLimit %d",g_pwm.allBrightnessUpLimit);
    4ea8:	8442      	ld.b      	r2, (r4, 0x2)
    4eaa:	112c      	lrw      	r1, 0x6070	// 4f58 <PWM_Init+0x140>
    4eac:	3000      	movi      	r0, 0
    4eae:	e3fff07d 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"allBrightnessDownLimit %d",g_pwm.allBrightnessDownLimit);
    4eb2:	8443      	ld.b      	r2, (r4, 0x3)
    4eb4:	112a      	lrw      	r1, 0x6092	// 4f5c <PWM_Init+0x144>
    4eb6:	3000      	movi      	r0, 0
    4eb8:	e3fff078 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"allBrightness %d",g_pwm.allBrightness);
    4ebc:	8441      	ld.b      	r2, (r4, 0x1)
    4ebe:	6c5b      	mov      	r1, r6
    4ec0:	3000      	movi      	r0, 0
    4ec2:	e3fff073 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"switchState[PWM_OUT_CH1] %d",g_pwm.switchState[PWM_OUT_CH1]);
    4ec6:	8448      	ld.b      	r2, (r4, 0x8)
    4ec8:	1126      	lrw      	r1, 0x5ecb	// 4f60 <PWM_Init+0x148>
    4eca:	3000      	movi      	r0, 0
    4ecc:	e3fff06e 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"switchState[PWM_OUT_CH2] %d",g_pwm.switchState[PWM_OUT_CH2]);
    4ed0:	8449      	ld.b      	r2, (r4, 0x9)
    4ed2:	1125      	lrw      	r1, 0x5ee7	// 4f64 <PWM_Init+0x14c>
    4ed4:	3000      	movi      	r0, 0
    4ed6:	e3fff069 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"switchState[PWM_OUT_CH3] %d",g_pwm.switchState[PWM_OUT_CH3]);
    4eda:	844a      	ld.b      	r2, (r4, 0xa)
    4edc:	1123      	lrw      	r1, 0x5f03	// 4f68 <PWM_Init+0x150>
    4ede:	3000      	movi      	r0, 0
    4ee0:	e3fff064 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"switchState[PWM_OUT_CH4] %d",g_pwm.switchState[PWM_OUT_CH4]);
    4ee4:	844b      	ld.b      	r2, (r4, 0xb)
    4ee6:	1122      	lrw      	r1, 0x5f1f	// 4f6c <PWM_Init+0x154>
    4ee8:	3000      	movi      	r0, 0
    4eea:	e3fff05f 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"gradualTime[PWM_OUT_CH1] %d",g_pwm.gradualTime[PWM_OUT_CH1]);
    4eee:	8c54      	ld.h      	r2, (r4, 0x28)
    4ef0:	1120      	lrw      	r1, 0x5f3b	// 4f70 <PWM_Init+0x158>
    4ef2:	3000      	movi      	r0, 0
    4ef4:	e3fff05a 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"gradualTime[PWM_OUT_CH2] %d",g_pwm.gradualTime[PWM_OUT_CH2]);
    4ef8:	8c55      	ld.h      	r2, (r4, 0x2a)
    4efa:	103f      	lrw      	r1, 0x5f57	// 4f74 <PWM_Init+0x15c>
    4efc:	3000      	movi      	r0, 0
    4efe:	e3fff055 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"gradualTime[PWM_OUT_CH3] %d",g_pwm.gradualTime[PWM_OUT_CH3]);
    4f02:	8c56      	ld.h      	r2, (r4, 0x2c)
    4f04:	103d      	lrw      	r1, 0x5f73	// 4f78 <PWM_Init+0x160>
    4f06:	3000      	movi      	r0, 0
    4f08:	e3fff050 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"gradualTime[PWM_OUT_CH4] %d",g_pwm.gradualTime[PWM_OUT_CH4]);
    4f0c:	8c57      	ld.h      	r2, (r4, 0x2e)
    4f0e:	103c      	lrw      	r1, 0x5f8f	// 4f7c <PWM_Init+0x164>
    4f10:	3000      	movi      	r0, 0
    4f12:	e3fff04b 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"brightness[PWM_OUT_CH1] %d",g_eeprom.brightness[PWM_OUT_CH1]);
    4f16:	8549      	ld.b      	r2, (r5, 0x9)
    4f18:	103a      	lrw      	r1, 0x5fab	// 4f80 <PWM_Init+0x168>
    4f1a:	3000      	movi      	r0, 0
    4f1c:	e3fff046 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"brightness[PWM_OUT_CH2] %d",g_eeprom.brightness[PWM_OUT_CH2]);
    4f20:	854a      	ld.b      	r2, (r5, 0xa)
    4f22:	1039      	lrw      	r1, 0x5fc6	// 4f84 <PWM_Init+0x16c>
    4f24:	3000      	movi      	r0, 0
    4f26:	e3fff041 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"brightness[PWM_OUT_CH3] %d",g_eeprom.brightness[PWM_OUT_CH3]);
    4f2a:	854b      	ld.b      	r2, (r5, 0xb)
    4f2c:	1037      	lrw      	r1, 0x5fe1	// 4f88 <PWM_Init+0x170>
    4f2e:	3000      	movi      	r0, 0
    4f30:	e3fff03c 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"brightness[PWM_OUT_CH4] %d",g_eeprom.brightness[PWM_OUT_CH4]);
    4f34:	854c      	ld.b      	r2, (r5, 0xc)
    4f36:	1036      	lrw      	r1, 0x5ffc	// 4f8c <PWM_Init+0x174>
    4f38:	3000      	movi      	r0, 0
    4f3a:	e3fff037 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
}
    4f3e:	1494      	pop      	r4-r7, r15
    4f40:	20000718 	.long	0x20000718
    4f44:	200007a4 	.long	0x200007a4
    4f48:	20000768 	.long	0x20000768
    4f4c:	00000bb8 	.long	0x00000bb8
    4f50:	00002710 	.long	0x00002710
    4f54:	00006055 	.long	0x00006055
    4f58:	00006070 	.long	0x00006070
    4f5c:	00006092 	.long	0x00006092
    4f60:	00005ecb 	.long	0x00005ecb
    4f64:	00005ee7 	.long	0x00005ee7
    4f68:	00005f03 	.long	0x00005f03
    4f6c:	00005f1f 	.long	0x00005f1f
    4f70:	00005f3b 	.long	0x00005f3b
    4f74:	00005f57 	.long	0x00005f57
    4f78:	00005f73 	.long	0x00005f73
    4f7c:	00005f8f 	.long	0x00005f8f
    4f80:	00005fab 	.long	0x00005fab
    4f84:	00005fc6 	.long	0x00005fc6
    4f88:	00005fe1 	.long	0x00005fe1
    4f8c:	00005ffc 	.long	0x00005ffc

Disassembly of section .text.PWM_SetUpLimitVal:

00004f90 <PWM_SetUpLimitVal>:
{
    4f90:	14d1      	push      	r4, r15
    g_pwm.allBrightnessUpLimit = val;
    4f92:	108e      	lrw      	r4, 0x20000718	// 4fc8 <PWM_SetUpLimitVal+0x38>
	temp_val = (U32_T)((PWM_OUT_VAL_MAX * g_pwm.allBrightness * g_pwm.allBrightnessUpLimit))/10000;
    4f94:	104e      	lrw      	r2, 0xbb8	// 4fcc <PWM_SetUpLimitVal+0x3c>
    4f96:	8461      	ld.b      	r3, (r4, 0x1)
    4f98:	7cc8      	mult      	r3, r2
    g_pwm.allBrightnessUpLimit = val;
    4f9a:	a402      	st.b      	r0, (r4, 0x2)
	temp_val = (U32_T)((PWM_OUT_VAL_MAX * g_pwm.allBrightness * g_pwm.allBrightnessUpLimit))/10000;
    4f9c:	102d      	lrw      	r1, 0x2710	// 4fd0 <PWM_SetUpLimitVal+0x40>
    4f9e:	7c0c      	mult      	r0, r3
    4fa0:	e3ffef5a 	bsr      	0x2e54	// 2e54 <__udivsi3>
    g_pwm.allPwmUpLimit = temp_val;
    4fa4:	ac0a      	st.h      	r0, (r4, 0x14)
    PWM_SetOutBrightness(PWM_OUT_CH1, g_pwm.brightnessCurr[PWM_OUT_CH1]);
    4fa6:	8424      	ld.b      	r1, (r4, 0x4)
    4fa8:	3000      	movi      	r0, 0
    4faa:	e3fffebb 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
    PWM_SetOutBrightness(PWM_OUT_CH2, g_pwm.brightnessCurr[PWM_OUT_CH2]);
    4fae:	8425      	ld.b      	r1, (r4, 0x5)
    4fb0:	3001      	movi      	r0, 1
    4fb2:	e3fffeb7 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
    PWM_SetOutBrightness(PWM_OUT_CH3, g_pwm.brightnessCurr[PWM_OUT_CH3]);
    4fb6:	8426      	ld.b      	r1, (r4, 0x6)
    4fb8:	3002      	movi      	r0, 2
    4fba:	e3fffeb3 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
    PWM_SetOutBrightness(PWM_OUT_CH4, g_pwm.brightnessCurr[PWM_OUT_CH4]);
    4fbe:	8427      	ld.b      	r1, (r4, 0x7)
    4fc0:	3003      	movi      	r0, 3
    4fc2:	e3fffeaf 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
}
    4fc6:	1491      	pop      	r4, r15
    4fc8:	20000718 	.long	0x20000718
    4fcc:	00000bb8 	.long	0x00000bb8
    4fd0:	00002710 	.long	0x00002710

Disassembly of section .text.PWM_SetDownLimitVal:

00004fd4 <PWM_SetDownLimitVal>:
{
    4fd4:	14d1      	push      	r4, r15
    g_pwm.allBrightnessDownLimit = val;
    4fd6:	108e      	lrw      	r4, 0x20000718	// 500c <PWM_SetDownLimitVal+0x38>
	temp_val = (U32_T)((PWM_OUT_VAL_MAX * g_pwm.allBrightness * g_pwm.allBrightnessDownLimit))/10000;
    4fd8:	104e      	lrw      	r2, 0xbb8	// 5010 <PWM_SetDownLimitVal+0x3c>
    4fda:	8461      	ld.b      	r3, (r4, 0x1)
    4fdc:	7cc8      	mult      	r3, r2
    g_pwm.allBrightnessDownLimit = val;
    4fde:	a403      	st.b      	r0, (r4, 0x3)
	temp_val = (U32_T)((PWM_OUT_VAL_MAX * g_pwm.allBrightness * g_pwm.allBrightnessDownLimit))/10000;
    4fe0:	102d      	lrw      	r1, 0x2710	// 5014 <PWM_SetDownLimitVal+0x40>
    4fe2:	7c0c      	mult      	r0, r3
    4fe4:	e3ffef38 	bsr      	0x2e54	// 2e54 <__udivsi3>
    g_pwm.allPwmDownLimit = temp_val;
    4fe8:	ac0b      	st.h      	r0, (r4, 0x16)
    PWM_SetOutBrightness(PWM_OUT_CH1, g_pwm.brightnessCurr[PWM_OUT_CH1]);
    4fea:	8424      	ld.b      	r1, (r4, 0x4)
    4fec:	3000      	movi      	r0, 0
    4fee:	e3fffe99 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
    PWM_SetOutBrightness(PWM_OUT_CH2, g_pwm.brightnessCurr[PWM_OUT_CH2]);
    4ff2:	8425      	ld.b      	r1, (r4, 0x5)
    4ff4:	3001      	movi      	r0, 1
    4ff6:	e3fffe95 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
    PWM_SetOutBrightness(PWM_OUT_CH3, g_pwm.brightnessCurr[PWM_OUT_CH3]);
    4ffa:	8426      	ld.b      	r1, (r4, 0x6)
    4ffc:	3002      	movi      	r0, 2
    4ffe:	e3fffe91 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
    PWM_SetOutBrightness(PWM_OUT_CH4, g_pwm.brightnessCurr[PWM_OUT_CH4]);
    5002:	8427      	ld.b      	r1, (r4, 0x7)
    5004:	3003      	movi      	r0, 3
    5006:	e3fffe8d 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
}
    500a:	1491      	pop      	r4, r15
    500c:	20000718 	.long	0x20000718
    5010:	00000bb8 	.long	0x00000bb8
    5014:	00002710 	.long	0x00002710

Disassembly of section .text.Pwm_SetOnOffState:

00005018 <Pwm_SetOnOffState>:
{
    5018:	14d0      	push      	r15
	if(index >= PWM_OUT_CH_MAX) return ;
    501a:	3803      	cmphsi      	r0, 4
    501c:	0807      	bt      	0x502a	// 502a <Pwm_SetOnOffState+0x12>
    g_pwm.switchState[index] = state;
    501e:	1064      	lrw      	r3, 0x20000718	// 502c <Pwm_SetOnOffState+0x14>
    5020:	60c0      	addu      	r3, r0
    5022:	a328      	st.b      	r1, (r3, 0x8)
    PWM_SetOutBrightness(index, g_pwm.brightnessCurr[index]);
    5024:	8324      	ld.b      	r1, (r3, 0x4)
    5026:	e3fffe7d 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
}
    502a:	1490      	pop      	r15
    502c:	20000718 	.long	0x20000718

Disassembly of section .text.Pwm_SetAllBrightness:

00005030 <Pwm_SetAllBrightness>:
{
    5030:	14d1      	push      	r4, r15
    g_pwm.allBrightness = val;
    5032:	108a      	lrw      	r4, 0x20000718	// 5058 <Pwm_SetAllBrightness+0x28>
    PWM_SetOutBrightness(PWM_OUT_CH1, g_pwm.brightnessCurr[PWM_OUT_CH1]);
    5034:	8424      	ld.b      	r1, (r4, 0x4)
    g_pwm.allBrightness = val;
    5036:	a401      	st.b      	r0, (r4, 0x1)
    PWM_SetOutBrightness(PWM_OUT_CH1, g_pwm.brightnessCurr[PWM_OUT_CH1]);
    5038:	3000      	movi      	r0, 0
    503a:	e3fffe73 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
    PWM_SetOutBrightness(PWM_OUT_CH2, g_pwm.brightnessCurr[PWM_OUT_CH2]);
    503e:	8425      	ld.b      	r1, (r4, 0x5)
    5040:	3001      	movi      	r0, 1
    5042:	e3fffe6f 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
    PWM_SetOutBrightness(PWM_OUT_CH3, g_pwm.brightnessCurr[PWM_OUT_CH3]);
    5046:	8426      	ld.b      	r1, (r4, 0x6)
    5048:	3002      	movi      	r0, 2
    504a:	e3fffe6b 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
    PWM_SetOutBrightness(PWM_OUT_CH4, g_pwm.brightnessCurr[PWM_OUT_CH4]);
    504e:	8427      	ld.b      	r1, (r4, 0x7)
    5050:	3003      	movi      	r0, 3
    5052:	e3fffe67 	bsr      	0x4d20	// 4d20 <PWM_SetOutBrightness>
}
    5056:	1491      	pop      	r4, r15
    5058:	20000718 	.long	0x20000718

Disassembly of section .text.PWM_SetAutoAdjust:

0000505c <PWM_SetAutoAdjust>:
 * 		index:	设置通道 		0~3
 * 		mode：	自动调光模式 	0x00:调节到顶端停止	0x01:循环调节	0x02:停止调节
 * 		adj：	调节方向		0x00:递减	0x01:递增	0x02:与上次命令相反
 * 		adj_time：调节时间		亮度0~100的调节时间，单位：ms
 */
void PWM_SetAutoAdjust(U8_T index,U8_T mode,U8_T adj,U16_T adj_time){
    505c:	14d4      	push      	r4-r7, r15
    505e:	1423      	subi      	r14, r14, 12
    5060:	6d03      	mov      	r4, r0
	g_pwm.irqEnable = FALSE;
    5062:	11a8      	lrw      	r5, 0x20000718	// 5100 <PWM_SetAutoAdjust+0xa4>
    5064:	3000      	movi      	r0, 0
    5066:	a500      	st.b      	r0, (r5, 0x0)
	g_pwmAutoAdj.enable[index] = TRUE;
    5068:	3701      	movi      	r7, 1
    506a:	1107      	lrw      	r0, 0x20000768	// 5104 <PWM_SetAutoAdjust+0xa8>
    506c:	58d0      	addu      	r6, r0, r4
	
	if(mode == 0x02){
    506e:	3942      	cmpnei      	r1, 2
	g_pwmAutoAdj.enable[index] = TRUE;
    5070:	a6e0      	st.b      	r7, (r6, 0x0)
    5072:	b800      	st.w      	r0, (r14, 0x0)
	if(mode == 0x02){
    5074:	0839      	bt      	0x50e6	// 50e6 <PWM_SetAutoAdjust+0x8a>
		g_pwmAutoAdj.enable[index] = FALSE;		//停止自动调节
		
		g_pwm.brightnessCurr[index] = (g_pwm.pwmValCurr[index] * 100)  / PWM_OUT_VAL_MAX;		//同步一下当前亮度
    5076:	370c      	movi      	r7, 12
    5078:	61d0      	addu      	r7, r4
    507a:	47e1      	lsli      	r7, r7, 1
    507c:	b862      	st.w      	r3, (r14, 0x8)
    507e:	61d4      	addu      	r7, r5
		g_pwmAutoAdj.enable[index] = FALSE;		//停止自动调节
    5080:	3300      	movi      	r3, 0
    5082:	a660      	st.b      	r3, (r6, 0x0)
		g_pwm.brightnessCurr[index] = (g_pwm.pwmValCurr[index] * 100)  / PWM_OUT_VAL_MAX;		//同步一下当前亮度
    5084:	311e      	movi      	r1, 30
    5086:	8f00      	ld.h      	r0, (r7, 0x0)
    5088:	b841      	st.w      	r2, (r14, 0x4)
    508a:	e3ffeed3 	bsr      	0x2e30	// 2e30 <__divsi3>
    508e:	5d30      	addu      	r1, r5, r4
    5090:	a104      	st.b      	r0, (r1, 0x4)
		
		if(g_pwm.switchState[index] == 0x00){
    5092:	8108      	ld.b      	r0, (r1, 0x8)
    5094:	3840      	cmpnei      	r0, 0
    5096:	9841      	ld.w      	r2, (r14, 0x4)
    5098:	9862      	ld.w      	r3, (r14, 0x8)
    509a:	0808      	bt      	0x50aa	// 50aa <PWM_SetAutoAdjust+0x4e>
			//如果当前回路状态为关，当前输出PWM也应为0
			g_pwm.pwmValCurr[index] = 0;
    509c:	3100      	movi      	r1, 0
    509e:	af20      	st.h      	r1, (r7, 0x0)
			g_pwm.pwmFloatValCurr[index] = 0;
    50a0:	3110      	movi      	r1, 16
    50a2:	6050      	addu      	r1, r4
    50a4:	4122      	lsli      	r1, r1, 2
    50a6:	6054      	addu      	r1, r5
    50a8:	b100      	st.w      	r0, (r1, 0x0)
		}
	}else{
		g_pwmAutoAdj.adjMode[index] = mode;
	}
	
	if(adj == 0x02){
    50aa:	3a42      	cmpnei      	r2, 2
    50ac:	081f      	bt      	0x50ea	// 50ea <PWM_SetAutoAdjust+0x8e>
		if(g_pwmAutoAdj.adjDir[index] == 0x01){
    50ae:	8648      	ld.b      	r2, (r6, 0x8)
			g_pwmAutoAdj.adjDir[index] = 0x00;
    50b0:	3a41      	cmpnei      	r2, 1
    50b2:	3200      	movi      	r2, 0
    50b4:	6089      	addc      	r2, r2
    50b6:	2402      	addi      	r4, 3
		g_pwmAutoAdj.adjDir[index] = adj;
	}else{
		g_pwmAutoAdj.adjDir[index] = 0x00;
	}
	
	if(adj_time != 0x00){
    50b8:	3b40      	cmpnei      	r3, 0
		g_pwmAutoAdj.adjDir[index] = 0x00;
    50ba:	a648      	st.b      	r2, (r6, 0x8)
		g_pwmAutoAdj.pwmStep[index] = (float)(PWM_OUT_VAL_MAX*1.0 / adj_time);
    50bc:	4482      	lsli      	r4, r4, 2
	if(adj_time != 0x00){
    50be:	0c1a      	bf      	0x50f2	// 50f2 <PWM_SetAutoAdjust+0x96>
		g_pwmAutoAdj.pwmStep[index] = (float)(PWM_OUT_VAL_MAX*1.0 / adj_time);
    50c0:	9840      	ld.w      	r2, (r14, 0x0)
    50c2:	6090      	addu      	r2, r4
    50c4:	6c0f      	mov      	r0, r3
    50c6:	6d0b      	mov      	r4, r2
    50c8:	e3ffdafc 	bsr      	0x6c0	// 6c0 <__floatsidf>
    50cc:	6c83      	mov      	r2, r0
    50ce:	6cc7      	mov      	r3, r1
    50d0:	3000      	movi      	r0, 0
    50d2:	102e      	lrw      	r1, 0x40a77000	// 5108 <PWM_SetAutoAdjust+0xac>
    50d4:	e3ffda4c 	bsr      	0x56c	// 56c <__divdf3>
    50d8:	e3ffdb40 	bsr      	0x758	// 758 <__truncdfsf2>
    50dc:	b400      	st.w      	r0, (r4, 0x0)
		//循环调光时间最短为100ms
		g_pwmAutoAdj.pwmStep[index] = (float)(PWM_OUT_VAL_MAX*1.0 / 100);			
	}
	
	//Dbg_Println(DBG_BIT_SYS_STATUS,"Adjust PWM%d Step - %f",index,g_pwmAutoAdj.pwmStep[index]);
	g_pwm.irqEnable = TRUE;
    50de:	3301      	movi      	r3, 1
    50e0:	a560      	st.b      	r3, (r5, 0x0)
}
    50e2:	1403      	addi      	r14, r14, 12
    50e4:	1494      	pop      	r4-r7, r15
		g_pwmAutoAdj.adjMode[index] = mode;
    50e6:	a624      	st.b      	r1, (r6, 0x4)
    50e8:	07e1      	br      	0x50aa	// 50aa <PWM_SetAutoAdjust+0x4e>
	}else if(adj < 0x02){
    50ea:	3a01      	cmphsi      	r2, 2
    50ec:	0fe5      	bf      	0x50b6	// 50b6 <PWM_SetAutoAdjust+0x5a>
		g_pwmAutoAdj.adjDir[index] = 0x00;
    50ee:	3200      	movi      	r2, 0
    50f0:	07e3      	br      	0x50b6	// 50b6 <PWM_SetAutoAdjust+0x5a>
		g_pwmAutoAdj.pwmStep[index] = (float)(PWM_OUT_VAL_MAX*1.0 / 100);			
    50f2:	9860      	ld.w      	r3, (r14, 0x0)
    50f4:	60d0      	addu      	r3, r4
    50f6:	6d0f      	mov      	r4, r3
    50f8:	1065      	lrw      	r3, 0x41f00000	// 510c <PWM_SetAutoAdjust+0xb0>
    50fa:	b460      	st.w      	r3, (r4, 0x0)
    50fc:	07f1      	br      	0x50de	// 50de <PWM_SetAutoAdjust+0x82>
    50fe:	0000      	bkpt
    5100:	20000718 	.long	0x20000718
    5104:	20000768 	.long	0x20000768
    5108:	40a77000 	.long	0x40a77000
    510c:	41f00000 	.long	0x41f00000

Disassembly of section .text.PWM_Timer_1ms_Task:

00005110 <PWM_Timer_1ms_Task>:

void PWM_Timer_Disable(void){
	g_pwm.irqEnable = FALSE;
}

void PWM_Timer_1ms_Task(void){
    5110:	14d4      	push      	r4-r7, r15
    5112:	1426      	subi      	r14, r14, 24
	U8_T index = 0;
	float temp_float_val = 0;
	
	if(g_pwm.irqEnable == TRUE){
    5114:	1366      	lrw      	r3, 0x20000718	// 52ac <PWM_Timer_1ms_Task+0x19c>
    5116:	8340      	ld.b      	r2, (r3, 0x0)
    5118:	3a41      	cmpnei      	r2, 1
    511a:	b861      	st.w      	r3, (r14, 0x4)
    511c:	088b      	bt      	0x5232	// 5232 <PWM_Timer_1ms_Task+0x122>
    511e:	1365      	lrw      	r3, 0x20000768	// 52b0 <PWM_Timer_1ms_Task+0x1a0>
    5120:	b863      	st.w      	r3, (r14, 0xc)
    5122:	98a1      	ld.w      	r5, (r14, 0x4)
    5124:	b860      	st.w      	r3, (r14, 0x0)
    5126:	3300      	movi      	r3, 0
    5128:	6dd7      	mov      	r7, r5
    512a:	6d17      	mov      	r4, r5
    512c:	b862      	st.w      	r3, (r14, 0x8)
		for(index = 0;index < PWM_OUT_CH_MAX; index++){
			if(g_pwmAutoAdj.enable[index] == FALSE){
    512e:	9860      	ld.w      	r3, (r14, 0x0)
    5130:	8360      	ld.b      	r3, (r3, 0x0)
    5132:	3b40      	cmpnei      	r3, 0
    5134:	084a      	bt      	0x51c8	// 51c8 <PWM_Timer_1ms_Task+0xb8>
				
				//调节至指定亮度
				if(g_pwm.controlFlag[index] == TRUE){
    5136:	876c      	ld.b      	r3, (r7, 0xc)
    5138:	3b41      	cmpnei      	r3, 1
    513a:	086c      	bt      	0x5212	// 5212 <PWM_Timer_1ms_Task+0x102>
					//当前PWM输出通道，需要进行调节
					if(g_pwm.gradualTime[index] != 0x00){
    513c:	8d74      	ld.h      	r3, (r5, 0x28)
    513e:	3b40      	cmpnei      	r3, 0
    5140:	0c42      	bf      	0x51c4	// 51c4 <PWM_Timer_1ms_Task+0xb4>
						if(g_pwm.addOrDecFlag[index] == PWMA_Ascending){
    5142:	87d0      	ld.b      	r6, (r7, 0x10)
    5144:	3e41      	cmpnei      	r6, 1
    5146:	0822      	bt      	0x518a	// 518a <PWM_Timer_1ms_Task+0x7a>
							
							//PWM递增 - 防止溢出
							temp_float_val = g_pwm.pwmFloatValCurr[index] + g_pwm.pwmStep[index];
    5148:	942c      	ld.w      	r1, (r4, 0x30)
    514a:	9410      	ld.w      	r0, (r4, 0x40)
    514c:	e3ffd90a 	bsr      	0x360	// 360 <__addsf3>
							if(temp_float_val <= PWM_OUT_VAL_MAX){
    5150:	1239      	lrw      	r1, 0x453b8000	// 52b4 <PWM_Timer_1ms_Task+0x1a4>
							temp_float_val = g_pwm.pwmFloatValCurr[index] + g_pwm.pwmStep[index];
    5152:	6d83      	mov      	r6, r0
							if(temp_float_val <= PWM_OUT_VAL_MAX){
    5154:	e3ffd952 	bsr      	0x3f8	// 3f8 <__lesf2>
    5158:	3820      	cmplti      	r0, 1
    515a:	0c15      	bf      	0x5184	// 5184 <PWM_Timer_1ms_Task+0x74>
								g_pwm.pwmFloatValCurr[index] = temp_float_val;
    515c:	b4d0      	st.w      	r6, (r4, 0x40)
							}else{
								g_pwm.pwmFloatValCurr[index] = PWM_OUT_VAL_MAX;
							}
							
							g_pwm.pwmValCurr[index] = (U16_T)g_pwm.pwmFloatValCurr[index];
    515e:	9410      	ld.w      	r0, (r4, 0x40)
    5160:	e3ffd842 	bsr      	0x1e4	// 1e4 <__fixunssfsi>
    5164:	74c1      	zexth      	r3, r0
							//调节至目标值，便停止调节
							if(g_pwm.pwmValCurr[index] >= g_pwm.pwmValTarget[index]){
    5166:	8d10      	ld.h      	r0, (r5, 0x20)
							g_pwm.pwmValCurr[index] = (U16_T)g_pwm.pwmFloatValCurr[index];
    5168:	ad6c      	st.h      	r3, (r5, 0x18)
							if(g_pwm.pwmValCurr[index] >= g_pwm.pwmValTarget[index]){
    516a:	640c      	cmphs      	r3, r0
								g_pwm.pwmFloatValCurr[index] = 0x00;
							}
							
							g_pwm.pwmValCurr[index] = (U16_T)g_pwm.pwmFloatValCurr[index];
							//调节至目标值，便停止调节
							if(g_pwm.pwmValCurr[index] <= g_pwm.pwmValTarget[index]){
    516c:	0c07      	bf      	0x517a	// 517a <PWM_Timer_1ms_Task+0x6a>
							g_pwm.controlFlag[index] = FALSE;
							//Dbg_Println(DBG_BIT_Debug_STATUS,"controlFlag 3 %d ",index);
						}
					}else {
						//渐变时间为0，直接设置当前通道的PWM值
						g_pwm.pwmValCurr[index] = g_pwm.pwmValTarget[index];
    516e:	ad0c      	st.h      	r0, (r5, 0x18)
						g_pwm.pwmFloatValCurr[index] = g_pwm.pwmValCurr[index];
    5170:	e3ffd9ce 	bsr      	0x50c	// 50c <__floatunsisf>
    5174:	b410      	st.w      	r0, (r4, 0x40)
						g_pwm.controlFlag[index] = FALSE;
    5176:	3300      	movi      	r3, 0
    5178:	a76c      	st.b      	r3, (r7, 0xc)
					}
					
					//Dbg_Println(DBG_BIT_SYS_STATUS,"PWM%d %d %f %f",index,g_pwm.pwmValCurr[index],g_pwm.pwmStep[index],g_pwm.pwmFloatValCurr[index]);
					//设置通道的PWM输出的值
					PWM_SetOutDuty(index,g_pwm.pwmValCurr[index]);
    517a:	8d2c      	ld.h      	r1, (r5, 0x18)
				g_pwm.pwmValCurr[index] = (U16_T)g_pwm.pwmFloatValCurr[index];
				
				//设置通道的PWM输出的值
				if(g_pwm.switchState[index] != 0x00){

					PWM_SetOutDuty(index,g_pwm.pwmValCurr[index]);
    517c:	9802      	ld.w      	r0, (r14, 0x8)
    517e:	e3fffdaf 	bsr      	0x4cdc	// 4cdc <PWM_SetOutDuty>
    5182:	0448      	br      	0x5212	// 5212 <PWM_Timer_1ms_Task+0x102>
								g_pwm.pwmFloatValCurr[index] = PWM_OUT_VAL_MAX;
    5184:	126c      	lrw      	r3, 0x453b8000	// 52b4 <PWM_Timer_1ms_Task+0x1a4>
    5186:	b470      	st.w      	r3, (r4, 0x40)
    5188:	07eb      	br      	0x515e	// 515e <PWM_Timer_1ms_Task+0x4e>
						}else if(g_pwm.addOrDecFlag[index] == PWMA_Decreasing){
    518a:	3e40      	cmpnei      	r6, 0
    518c:	0bf5      	bt      	0x5176	// 5176 <PWM_Timer_1ms_Task+0x66>
							if(g_pwm.pwmFloatValCurr[index] >= g_pwm.pwmStep[index]){
    518e:	9450      	ld.w      	r2, (r4, 0x40)
    5190:	946c      	ld.w      	r3, (r4, 0x30)
    5192:	6c4f      	mov      	r1, r3
    5194:	6c0b      	mov      	r0, r2
    5196:	b865      	st.w      	r3, (r14, 0x14)
    5198:	b844      	st.w      	r2, (r14, 0x10)
    519a:	e3ffd913 	bsr      	0x3c0	// 3c0 <__gesf2>
    519e:	38df      	btsti      	r0, 31
    51a0:	0810      	bt      	0x51c0	// 51c0 <PWM_Timer_1ms_Task+0xb0>
								g_pwm.pwmFloatValCurr[index] -= g_pwm.pwmStep[index];
    51a2:	9865      	ld.w      	r3, (r14, 0x14)
    51a4:	9844      	ld.w      	r2, (r14, 0x10)
    51a6:	6c4f      	mov      	r1, r3
    51a8:	6c0b      	mov      	r0, r2
    51aa:	e3ffd8f1 	bsr      	0x38c	// 38c <__subsf3>
    51ae:	b410      	st.w      	r0, (r4, 0x40)
							g_pwm.pwmValCurr[index] = (U16_T)g_pwm.pwmFloatValCurr[index];
    51b0:	9410      	ld.w      	r0, (r4, 0x40)
    51b2:	e3ffd819 	bsr      	0x1e4	// 1e4 <__fixunssfsi>
    51b6:	74c1      	zexth      	r3, r0
							if(g_pwm.pwmValCurr[index] <= g_pwm.pwmValTarget[index]){
    51b8:	8d10      	ld.h      	r0, (r5, 0x20)
							g_pwm.pwmValCurr[index] = (U16_T)g_pwm.pwmFloatValCurr[index];
    51ba:	ad6c      	st.h      	r3, (r5, 0x18)
							if(g_pwm.pwmValCurr[index] <= g_pwm.pwmValTarget[index]){
    51bc:	64c0      	cmphs      	r0, r3
    51be:	07d7      	br      	0x516c	// 516c <PWM_Timer_1ms_Task+0x5c>
								g_pwm.pwmFloatValCurr[index] = 0x00;
    51c0:	b4d0      	st.w      	r6, (r4, 0x40)
    51c2:	07f7      	br      	0x51b0	// 51b0 <PWM_Timer_1ms_Task+0xa0>
						g_pwm.pwmValCurr[index] = g_pwm.pwmValTarget[index];
    51c4:	8d10      	ld.h      	r0, (r5, 0x20)
    51c6:	07d4      	br      	0x516e	// 516e <PWM_Timer_1ms_Task+0x5e>
				if(g_pwmAutoAdj.adjDir[index] == 0x00){
    51c8:	9860      	ld.w      	r3, (r14, 0x0)
    51ca:	8368      	ld.b      	r3, (r3, 0x8)
    51cc:	3b40      	cmpnei      	r3, 0
    51ce:	0846      	bt      	0x525a	// 525a <PWM_Timer_1ms_Task+0x14a>
					if((g_pwm.pwmFloatValCurr[index] >= g_pwmAutoAdj.pwmStep[index]) && (g_pwm.pwmFloatValCurr[index] >= (float)g_pwm.allPwmDownLimit) ){
    51d0:	9863      	ld.w      	r3, (r14, 0xc)
    51d2:	9363      	ld.w      	r3, (r3, 0xc)
    51d4:	94d0      	ld.w      	r6, (r4, 0x40)
    51d6:	6c4f      	mov      	r1, r3
    51d8:	6c1b      	mov      	r0, r6
    51da:	b864      	st.w      	r3, (r14, 0x10)
    51dc:	e3ffd8f2 	bsr      	0x3c0	// 3c0 <__gesf2>
    51e0:	38df      	btsti      	r0, 31
    51e2:	082a      	bt      	0x5236	// 5236 <PWM_Timer_1ms_Task+0x126>
    51e4:	9861      	ld.w      	r3, (r14, 0x4)
    51e6:	8b0b      	ld.h      	r0, (r3, 0x16)
    51e8:	e3ffd992 	bsr      	0x50c	// 50c <__floatunsisf>
    51ec:	6c43      	mov      	r1, r0
    51ee:	6c1b      	mov      	r0, r6
    51f0:	e3ffd8e8 	bsr      	0x3c0	// 3c0 <__gesf2>
    51f4:	38df      	btsti      	r0, 31
    51f6:	0820      	bt      	0x5236	// 5236 <PWM_Timer_1ms_Task+0x126>
						g_pwm.pwmFloatValCurr[index] -= g_pwmAutoAdj.pwmStep[index];
    51f8:	9824      	ld.w      	r1, (r14, 0x10)
    51fa:	6c1b      	mov      	r0, r6
    51fc:	e3ffd8c8 	bsr      	0x38c	// 38c <__subsf3>
    5200:	b410      	st.w      	r0, (r4, 0x40)
				g_pwm.pwmValCurr[index] = (U16_T)g_pwm.pwmFloatValCurr[index];
    5202:	9410      	ld.w      	r0, (r4, 0x40)
    5204:	e3ffd7f0 	bsr      	0x1e4	// 1e4 <__fixunssfsi>
    5208:	7441      	zexth      	r1, r0
    520a:	ad2c      	st.h      	r1, (r5, 0x18)
				if(g_pwm.switchState[index] != 0x00){
    520c:	8768      	ld.b      	r3, (r7, 0x8)
    520e:	3b40      	cmpnei      	r3, 0
    5210:	0bb6      	bt      	0x517c	// 517c <PWM_Timer_1ms_Task+0x6c>
		for(index = 0;index < PWM_OUT_CH_MAX; index++){
    5212:	9862      	ld.w      	r3, (r14, 0x8)
    5214:	2300      	addi      	r3, 1
    5216:	74cc      	zextb      	r3, r3
    5218:	b862      	st.w      	r3, (r14, 0x8)
    521a:	9860      	ld.w      	r3, (r14, 0x0)
    521c:	2300      	addi      	r3, 1
    521e:	b860      	st.w      	r3, (r14, 0x0)
    5220:	9863      	ld.w      	r3, (r14, 0xc)
    5222:	2303      	addi      	r3, 4
    5224:	b863      	st.w      	r3, (r14, 0xc)
    5226:	9862      	ld.w      	r3, (r14, 0x8)
    5228:	3b44      	cmpnei      	r3, 4
    522a:	2501      	addi      	r5, 2
    522c:	2403      	addi      	r4, 4
    522e:	2700      	addi      	r7, 1
    5230:	0b7f      	bt      	0x512e	// 512e <PWM_Timer_1ms_Task+0x1e>
				
			}
			
		}
	}
}
    5232:	1406      	addi      	r14, r14, 24
    5234:	1494      	pop      	r4-r7, r15
						g_pwm.pwmFloatValCurr[index] = (float)g_pwm.allPwmDownLimit;
    5236:	9861      	ld.w      	r3, (r14, 0x4)
    5238:	8bcb      	ld.h      	r6, (r3, 0x16)
    523a:	6c1b      	mov      	r0, r6
    523c:	e3ffd968 	bsr      	0x50c	// 50c <__floatunsisf>
						if(g_pwmAutoAdj.adjMode[index] == 0x01){
    5240:	9860      	ld.w      	r3, (r14, 0x0)
    5242:	8364      	ld.b      	r3, (r3, 0x4)
    5244:	3b41      	cmpnei      	r3, 1
						g_pwm.pwmFloatValCurr[index] = (float)g_pwm.allPwmDownLimit;
    5246:	b410      	st.w      	r0, (r4, 0x40)
							g_pwmAutoAdj.adjDir[index] = 0x01;
    5248:	9860      	ld.w      	r3, (r14, 0x0)
						if(g_pwmAutoAdj.adjMode[index] == 0x01){
    524a:	0804      	bt      	0x5252	// 5252 <PWM_Timer_1ms_Task+0x142>
							g_pwmAutoAdj.adjDir[index] = 0x01;
    524c:	3201      	movi      	r2, 1
							g_pwmAutoAdj.adjDir[index] = 0x00;
    524e:	a348      	st.b      	r2, (r3, 0x8)
    5250:	07d9      	br      	0x5202	// 5202 <PWM_Timer_1ms_Task+0xf2>
							g_pwmAutoAdj.enable[index] = FALSE;		//自动调节完毕
    5252:	3200      	movi      	r2, 0
							g_pwmAutoAdj.enable[index] = FALSE;		//自动调节完毕
    5254:	a340      	st.b      	r2, (r3, 0x0)
							g_pwm.brightnessCurr[index] = g_pwm.allPwmUpLimit;		//同步一下当前亮度
    5256:	a7c4      	st.b      	r6, (r7, 0x4)
    5258:	07d5      	br      	0x5202	// 5202 <PWM_Timer_1ms_Task+0xf2>
				}else if(g_pwmAutoAdj.adjDir[index] == 0x01){
    525a:	3b41      	cmpnei      	r3, 1
    525c:	0bd3      	bt      	0x5202	// 5202 <PWM_Timer_1ms_Task+0xf2>
					temp_float_val = g_pwm.pwmFloatValCurr[index] + g_pwmAutoAdj.pwmStep[index];
    525e:	9470      	ld.w      	r3, (r4, 0x40)
    5260:	b864      	st.w      	r3, (r14, 0x10)
    5262:	9863      	ld.w      	r3, (r14, 0xc)
    5264:	9323      	ld.w      	r1, (r3, 0xc)
    5266:	9804      	ld.w      	r0, (r14, 0x10)
    5268:	e3ffd87c 	bsr      	0x360	// 360 <__addsf3>
					if( (temp_float_val <= PWM_OUT_VAL_MAX) && (g_pwm.pwmFloatValCurr[index] <= (float)g_pwm.allPwmUpLimit) ){
    526c:	1032      	lrw      	r1, 0x453b8000	// 52b4 <PWM_Timer_1ms_Task+0x1a4>
					temp_float_val = g_pwm.pwmFloatValCurr[index] + g_pwmAutoAdj.pwmStep[index];
    526e:	6d83      	mov      	r6, r0
					if( (temp_float_val <= PWM_OUT_VAL_MAX) && (g_pwm.pwmFloatValCurr[index] <= (float)g_pwm.allPwmUpLimit) ){
    5270:	e3ffd8c4 	bsr      	0x3f8	// 3f8 <__lesf2>
    5274:	3820      	cmplti      	r0, 1
    5276:	0c0d      	bf      	0x5290	// 5290 <PWM_Timer_1ms_Task+0x180>
    5278:	9861      	ld.w      	r3, (r14, 0x4)
    527a:	8b0a      	ld.h      	r0, (r3, 0x14)
    527c:	e3ffd948 	bsr      	0x50c	// 50c <__floatunsisf>
    5280:	6c43      	mov      	r1, r0
    5282:	9804      	ld.w      	r0, (r14, 0x10)
    5284:	e3ffd8ba 	bsr      	0x3f8	// 3f8 <__lesf2>
    5288:	3820      	cmplti      	r0, 1
    528a:	0c03      	bf      	0x5290	// 5290 <PWM_Timer_1ms_Task+0x180>
						g_pwm.pwmFloatValCurr[index] = temp_float_val;
    528c:	b4d0      	st.w      	r6, (r4, 0x40)
    528e:	07ba      	br      	0x5202	// 5202 <PWM_Timer_1ms_Task+0xf2>
						g_pwm.pwmFloatValCurr[index] = (float)g_pwm.allPwmUpLimit;
    5290:	9861      	ld.w      	r3, (r14, 0x4)
    5292:	8bca      	ld.h      	r6, (r3, 0x14)
    5294:	6c1b      	mov      	r0, r6
    5296:	e3ffd93b 	bsr      	0x50c	// 50c <__floatunsisf>
						if(g_pwmAutoAdj.adjMode[index] == 0x01){
    529a:	9860      	ld.w      	r3, (r14, 0x0)
    529c:	8364      	ld.b      	r3, (r3, 0x4)
    529e:	3b41      	cmpnei      	r3, 1
						g_pwm.pwmFloatValCurr[index] = (float)g_pwm.allPwmUpLimit;
    52a0:	b410      	st.w      	r0, (r4, 0x40)
							g_pwmAutoAdj.adjDir[index] = 0x00;
    52a2:	9860      	ld.w      	r3, (r14, 0x0)
    52a4:	3200      	movi      	r2, 0
						if(g_pwmAutoAdj.adjMode[index] == 0x01){
    52a6:	0bd7      	bt      	0x5254	// 5254 <PWM_Timer_1ms_Task+0x144>
    52a8:	07d3      	br      	0x524e	// 524e <PWM_Timer_1ms_Task+0x13e>
    52aa:	0000      	bkpt
    52ac:	20000718 	.long	0x20000718
    52b0:	20000768 	.long	0x20000768
    52b4:	453b8000 	.long	0x453b8000

Disassembly of section .text.EEPROM_ReadParaInfo:

000052b8 <EEPROM_ReadParaInfo>:
	
	EEPROM_Validate_ParaInfo(&g_eeprom);
}


U8_T EEPROM_ReadParaInfo(E_PARA_INFO *info){
    52b8:	14d1      	push      	r4, r15
    52ba:	143b      	subi      	r14, r14, 108
    52bc:	6d03      	mov      	r4, r0
	U8_T read_info[6];
	U8_T para_data[EEPROM_DATA_Size_Max];
	U16_T read_len = 0;
	
	memset(read_info,0,sizeof(read_info));
    52be:	3300      	movi      	r3, 0
	memset(para_data,0,sizeof(para_data));
    52c0:	3264      	movi      	r2, 100
    52c2:	3100      	movi      	r1, 0
    52c4:	1802      	addi      	r0, r14, 8
	memset(read_info,0,sizeof(read_info));
    52c6:	b860      	st.w      	r3, (r14, 0x0)
    52c8:	dc6e1002 	st.h      	r3, (r14, 0x4)
	memset(para_data,0,sizeof(para_data));
    52cc:	e3ffdc94 	bsr      	0xbf4	// bf4 <__memset_fast>
	
	ReadDataArry_U8(EEPROM_ParaInfo_Address,4,read_info);
    52d0:	6cbb      	mov      	r2, r14
    52d2:	3104      	movi      	r1, 4
    52d4:	1014      	lrw      	r0, 0x10000020	// 5324 <EEPROM_ReadParaInfo+0x6c>
    52d6:	e3ffe6b1 	bsr      	0x2038	// 2038 <ReadDataArry_U8>
	
	if(read_info[0] == EEPROM_SVAE_FLAG){
    52da:	d84e0000 	ld.b      	r2, (r14, 0x0)
    52de:	33a6      	movi      	r3, 166
    52e0:	64ca      	cmpne      	r2, r3
    52e2:	0c04      	bf      	0x52ea	// 52ea <EEPROM_ReadParaInfo+0x32>
				return 0x00;
			}
		}
	}
	
	return 0x01;
    52e4:	3001      	movi      	r0, 1
}
    52e6:	141b      	addi      	r14, r14, 108
    52e8:	1491      	pop      	r4, r15
		read_len |= read_info[1];
    52ea:	d82e0002 	ld.b      	r1, (r14, 0x2)
    52ee:	d86e0001 	ld.b      	r3, (r14, 0x1)
    52f2:	4128      	lsli      	r1, r1, 8
    52f4:	6c4c      	or      	r1, r3
		if(read_len <= EEPROM_DATA_Size_Max){
    52f6:	3364      	movi      	r3, 100
    52f8:	644c      	cmphs      	r3, r1
    52fa:	0ff5      	bf      	0x52e4	// 52e4 <EEPROM_ReadParaInfo+0x2c>
			ReadDataArry_U8(EEPROM_ParaInfo_Address+4,read_len,para_data);
    52fc:	1a02      	addi      	r2, r14, 8
    52fe:	100b      	lrw      	r0, 0x10000024	// 5328 <EEPROM_ReadParaInfo+0x70>
    5300:	e3ffe69c 	bsr      	0x2038	// 2038 <ReadDataArry_U8>
			if(PB_CheckSum(para_data,sizeof(E_PARA_INFO)) == read_info[3]){
    5304:	3116      	movi      	r1, 22
    5306:	1802      	addi      	r0, r14, 8
    5308:	e3ffefbc 	bsr      	0x3280	// 3280 <PB_CheckSum>
    530c:	d86e0003 	ld.b      	r3, (r14, 0x3)
    5310:	640e      	cmpne      	r3, r0
    5312:	0be9      	bt      	0x52e4	// 52e4 <EEPROM_ReadParaInfo+0x2c>
				memcpy((uint8_t *)info,para_data,sizeof(E_PARA_INFO));
    5314:	3216      	movi      	r2, 22
    5316:	1902      	addi      	r1, r14, 8
    5318:	6c13      	mov      	r0, r4
    531a:	e3ffdcb1 	bsr      	0xc7c	// c7c <__memcpy_fast>
				return 0x00;
    531e:	3000      	movi      	r0, 0
    5320:	07e3      	br      	0x52e6	// 52e6 <EEPROM_ReadParaInfo+0x2e>
    5322:	0000      	bkpt
    5324:	10000020 	.long	0x10000020
    5328:	10000024 	.long	0x10000024

Disassembly of section .text.EEPROM_WriteParaInfo:

0000532c <EEPROM_WriteParaInfo>:

U8_T EEPROM_WriteParaInfo(E_PARA_INFO *info){
    532c:	14d0      	push      	r15
    532e:	143b      	subi      	r14, r14, 108
	U8_T save_data[EEPROM_DATA_Size_Max + 6];
	U16_T save_len = sizeof(E_PARA_INFO);
	
	if(save_len >= EEPROM_DATA_Size_Max) save_len = EEPROM_DATA_Size_Max;
	
	save_data[0] = EEPROM_SVAE_FLAG;
    5330:	3300      	movi      	r3, 0
    5332:	2b59      	subi      	r3, 90
    5334:	dc6e0000 	st.b      	r3, (r14, 0x0)
	save_data[1] = save_len & 0xFF;
    5338:	3316      	movi      	r3, 22
    533a:	dc6e0001 	st.b      	r3, (r14, 0x1)
	save_data[2] = (save_len >> 8) & 0xFF;
    533e:	3300      	movi      	r3, 0
    5340:	dc6e0002 	st.b      	r3, (r14, 0x2)
	
	memcpy(&save_data[4],(uint8_t *)info,save_len);
    5344:	1b01      	addi      	r3, r14, 4
U8_T EEPROM_WriteParaInfo(E_PARA_INFO *info){
    5346:	6c43      	mov      	r1, r0
	memcpy(&save_data[4],(uint8_t *)info,save_len);
    5348:	3216      	movi      	r2, 22
    534a:	6c0f      	mov      	r0, r3
    534c:	e3ffdc98 	bsr      	0xc7c	// c7c <__memcpy_fast>
	
	save_data[3] = PB_CheckSum(&save_data[4],save_len);
    5350:	3116      	movi      	r1, 22
    5352:	e3ffef97 	bsr      	0x3280	// 3280 <PB_CheckSum>
    5356:	dc0e0003 	st.b      	r0, (r14, 0x3)
	
	save_len+=4;
	
	Page_ProgramData(EEPROM_ParaInfo_Address,save_len,save_data);
    535a:	6cbb      	mov      	r2, r14
    535c:	311a      	movi      	r1, 26
    535e:	1004      	lrw      	r0, 0x10000020	// 536c <EEPROM_WriteParaInfo+0x40>
    5360:	e3ffe61c 	bsr      	0x1f98	// 1f98 <Page_ProgramData>
	
	return 0;
}
    5364:	3000      	movi      	r0, 0
    5366:	141b      	addi      	r14, r14, 108
    5368:	1490      	pop      	r15
    536a:	0000      	bkpt
    536c:	10000020 	.long	0x10000020

Disassembly of section .text.EEPROM_Validate_ParaInfo:

00005370 <EEPROM_Validate_ParaInfo>:
	Page_ProgramData(EEPROM_ParaInfo_Address,save_len,save_data);
	
	return 0;
}

U8_T EEPROM_Validate_ParaInfo(E_PARA_INFO *info){
    5370:	14d3      	push      	r4-r6, r15
    5372:	1421      	subi      	r14, r14, 4
	U8_T i=0;
	
	//以下为本地参数
	
	//PowerBus 总线开关 0x01:开启，0x02:关闭
	if((info->powerbus_enable < 0x01) || (info->powerbus_enable > 0x01) ){
    5374:	8060      	ld.b      	r3, (r0, 0x0)
    5376:	3b41      	cmpnei      	r3, 1
U8_T EEPROM_Validate_ParaInfo(E_PARA_INFO *info){
    5378:	6d03      	mov      	r4, r0
	if((info->powerbus_enable < 0x01) || (info->powerbus_enable > 0x01) ){
    537a:	0c03      	bf      	0x5380	// 5380 <EEPROM_Validate_ParaInfo+0x10>
		info->powerbus_enable = EEPROM_ParaDefault_PowerBusEnable;		//默认开启
    537c:	3301      	movi      	r3, 1
    537e:	a060      	st.b      	r3, (r0, 0x0)
	}
	Dbg_Println(DBG_BIT_SYS_STATUS,"Para Info powerbus_enable %d",info->powerbus_enable);
    5380:	8440      	ld.b      	r2, (r4, 0x0)
    5382:	1127      	lrw      	r1, 0x6017	// 541c <EEPROM_Validate_ParaInfo+0xac>
    5384:	3000      	movi      	r0, 0
    5386:	e3ffee11 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	//PowerBus 总线保护电流范围：1~165	单位：0.1A				1V = 5A
	//因为 BLV_C8_V05 硬件版本目前芯片供电为3.3V,提供给保护阈值电压最高为3.3V,所以保护电流最高为16.5A
	if((info->save_curr < PB_SaveCurrent_Min) || (info->save_curr > PB_SaveCurrent_Max)){
    538a:	8461      	ld.b      	r3, (r4, 0x1)
    538c:	2b00      	subi      	r3, 1
    538e:	74cc      	zextb      	r3, r3
    5390:	32a4      	movi      	r2, 164
    5392:	64c8      	cmphs      	r2, r3
    5394:	0803      	bt      	0x539a	// 539a <EEPROM_Validate_ParaInfo+0x2a>
		info->save_curr = EEPROM_ParaDefault_SaveCurr;				//默认保护电流为10A
    5396:	3378      	movi      	r3, 120
    5398:	a461      	st.b      	r3, (r4, 0x1)
	}
	Dbg_Println(DBG_BIT_SYS_STATUS,"Para Info save_curr %d",info->save_curr);
    539a:	8441      	ld.b      	r2, (r4, 0x1)
    539c:	1121      	lrw      	r1, 0x6034	// 5420 <EEPROM_Validate_ParaInfo+0xb0>
    539e:	3000      	movi      	r0, 0
    53a0:	e3ffee04 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	
	
	//以下为灯光参数校验
	
	//全局亮度有效范围：0~100
	if(info->allBrightness > BRIGHTNESS_MAX){
    53a4:	8442      	ld.b      	r2, (r4, 0x2)
    53a6:	3364      	movi      	r3, 100
    53a8:	648c      	cmphs      	r3, r2
    53aa:	0802      	bt      	0x53ae	// 53ae <EEPROM_Validate_ParaInfo+0x3e>
		info->allBrightness = BRIGHTNESS_MAX;		//全局亮度默认：100
    53ac:	a462      	st.b      	r3, (r4, 0x2)
	}
	
	//全局亮度可调上限有效范围：0~100
	if(info->allBrightnessUpLimit > BRIGHTNESS_MAX){
    53ae:	8443      	ld.b      	r2, (r4, 0x3)
    53b0:	3364      	movi      	r3, 100
    53b2:	648c      	cmphs      	r3, r2
    53b4:	0802      	bt      	0x53b8	// 53b8 <EEPROM_Validate_ParaInfo+0x48>
		info->allBrightnessUpLimit = BRIGHTNESS_MAX;		//全局亮度可调上限默认：100
    53b6:	a463      	st.b      	r3, (r4, 0x3)
	}
	
	//全局亮度可调下限有效范围：0~100
	if(info->allBrightnessDownLimit > BRIGHTNESS_MAX){
    53b8:	8444      	ld.b      	r2, (r4, 0x4)
    53ba:	3364      	movi      	r3, 100
    53bc:	648c      	cmphs      	r3, r2
    53be:	0803      	bt      	0x53c4	// 53c4 <EEPROM_Validate_ParaInfo+0x54>
		info->allBrightnessDownLimit = BRIGHTNESS_MIN;		//全局亮度可调下限默认：0
    53c0:	3300      	movi      	r3, 0
    53c2:	a464      	st.b      	r3, (r4, 0x4)
	}
	
	Dbg_Println(DBG_BIT_SYS_STATUS,"Para Info allBrightness %d",info->allBrightness);
    53c4:	8442      	ld.b      	r2, (r4, 0x2)
    53c6:	1038      	lrw      	r1, 0x604b	// 5424 <EEPROM_Validate_ParaInfo+0xb4>
    53c8:	3000      	movi      	r0, 0
    53ca:	e3ffedef 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"Para Info allBrightnessUpLimit %d",info->allBrightnessUpLimit);
    53ce:	8443      	ld.b      	r2, (r4, 0x3)
    53d0:	1036      	lrw      	r1, 0x6066	// 5428 <EEPROM_Validate_ParaInfo+0xb8>
    53d2:	3000      	movi      	r0, 0
    53d4:	e3ffedea 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"Para Info allBrightnessDownLimit %d",info->allBrightnessDownLimit);
    53d8:	8444      	ld.b      	r2, (r4, 0x4)
    53da:	1035      	lrw      	r1, 0x6088	// 542c <EEPROM_Validate_ParaInfo+0xbc>
    53dc:	3000      	movi      	r0, 0
    53de:	e3ffede5 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
    53e2:	2404      	addi      	r4, 5
    53e4:	3500      	movi      	r5, 0
		//回路亮度：0~100
		if(info->brightness[i] > BRIGHTNESS_MAX){
			info->brightness[i] = BRIGHTNESS_MIN;		//回路亮度默认：100
		}
		
		Dbg_Println(DBG_BIT_SYS_STATUS,"Para Light Loop%d %d-%d",i,info->swithcState[i],info->brightness[i]);
    53e6:	10d3      	lrw      	r6, 0x60ac	// 5430 <EEPROM_Validate_ParaInfo+0xc0>
		if(info->swithcState[i] > 0x01){
    53e8:	8460      	ld.b      	r3, (r4, 0x0)
    53ea:	3b01      	cmphsi      	r3, 2
    53ec:	0c03      	bf      	0x53f2	// 53f2 <EEPROM_Validate_ParaInfo+0x82>
			info->swithcState[i] = 0x01;				//回路开关状态默认：0x01
    53ee:	3301      	movi      	r3, 1
    53f0:	a460      	st.b      	r3, (r4, 0x0)
		if(info->brightness[i] > BRIGHTNESS_MAX){
    53f2:	8444      	ld.b      	r2, (r4, 0x4)
    53f4:	3364      	movi      	r3, 100
    53f6:	648c      	cmphs      	r3, r2
    53f8:	0803      	bt      	0x53fe	// 53fe <EEPROM_Validate_ParaInfo+0x8e>
			info->brightness[i] = BRIGHTNESS_MIN;		//回路亮度默认：100
    53fa:	3300      	movi      	r3, 0
    53fc:	a464      	st.b      	r3, (r4, 0x4)
		Dbg_Println(DBG_BIT_SYS_STATUS,"Para Light Loop%d %d-%d",i,info->swithcState[i],info->brightness[i]);
    53fe:	8444      	ld.b      	r2, (r4, 0x4)
    5400:	8460      	ld.b      	r3, (r4, 0x0)
    5402:	6c5b      	mov      	r1, r6
    5404:	b840      	st.w      	r2, (r14, 0x0)
    5406:	3000      	movi      	r0, 0
    5408:	6c97      	mov      	r2, r5
    540a:	2500      	addi      	r5, 1
    540c:	e3ffedce 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	for(i=0;i<PWM_OUT_CH_MAX;i++){
    5410:	3d44      	cmpnei      	r5, 4
    5412:	2400      	addi      	r4, 1
    5414:	0bea      	bt      	0x53e8	// 53e8 <EEPROM_Validate_ParaInfo+0x78>
	}
	
	return 0;
}
    5416:	3000      	movi      	r0, 0
    5418:	1401      	addi      	r14, r14, 4
    541a:	1493      	pop      	r4-r6, r15
    541c:	00006017 	.long	0x00006017
    5420:	00006034 	.long	0x00006034
    5424:	0000604b 	.long	0x0000604b
    5428:	00006066 	.long	0x00006066
    542c:	00006088 	.long	0x00006088
    5430:	000060ac 	.long	0x000060ac

Disassembly of section .text.EEPROM_Default_ParaInfo:

00005434 <EEPROM_Default_ParaInfo>:

/*恢复默认值*/
void EEPROM_Default_ParaInfo(E_PARA_INFO *info){
    5434:	14c1      	push      	r4
	info->powerbus_enable = EEPROM_ParaDefault_PowerBusEnable;
    5436:	3301      	movi      	r3, 1
    5438:	a060      	st.b      	r3, (r0, 0x0)
	info->save_curr = EEPROM_ParaDefault_SaveCurr;
    543a:	3378      	movi      	r3, 120
    543c:	a061      	st.b      	r3, (r0, 0x1)
	info->allBrightness = BRIGHTNESS_MAX;				//全局亮度默认：100
    543e:	3364      	movi      	r3, 100
    5440:	a062      	st.b      	r3, (r0, 0x2)
	info->allBrightnessUpLimit = BRIGHTNESS_MAX;		//全局亮度可调上限默认：100
    5442:	a063      	st.b      	r3, (r0, 0x3)
    5444:	310e      	movi      	r1, 14
	info->allBrightnessDownLimit = BRIGHTNESS_MIN;		//全局亮度可调下限默认：0
    5446:	3300      	movi      	r3, 0
	
	for(U8_T i=0;i<PWM_OUT_CH_MAX;i++){
		info->swithcState[i] = 0x01;				//回路开关状态默认：0x01
		info->brightness[i] = BRIGHTNESS_MIN;		//回路亮度默认：100
		info->gradialTime[i] = 1000;				//回路渐变时间默认：1000
    5448:	32fa      	movi      	r2, 250
	info->allBrightnessDownLimit = BRIGHTNESS_MIN;		//全局亮度可调下限默认：0
    544a:	a064      	st.b      	r3, (r0, 0x4)
    544c:	6040      	addu      	r1, r0
    544e:	5872      	addi      	r3, r0, 5
		info->gradialTime[i] = 1000;				//回路渐变时间默认：1000
    5450:	4242      	lsli      	r2, r2, 2
    5452:	2008      	addi      	r0, 9
		info->swithcState[i] = 0x01;				//回路开关状态默认：0x01
    5454:	3401      	movi      	r4, 1
    5456:	a380      	st.b      	r4, (r3, 0x0)
		info->brightness[i] = BRIGHTNESS_MIN;		//回路亮度默认：100
    5458:	3400      	movi      	r4, 0
    545a:	a384      	st.b      	r4, (r3, 0x4)
    545c:	2300      	addi      	r3, 1
	for(U8_T i=0;i<PWM_OUT_CH_MAX;i++){
    545e:	640e      	cmpne      	r3, r0
		info->gradialTime[i] = 1000;				//回路渐变时间默认：1000
    5460:	a940      	st.h      	r2, (r1, 0x0)
    5462:	2101      	addi      	r1, 2
	for(U8_T i=0;i<PWM_OUT_CH_MAX;i++){
    5464:	0bf8      	bt      	0x5454	// 5454 <EEPROM_Default_ParaInfo+0x20>
	}
}
    5466:	1481      	pop      	r4

Disassembly of section .text.EEPROM_Init:

00005468 <EEPROM_Init>:
void EEPROM_Init(void){
    5468:	14d0      	push      	r15
	EnIFCClk; //使能 IFC 时钟
    546a:	106e      	lrw      	r3, 0x20000060	// 54a0 <EEPROM_Init+0x38>
    546c:	3201      	movi      	r2, 1
    546e:	9360      	ld.w      	r3, (r3, 0x0)
    5470:	b341      	st.w      	r2, (r3, 0x4)
	IFC->MR |= 0x10002; //高速模式，延迟 2 个周期
    5472:	9345      	ld.w      	r2, (r3, 0x14)
    5474:	3aa1      	bseti      	r2, 1
    5476:	3ab0      	bseti      	r2, 16
    5478:	b345      	st.w      	r2, (r3, 0x14)
	delay_nms(10);
    547a:	300a      	movi      	r0, 10
    547c:	e3ffe608 	bsr      	0x208c	// 208c <delay_nms>
	rev = EEPROM_ReadParaInfo(&g_eeprom);
    5480:	1009      	lrw      	r0, 0x200007a4	// 54a4 <EEPROM_Init+0x3c>
    5482:	e3ffff1b 	bsr      	0x52b8	// 52b8 <EEPROM_ReadParaInfo>
	if(rev != 0x00){
    5486:	3840      	cmpnei      	r0, 0
    5488:	0c08      	bf      	0x5498	// 5498 <EEPROM_Init+0x30>
		EEPROM_Default_ParaInfo(&g_eeprom);
    548a:	1007      	lrw      	r0, 0x200007a4	// 54a4 <EEPROM_Init+0x3c>
    548c:	e3ffffd4 	bsr      	0x5434	// 5434 <EEPROM_Default_ParaInfo>
		Dbg_Println(DBG_BIT_SYS_STATUS,"Para Info Use Default");
    5490:	1026      	lrw      	r1, 0x60c4	// 54a8 <EEPROM_Init+0x40>
    5492:	3000      	movi      	r0, 0
    5494:	e3ffed8a 	bsr      	0x2fa8	// 2fa8 <Dbg_Println>
	EEPROM_Validate_ParaInfo(&g_eeprom);
    5498:	1003      	lrw      	r0, 0x200007a4	// 54a4 <EEPROM_Init+0x3c>
    549a:	e3ffff6b 	bsr      	0x5370	// 5370 <EEPROM_Validate_ParaInfo>
}
    549e:	1490      	pop      	r15
    54a0:	20000060 	.long	0x20000060
    54a4:	200007a4 	.long	0x200007a4
    54a8:	000060c4 	.long	0x000060c4

Disassembly of section .text.std_clk_calib:

000054ac <std_clk_calib>:
    54ac:	14d4      	push      	r4-r7, r15
    54ae:	142d      	subi      	r14, r14, 52
    54b0:	3201      	movi      	r2, 1
    54b2:	03ce      	lrw      	r6, 0x2000005c	// 56f4 <std_clk_calib+0x248>
    54b4:	6cc3      	mov      	r3, r0
    54b6:	dc4e000a 	st.b      	r2, (r14, 0xa)
    54ba:	9640      	ld.w      	r2, (r6, 0x0)
    54bc:	9247      	ld.w      	r2, (r2, 0x1c)
    54be:	7488      	zextb      	r2, r2
    54c0:	dc4e0009 	st.b      	r2, (r14, 0x9)
    54c4:	d84e0009 	ld.b      	r2, (r14, 0x9)
    54c8:	3a40      	cmpnei      	r2, 0
    54ca:	0c08      	bf      	0x54da	// 54da <std_clk_calib+0x2e>
    54cc:	d84e0009 	ld.b      	r2, (r14, 0x9)
    54d0:	3a42      	cmpnei      	r2, 2
    54d2:	0c04      	bf      	0x54da	// 54da <std_clk_calib+0x2e>
    54d4:	3000      	movi      	r0, 0
    54d6:	140d      	addi      	r14, r14, 52
    54d8:	1494      	pop      	r4-r7, r15
    54da:	0397      	lrw      	r4, 0x2000000c	// 56f8 <std_clk_calib+0x24c>
    54dc:	3209      	movi      	r2, 9
    54de:	9400      	ld.w      	r0, (r4, 0x0)
    54e0:	3b40      	cmpnei      	r3, 0
    54e2:	b041      	st.w      	r2, (r0, 0x4)
    54e4:	0857      	bt      	0x5592	// 5592 <std_clk_calib+0xe6>
    54e6:	3307      	movi      	r3, 7
    54e8:	dc6e000b 	st.b      	r3, (r14, 0xb)
    54ec:	037b      	lrw      	r3, 0x2dc6c00	// 56fc <std_clk_calib+0x250>
    54ee:	b863      	st.w      	r3, (r14, 0xc)
    54f0:	3380      	movi      	r3, 128
    54f2:	4362      	lsli      	r3, r3, 2
    54f4:	b867      	st.w      	r3, (r14, 0x1c)
    54f6:	d86e000b 	ld.b      	r3, (r14, 0xb)
    54fa:	74cc      	zextb      	r3, r3
    54fc:	b062      	st.w      	r3, (r0, 0x8)
    54fe:	037e      	lrw      	r3, 0xffff	// 5700 <std_clk_calib+0x254>
    5500:	b063      	st.w      	r3, (r0, 0xc)
    5502:	3201      	movi      	r2, 1
    5504:	3101      	movi      	r1, 1
    5506:	03bf      	lrw      	r5, 0x20000014	// 5704 <std_clk_calib+0x258>
    5508:	e3ffdfda 	bsr      	0x14bc	// 14bc <BT_ConfigInterrupt_CMD>
    550c:	95e0      	ld.w      	r7, (r5, 0x0)
    550e:	137f      	lrw      	r3, 0xbe9c0005	// 5708 <std_clk_calib+0x25c>
    5510:	b760      	st.w      	r3, (r7, 0x0)
    5512:	135f      	lrw      	r2, 0x30010	// 570c <std_clk_calib+0x260>
    5514:	3300      	movi      	r3, 0
    5516:	b762      	st.w      	r3, (r7, 0x8)
    5518:	b743      	st.w      	r2, (r7, 0xc)
    551a:	32d8      	movi      	r2, 216
    551c:	b745      	st.w      	r2, (r7, 0x14)
    551e:	974f      	ld.w      	r2, (r7, 0x3c)
    5520:	3aa2      	bseti      	r2, 2
    5522:	b74f      	st.w      	r2, (r7, 0x3c)
    5524:	9803      	ld.w      	r0, (r14, 0xc)
    5526:	d82e000b 	ld.b      	r1, (r14, 0xb)
    552a:	327d      	movi      	r2, 125
    552c:	2100      	addi      	r1, 1
    552e:	7c48      	mult      	r1, r2
    5530:	b861      	st.w      	r3, (r14, 0x4)
    5532:	e3ffec91 	bsr      	0x2e54	// 2e54 <__udivsi3>
    5536:	b804      	st.w      	r0, (r14, 0x10)
    5538:	32fa      	movi      	r2, 250
    553a:	9824      	ld.w      	r1, (r14, 0x10)
    553c:	4242      	lsli      	r2, r2, 2
    553e:	6448      	cmphs      	r2, r1
    5540:	0bca      	bt      	0x54d4	// 54d4 <std_clk_calib+0x28>
    5542:	9844      	ld.w      	r2, (r14, 0x10)
    5544:	3178      	movi      	r1, 120
    5546:	9804      	ld.w      	r0, (r14, 0x10)
    5548:	b840      	st.w      	r2, (r14, 0x0)
    554a:	e3ffec85 	bsr      	0x2e54	// 2e54 <__udivsi3>
    554e:	9840      	ld.w      	r2, (r14, 0x0)
    5550:	6082      	subu      	r2, r0
    5552:	b845      	st.w      	r2, (r14, 0x14)
    5554:	9804      	ld.w      	r0, (r14, 0x10)
    5556:	3178      	movi      	r1, 120
    5558:	9844      	ld.w      	r2, (r14, 0x10)
    555a:	b840      	st.w      	r2, (r14, 0x0)
    555c:	e3ffec7c 	bsr      	0x2e54	// 2e54 <__udivsi3>
    5560:	9840      	ld.w      	r2, (r14, 0x0)
    5562:	6008      	addu      	r0, r2
    5564:	b806      	st.w      	r0, (r14, 0x18)
    5566:	c0807020 	psrclr      	ie
    556a:	9640      	ld.w      	r2, (r6, 0x0)
    556c:	9254      	ld.w      	r2, (r2, 0x50)
    556e:	b848      	st.w      	r2, (r14, 0x20)
    5570:	9861      	ld.w      	r3, (r14, 0x4)
    5572:	9440      	ld.w      	r2, (r4, 0x0)
    5574:	b260      	st.w      	r3, (r2, 0x0)
    5576:	b761      	st.w      	r3, (r7, 0x4)
    5578:	d86e000a 	ld.b      	r3, (r14, 0xa)
    557c:	3b40      	cmpnei      	r3, 0
    557e:	083e      	bt      	0x55fa	// 55fa <std_clk_calib+0x14e>
    5580:	e3ffde84 	bsr      	0x1288	// 1288 <LPT_Soft_Reset>
    5584:	9400      	ld.w      	r0, (r4, 0x0)
    5586:	e3ffdf71 	bsr      	0x1468	// 1468 <BT_Soft_Reset>
    558a:	c1807420 	psrset      	ee, ie
    558e:	3001      	movi      	r0, 1
    5590:	07a3      	br      	0x54d6	// 54d6 <std_clk_calib+0x2a>
    5592:	3b41      	cmpnei      	r3, 1
    5594:	0806      	bt      	0x55a0	// 55a0 <std_clk_calib+0xf4>
    5596:	3303      	movi      	r3, 3
    5598:	dc6e000b 	st.b      	r3, (r14, 0xb)
    559c:	127d      	lrw      	r3, 0x16e3600	// 5710 <std_clk_calib+0x264>
    559e:	07a8      	br      	0x54ee	// 54ee <std_clk_calib+0x42>
    55a0:	3b42      	cmpnei      	r3, 2
    55a2:	0806      	bt      	0x55ae	// 55ae <std_clk_calib+0x102>
    55a4:	3301      	movi      	r3, 1
    55a6:	dc6e000b 	st.b      	r3, (r14, 0xb)
    55aa:	127b      	lrw      	r3, 0xb71b00	// 5714 <std_clk_calib+0x268>
    55ac:	07a1      	br      	0x54ee	// 54ee <std_clk_calib+0x42>
    55ae:	3b43      	cmpnei      	r3, 3
    55b0:	0806      	bt      	0x55bc	// 55bc <std_clk_calib+0x110>
    55b2:	3300      	movi      	r3, 0
    55b4:	dc6e000b 	st.b      	r3, (r14, 0xb)
    55b8:	1278      	lrw      	r3, 0x5b8d80	// 5718 <std_clk_calib+0x26c>
    55ba:	079a      	br      	0x54ee	// 54ee <std_clk_calib+0x42>
    55bc:	3b44      	cmpnei      	r3, 4
    55be:	0809      	bt      	0x55d0	// 55d0 <std_clk_calib+0x124>
    55c0:	3300      	movi      	r3, 0
    55c2:	dc6e000b 	st.b      	r3, (r14, 0xb)
    55c6:	1276      	lrw      	r3, 0x54c720	// 571c <std_clk_calib+0x270>
    55c8:	b863      	st.w      	r3, (r14, 0xc)
    55ca:	3380      	movi      	r3, 128
    55cc:	4369      	lsli      	r3, r3, 9
    55ce:	0793      	br      	0x54f4	// 54f4 <std_clk_calib+0x48>
    55d0:	3b45      	cmpnei      	r3, 5
    55d2:	0806      	bt      	0x55de	// 55de <std_clk_calib+0x132>
    55d4:	3300      	movi      	r3, 0
    55d6:	dc6e000b 	st.b      	r3, (r14, 0xb)
    55da:	1272      	lrw      	r3, 0x3ffed0	// 5720 <std_clk_calib+0x274>
    55dc:	07f6      	br      	0x55c8	// 55c8 <std_clk_calib+0x11c>
    55de:	3b46      	cmpnei      	r3, 6
    55e0:	0806      	bt      	0x55ec	// 55ec <std_clk_calib+0x140>
    55e2:	3300      	movi      	r3, 0
    55e4:	dc6e000b 	st.b      	r3, (r14, 0xb)
    55e8:	126f      	lrw      	r3, 0x1fff68	// 5724 <std_clk_calib+0x278>
    55ea:	07ef      	br      	0x55c8	// 55c8 <std_clk_calib+0x11c>
    55ec:	3b47      	cmpnei      	r3, 7
    55ee:	0b84      	bt      	0x54f6	// 54f6 <std_clk_calib+0x4a>
    55f0:	3300      	movi      	r3, 0
    55f2:	dc6e000b 	st.b      	r3, (r14, 0xb)
    55f6:	126d      	lrw      	r3, 0x1ffb8	// 5728 <std_clk_calib+0x27c>
    55f8:	07e8      	br      	0x55c8	// 55c8 <std_clk_calib+0x11c>
    55fa:	9560      	ld.w      	r3, (r5, 0x0)
    55fc:	3101      	movi      	r1, 1
    55fe:	9440      	ld.w      	r2, (r4, 0x0)
    5600:	b321      	st.w      	r1, (r3, 0x4)
    5602:	b220      	st.w      	r1, (r2, 0x0)
    5604:	3100      	movi      	r1, 0
    5606:	b327      	st.w      	r1, (r3, 0x1c)
    5608:	3004      	movi      	r0, 4
    560a:	b225      	st.w      	r1, (r2, 0x14)
    560c:	932e      	ld.w      	r1, (r3, 0x38)
    560e:	6840      	and      	r1, r0
    5610:	3940      	cmpnei      	r1, 0
    5612:	0ffd      	bf      	0x560c	// 560c <std_clk_calib+0x160>
    5614:	9225      	ld.w      	r1, (r2, 0x14)
    5616:	b82a      	st.w      	r1, (r14, 0x28)
    5618:	3100      	movi      	r1, 0
    561a:	b310      	st.w      	r0, (r3, 0x40)
    561c:	b327      	st.w      	r1, (r3, 0x1c)
    561e:	3004      	movi      	r0, 4
    5620:	b225      	st.w      	r1, (r2, 0x14)
    5622:	932e      	ld.w      	r1, (r3, 0x38)
    5624:	6840      	and      	r1, r0
    5626:	3940      	cmpnei      	r1, 0
    5628:	0ffd      	bf      	0x5622	// 5622 <std_clk_calib+0x176>
    562a:	9225      	ld.w      	r1, (r2, 0x14)
    562c:	b82b      	st.w      	r1, (r14, 0x2c)
    562e:	3100      	movi      	r1, 0
    5630:	b310      	st.w      	r0, (r3, 0x40)
    5632:	b327      	st.w      	r1, (r3, 0x1c)
    5634:	3004      	movi      	r0, 4
    5636:	b225      	st.w      	r1, (r2, 0x14)
    5638:	932e      	ld.w      	r1, (r3, 0x38)
    563a:	6840      	and      	r1, r0
    563c:	3940      	cmpnei      	r1, 0
    563e:	0ffd      	bf      	0x5638	// 5638 <std_clk_calib+0x18c>
    5640:	9225      	ld.w      	r1, (r2, 0x14)
    5642:	b82c      	st.w      	r1, (r14, 0x30)
    5644:	b310      	st.w      	r0, (r3, 0x40)
    5646:	982b      	ld.w      	r1, (r14, 0x2c)
    5648:	980c      	ld.w      	r0, (r14, 0x30)
    564a:	6040      	addu      	r1, r0
    564c:	b829      	st.w      	r1, (r14, 0x24)
    564e:	9829      	ld.w      	r1, (r14, 0x24)
    5650:	4921      	lsri      	r1, r1, 1
    5652:	b829      	st.w      	r1, (r14, 0x24)
    5654:	3100      	movi      	r1, 0
    5656:	b321      	st.w      	r1, (r3, 0x4)
    5658:	b220      	st.w      	r1, (r2, 0x0)
    565a:	b327      	st.w      	r1, (r3, 0x1c)
    565c:	b225      	st.w      	r1, (r2, 0x14)
    565e:	d86e0009 	ld.b      	r3, (r14, 0x9)
    5662:	3b42      	cmpnei      	r3, 2
    5664:	9849      	ld.w      	r2, (r14, 0x24)
    5666:	082c      	bt      	0x56be	// 56be <std_clk_calib+0x212>
    5668:	1171      	lrw      	r3, 0x7ff	// 572c <std_clk_calib+0x280>
    566a:	648c      	cmphs      	r3, r2
    566c:	0c03      	bf      	0x5672	// 5672 <std_clk_calib+0x1c6>
    566e:	3300      	movi      	r3, 0
    5670:	040f      	br      	0x568e	// 568e <std_clk_calib+0x1e2>
    5672:	9849      	ld.w      	r2, (r14, 0x24)
    5674:	9866      	ld.w      	r3, (r14, 0x18)
    5676:	648c      	cmphs      	r3, r2
    5678:	080e      	bt      	0x5694	// 5694 <std_clk_calib+0x1e8>
    567a:	9868      	ld.w      	r3, (r14, 0x20)
    567c:	9847      	ld.w      	r2, (r14, 0x1c)
    567e:	60ca      	subu      	r3, r2
    5680:	b868      	st.w      	r3, (r14, 0x20)
    5682:	32fe      	movi      	r2, 254
    5684:	9868      	ld.w      	r3, (r14, 0x20)
    5686:	4248      	lsli      	r2, r2, 8
    5688:	68c8      	and      	r3, r2
    568a:	3b40      	cmpnei      	r3, 0
    568c:	0812      	bt      	0x56b0	// 56b0 <std_clk_calib+0x204>
    568e:	dc6e000a 	st.b      	r3, (r14, 0xa)
    5692:	0721      	br      	0x54d4	// 54d4 <std_clk_calib+0x28>
    5694:	9849      	ld.w      	r2, (r14, 0x24)
    5696:	9865      	ld.w      	r3, (r14, 0x14)
    5698:	64c8      	cmphs      	r2, r3
    569a:	0829      	bt      	0x56ec	// 56ec <std_clk_calib+0x240>
    569c:	9868      	ld.w      	r3, (r14, 0x20)
    569e:	9847      	ld.w      	r2, (r14, 0x1c)
    56a0:	60c8      	addu      	r3, r2
    56a2:	b868      	st.w      	r3, (r14, 0x20)
    56a4:	33fe      	movi      	r3, 254
    56a6:	9848      	ld.w      	r2, (r14, 0x20)
    56a8:	4368      	lsli      	r3, r3, 8
    56aa:	688c      	and      	r2, r3
    56ac:	64ca      	cmpne      	r2, r3
    56ae:	0fe0      	bf      	0x566e	// 566e <std_clk_calib+0x1c2>
    56b0:	9660      	ld.w      	r3, (r6, 0x0)
    56b2:	9848      	ld.w      	r2, (r14, 0x20)
    56b4:	b354      	st.w      	r2, (r3, 0x50)
    56b6:	3001      	movi      	r0, 1
    56b8:	e3ffe4ea 	bsr      	0x208c	// 208c <delay_nms>
    56bc:	075e      	br      	0x5578	// 5578 <std_clk_calib+0xcc>
    56be:	9866      	ld.w      	r3, (r14, 0x18)
    56c0:	648c      	cmphs      	r3, r2
    56c2:	0809      	bt      	0x56d4	// 56d4 <std_clk_calib+0x228>
    56c4:	9868      	ld.w      	r3, (r14, 0x20)
    56c6:	9847      	ld.w      	r2, (r14, 0x1c)
    56c8:	60ca      	subu      	r3, r2
    56ca:	b868      	st.w      	r3, (r14, 0x20)
    56cc:	32ff      	movi      	r2, 255
    56ce:	9868      	ld.w      	r3, (r14, 0x20)
    56d0:	4250      	lsli      	r2, r2, 16
    56d2:	07db      	br      	0x5688	// 5688 <std_clk_calib+0x1dc>
    56d4:	9849      	ld.w      	r2, (r14, 0x24)
    56d6:	9865      	ld.w      	r3, (r14, 0x14)
    56d8:	64c8      	cmphs      	r2, r3
    56da:	0809      	bt      	0x56ec	// 56ec <std_clk_calib+0x240>
    56dc:	9868      	ld.w      	r3, (r14, 0x20)
    56de:	9847      	ld.w      	r2, (r14, 0x1c)
    56e0:	60c8      	addu      	r3, r2
    56e2:	b868      	st.w      	r3, (r14, 0x20)
    56e4:	33ff      	movi      	r3, 255
    56e6:	9848      	ld.w      	r2, (r14, 0x20)
    56e8:	4370      	lsli      	r3, r3, 16
    56ea:	07e0      	br      	0x56aa	// 56aa <std_clk_calib+0x1fe>
    56ec:	3300      	movi      	r3, 0
    56ee:	dc6e000a 	st.b      	r3, (r14, 0xa)
    56f2:	07e2      	br      	0x56b6	// 56b6 <std_clk_calib+0x20a>
    56f4:	2000005c 	.long	0x2000005c
    56f8:	2000000c 	.long	0x2000000c
    56fc:	02dc6c00 	.long	0x02dc6c00
    5700:	0000ffff 	.long	0x0000ffff
    5704:	20000014 	.long	0x20000014
    5708:	be9c0005 	.long	0xbe9c0005
    570c:	00030010 	.long	0x00030010
    5710:	016e3600 	.long	0x016e3600
    5714:	00b71b00 	.long	0x00b71b00
    5718:	005b8d80 	.long	0x005b8d80
    571c:	0054c720 	.long	0x0054c720
    5720:	003ffed0 	.long	0x003ffed0
    5724:	001fff68 	.long	0x001fff68
    5728:	0001ffb8 	.long	0x0001ffb8
    572c:	000007ff 	.long	0x000007ff
