; generated by Component: ARM Compiler 5.06 update 1 (build 61) Tool: ArmCC [4d35ad]
; commandline ArmCC [--list --debug -c --asm --interleave -o.\obj\sbl_main.o --asm_dir=.\Obj\ --list_dir=.\Obj\ --depend=.\obj\sbl_main.d --cpu=Cortex-M3 --apcs=interwork -O0 --diag_suppress=9931 -I. -I.\Core_CM3 -ID:\work\arm\lpc1769_eth_bootloader\RTE -I"C:\Program Files\Keil\ARM\PACK\Keil\LPC1700_DFP\2.2.0\Device\Include" -I"C:\Program Files\Keil\ARM\CMSIS\Include" -D__UVISION_VERSION=517 -DLPC175x_6x --omf_browse=.\obj\sbl_main.crf sbl_main.c]
                          THUMB

                          AREA ||.text||, CODE, READONLY, ALIGN=1

                  enter_isp PROC
;;;23     
;;;24     void enter_isp(void)
000000  2400              MOVS     r4,#0
;;;25     {
;;;26       int outsync_handshake = 0;
;;;27       board_init();
000002  f7fffffe          BL       board_init
;;;28       init_comms();
000006  f7fffffe          BL       init_comms
;;;29     
;;;30       /* resets when timeout occurs */
;;;31       while (1) {
00000a  e008              B        |L1.30|
                  |L1.12|
;;;32         if (comm_handshake(outsync_handshake)) continue;
00000c  4620              MOV      r0,r4
00000e  f7fffffe          BL       comm_handshake
000012  b100              CBZ      r0,|L1.22|
000014  e003              B        |L1.30|
                  |L1.22|
;;;33     	outsync_handshake = isp_cmd_loop();
000016  f7fffffe          BL       isp_cmd_loop
00001a  4604              MOV      r4,r0
00001c  bf00              NOP                            ;32
                  |L1.30|
00001e  e7f5              B        |L1.12|
;;;34       }
;;;35     }
;;;36     
                          ENDP

                  main PROC
;;;38     /* Main Program */
;;;39     int main(void)
000020  b510              PUSH     {r4,lr}
;;;40     {
;;;41       if ( !check_isp_entry_pin() ) {
000022  f7fffffe          BL       check_isp_entry_pin
000026  b910              CBNZ     r0,|L1.46|
;;;42         // isp entry not requested
;;;43         execute_user_code();
000028  f7fffffe          BL       execute_user_code
00002c  e001              B        |L1.50|
                  |L1.46|
;;;44       } else {
;;;45         // isp entry requested
;;;46         enter_isp();
00002e  f7fffffe          BL       enter_isp
                  |L1.50|
;;;47       }
;;;48     
;;;49       return 1;
000032  2001              MOVS     r0,#1
;;;50     }
000034  bd10              POP      {r4,pc}
                          ENDP


                          AREA ||.ARM.__at_0x2FC||, DATA, READONLY, ALIGN=2

                  ||crp||
                          DCD      0x11223344

                  __ARM_use_no_argv EQU 0
