diff --git a/piaplus/bootloader07/bootloader07.c b/piaplus/bootloader07/bootloader07.c index 067e370..7d14667 100644 --- a/piaplus/bootloader07/bootloader07.c +++ b/piaplus/bootloader07/bootloader07.c @@ -30,6 +30,8 @@ extern unsigned int timer_tick ( void ); extern void timer_init ( void ); extern unsigned int timer_tick ( void ); +extern void leds_off ( void ); + //------------------------------------------------------------------------ int notmain ( void ) { @@ -42,6 +44,7 @@ int notmain ( void ) unsigned int sum; unsigned int ra; + leds_off(); uart_init(); hexstring(0x12345678); hexstring(GETPC()); diff --git a/piaplus/bootloader07/bootloader07.o b/piaplus/bootloader07/bootloader07.o index 56df2d6..352176d 100644 Binary files a/piaplus/bootloader07/bootloader07.o and b/piaplus/bootloader07/bootloader07.o differ diff --git a/piaplus/bootloader07/bootloader07_rpi1.elf b/piaplus/bootloader07/bootloader07_rpi1.elf index 450bd3f..8001abc 100755 Binary files a/piaplus/bootloader07/bootloader07_rpi1.elf and b/piaplus/bootloader07/bootloader07_rpi1.elf differ diff --git a/piaplus/bootloader07/bootloader07_rpi1.hex b/piaplus/bootloader07/bootloader07_rpi1.hex index ddb477d..c015c2a 100644 --- a/piaplus/bootloader07/bootloader07_rpi1.hex +++ b/piaplus/bootloader07/bootloader07_rpi1.hex @@ -129055,7 +129055,7 @@ :10FFE0000000000000000000000000000000000011 :10FFF0000000000000000000000000000000000001 :020000040020DA -:1000000002D3A0E3A60000EBFEFFFFEA001080E5AC +:1000000002D3A0E3C00000EBFEFFFFEA001080E592 :100010001EFF2FE1B010C0E11EFF2FE10010C0E570 :100020001EFF2FE1000090E51EFF2FE10E00A0E172 :100030001EFF2FE110FF2FE11EFF2FE110402DE9E1 @@ -129097,43 +129097,50 @@ :100270000400A0E10C109FE563FFFFEB1040BDE818 :100280001EFF2FE108B400200002F90010402DE904 :1002900008009FE562FFFFEB1040BDE81EFF2FE165 -:1002A00020B40020F0472DE90080A0E3A6FFFFEB7B -:1002B00040029FE59DFFFFEB5BFFFFEB9BFFFFEB2A -:1002C0004900A0E375FFFFEB4800A0E373FFFFEBDD -:1002D0004500A0E371FFFFEB5800A0E36FFFFFEBC9 -:1002E0000D00A0E36DFFFFEB0A00A0E30890A0E182 -:1002F0000860A0E10850A0E10870A0E10840A0E17A -:1003000066FFFFEB52FFFFEB3A0050E32B00000AC1 -:100310000D0050E30A00501301A0A00300A0A01399 -:100320002900000A2030C0E3470053E35000000AD0 -:10033000013044E2140053E303F19F97F0FFFFEA1A -:10034000B0032000B003200050042000500420001F -:10035000500420005004200030042000F803200046 -:10036000D4032000D4032000D4032000D4032000B1 -:10037000C80320009403200094032000940320006D -:100380009403200094032000940320009403200091 -:1003900094032000390050E3070040820992A0E155 -:1003A0000F0000E2150054E3099080E14500000AC7 -:1003B00027FFFFEB3A0050E3014084E2D3FFFF1A2E -:1003C0000140A0E3CEFFFFEA0662A0E10040A0E307 -:1003D000CBFFFFEA390050E3070040820662A0E14C -:1003E0000F0000E2066080E10668A0E12668A0E157 -:1003F000014084E2C2FFFFEA390050E30700408277 -:100400000552A0E10F0000E2055080E1FF5005E237 -:10041000010055E32700000A0E40A033B8FFFF3A61 -:10042000020055E30940A0030040A013B4FFFFEA17 -:10043000390050E3070040820552A0E10F0000E2BE -:10044000055080E1FF5005E20840A0E3ACFFFFEA61 -:10045000390050E3070040820772A0E10F0000E27C -:10046000077080E10778A0E1277886E1014084E207 -:10047000A3FFFFEA0D00A0E308FFFFEB2D00A0E3C0 -:1004800006FFFFEB2D00A0E304FFFFEB0D00A0E350 -:1004900002FFFFEB0A00A0E300FFFFEB0A00A0E36E -:1004A000FEFEFFEB0209A0E3E1FEFFEB0A00A0E184 -:1004B000F047BDE81EFF2FE10800A0E11BFFFFEBA6 -:1004C0000040A0E38EFFFFEA693829E02334A0E171 -:1004D000FF3CC3E3699423E00700A0E1088087E0C4 -:1004E0000910A0E1C8FEFFEB088089E0047087E2F4 -:0C04F0000E40A0E382FFFFEA78563412B1 +:1002A00020B4002070402DE954409FE50400A0E1F7 +:1002B0005BFFFFEB4C509FE50E16C0E3021681E397 +:1002C0000400A0E150FFFFEB0500A0E154FFFFEBAD +:1002D0000E19C0E31C4084E20500A0E1021981E38D +:1002E00049FFFFEB0400A0E10219A0E346FFFFEB8A +:1002F0000400A0E10810A0E343FFFFEB7040BDE85D +:100300001EFF2FE1100020200C002020F0472DE9D7 +:100310000080A0E3E2FFFFEB8BFFFFEB40029FE5D5 +:1003200082FFFFEB40FFFFEB80FFFFEB4900A0E304 +:100330005AFFFFEB4800A0E358FFFFEB4500A0E3A6 +:1003400056FFFFEB5800A0E354FFFFEB0D00A0E3C6 +:1003500052FFFFEB0A00A0E30890A0E10860A0E1D3 +:100360000850A0E10870A0E10840A0E14BFFFFEBBE +:1003700037FFFFEB3A0050E32B00000A0D0050E37B +:100380000A00501301A0A00300A0A0132900000A36 +:100390002030C0E3470053E35000000A013044E23C +:1003A000140053E303F19F97F0FFFFEA1C042000C1 +:1003B0001C042000BC042000BC042000BC0420005D +:1003C000BC0420009C0420006404200040042000A1 +:1003D0004004200040042000400420003404200099 +:1003E000000420000004200000042000000420007D +:1003F000000420000004200000042000000420006D +:10040000390050E3070040820992A0E10F0000E2AA +:10041000150054E3099080E14500000A0CFFFFEB52 +:100420003A0050E3014084E2D3FFFF1A0140A0E309 +:10043000CEFFFFEA0662A0E10040A0E3CBFFFFEAA7 +:10044000390050E3070040820662A0E10F0000E29D +:10045000066080E10668A0E12668A0E1014084E230 +:10046000C2FFFFEA390050E3070040820552A0E1D5 +:100470000F0000E2055080E1FF5005E2010055E366 +:100480002700000A0E40A033B8FFFF3A020055E3F0 +:100490000940A0030040A013B4FFFFEA390050E375 +:1004A000070040820552A0E10F0000E2055080E104 +:1004B000FF5005E20840A0E3ACFFFFEA390050E33B +:1004C000070040820772A0E10F0000E2077080E1A0 +:1004D0000778A0E1277886E1014084E2A3FFFFEAE4 +:1004E0000D00A0E3EDFEFFEB2D00A0E3EBFEFFEB24 +:1004F0002D00A0E3E9FEFFEB0D00A0E3E7FEFFEB1C +:100500000A00A0E3E5FEFFEB0A00A0E3E3FEFFEB39 +:100510000209A0E3C6FEFFEB0A00A0E1F047BDE838 +:100520001EFF2FE10800A0E100FFFFEB0040A0E369 +:100530008EFFFFEA693829E02334A0E1FF3CC3E3E2 +:10054000699423E00700A0E1088087E00910A0E19A +:10055000ADFEFFEB088089E0047087E20E40A0E367 +:0805600082FFFFEA7856341215 :040000030000800079 :00000001FF diff --git a/piaplus/bootloader07/bootloader07_rpi1.list b/piaplus/bootloader07/bootloader07_rpi1.list index 0cbb53c..6591402 100644 --- a/piaplus/bootloader07/bootloader07_rpi1.list +++ b/piaplus/bootloader07/bootloader07_rpi1.list @@ -10,7 +10,7 @@ Disassembly of section .text: 00200000 : 200000: e3a0d302 mov sp, #134217728 ; 0x8000000 - 200004: eb0000a6 bl 2002a4 + 200004: eb0000c0 bl 20030c 00200008 : 200008: eafffffe b 200008 @@ -215,157 +215,186 @@ Disassembly of section .text: 20029c: e12fff1e bx lr 2002a0: 2000b420 andcs fp, r0, r0, lsr #8 -002002a4 : - 2002a4: e92d47f0 push {r4, r5, r6, r7, r8, r9, sl, lr} - 2002a8: e3a08000 mov r8, #0 - 2002ac: ebffffa6 bl 20014c - 2002b0: e59f0240 ldr r0, [pc, #576] ; 2004f8 - 2002b4: ebffff9d bl 200130 - 2002b8: ebffff5b bl 20002c - 2002bc: ebffff9b bl 200130 - 2002c0: e3a00049 mov r0, #73 ; 0x49 - 2002c4: ebffff75 bl 2000a0 - 2002c8: e3a00048 mov r0, #72 ; 0x48 - 2002cc: ebffff73 bl 2000a0 - 2002d0: e3a00045 mov r0, #69 ; 0x45 - 2002d4: ebffff71 bl 2000a0 - 2002d8: e3a00058 mov r0, #88 ; 0x58 - 2002dc: ebffff6f bl 2000a0 - 2002e0: e3a0000d mov r0, #13 - 2002e4: ebffff6d bl 2000a0 - 2002e8: e3a0000a mov r0, #10 - 2002ec: e1a09008 mov r9, r8 - 2002f0: e1a06008 mov r6, r8 - 2002f4: e1a05008 mov r5, r8 - 2002f8: e1a07008 mov r7, r8 - 2002fc: e1a04008 mov r4, r8 - 200300: ebffff66 bl 2000a0 - 200304: ebffff52 bl 200054 - 200308: e350003a cmp r0, #58 ; 0x3a - 20030c: 0a00002b beq 2003c0 - 200310: e350000d cmp r0, #13 - 200314: 1350000a cmpne r0, #10 - 200318: 03a0a001 moveq sl, #1 - 20031c: 13a0a000 movne sl, #0 - 200320: 0a000029 beq 2003cc - 200324: e3c03020 bic r3, r0, #32 - 200328: e3530047 cmp r3, #71 ; 0x47 - 20032c: 0a000050 beq 200474 - 200330: e2443001 sub r3, r4, #1 - 200334: e3530014 cmp r3, #20 - 200338: 979ff103 ldrls pc, [pc, r3, lsl #2] - 20033c: eafffff0 b 200304 - 200340: 002003b0 strhteq r0, [r0], -r0 - 200344: 002003b0 strhteq r0, [r0], -r0 - 200348: 00200450 eoreq r0, r0, r0, asr r4 - 20034c: 00200450 eoreq r0, r0, r0, asr r4 - 200350: 00200450 eoreq r0, r0, r0, asr r4 - 200354: 00200450 eoreq r0, r0, r0, asr r4 - 200358: 00200430 eoreq r0, r0, r0, lsr r4 - 20035c: 002003f8 strdeq r0, [r0], -r8 ; - 200360: 002003d4 ldrdeq r0, [r0], -r4 ; - 200364: 002003d4 ldrdeq r0, [r0], -r4 ; - 200368: 002003d4 ldrdeq r0, [r0], -r4 ; - 20036c: 002003d4 ldrdeq r0, [r0], -r4 ; - 200370: 002003c8 eoreq r0, r0, r8, asr #7 - 200374: 00200394 mlaeq r0, r4, r3, r0 - 200378: 00200394 mlaeq r0, r4, r3, r0 - 20037c: 00200394 mlaeq r0, r4, r3, r0 - 200380: 00200394 mlaeq r0, r4, r3, r0 - 200384: 00200394 mlaeq r0, r4, r3, r0 - 200388: 00200394 mlaeq r0, r4, r3, r0 - 20038c: 00200394 mlaeq r0, r4, r3, r0 - 200390: 00200394 mlaeq r0, r4, r3, r0 - 200394: e3500039 cmp r0, #57 ; 0x39 - 200398: 82400007 subhi r0, r0, #7 - 20039c: e1a09209 lsl r9, r9, #4 - 2003a0: e200000f and r0, r0, #15 - 2003a4: e3540015 cmp r4, #21 - 2003a8: e1809009 orr r9, r0, r9 - 2003ac: 0a000045 beq 2004c8 - 2003b0: ebffff27 bl 200054 - 2003b4: e350003a cmp r0, #58 ; 0x3a - 2003b8: e2844001 add r4, r4, #1 - 2003bc: 1affffd3 bne 200310 - 2003c0: e3a04001 mov r4, #1 - 2003c4: eaffffce b 200304 - 2003c8: e1a06206 lsl r6, r6, #4 - 2003cc: e3a04000 mov r4, #0 - 2003d0: eaffffcb b 200304 - 2003d4: e3500039 cmp r0, #57 ; 0x39 - 2003d8: 82400007 subhi r0, r0, #7 - 2003dc: e1a06206 lsl r6, r6, #4 - 2003e0: e200000f and r0, r0, #15 - 2003e4: e1806006 orr r6, r0, r6 - 2003e8: e1a06806 lsl r6, r6, #16 - 2003ec: e1a06826 lsr r6, r6, #16 - 2003f0: e2844001 add r4, r4, #1 - 2003f4: eaffffc2 b 200304 - 2003f8: e3500039 cmp r0, #57 ; 0x39 - 2003fc: 82400007 subhi r0, r0, #7 - 200400: e1a05205 lsl r5, r5, #4 - 200404: e200000f and r0, r0, #15 - 200408: e1805005 orr r5, r0, r5 - 20040c: e20550ff and r5, r5, #255 ; 0xff - 200410: e3550001 cmp r5, #1 - 200414: 0a000027 beq 2004b8 - 200418: 33a0400e movcc r4, #14 - 20041c: 3affffb8 bcc 200304 - 200420: e3550002 cmp r5, #2 - 200424: 03a04009 moveq r4, #9 - 200428: 13a04000 movne r4, #0 - 20042c: eaffffb4 b 200304 - 200430: e3500039 cmp r0, #57 ; 0x39 - 200434: 82400007 subhi r0, r0, #7 - 200438: e1a05205 lsl r5, r5, #4 - 20043c: e200000f and r0, r0, #15 - 200440: e1805005 orr r5, r0, r5 - 200444: e20550ff and r5, r5, #255 ; 0xff - 200448: e3a04008 mov r4, #8 - 20044c: eaffffac b 200304 - 200450: e3500039 cmp r0, #57 ; 0x39 - 200454: 82400007 subhi r0, r0, #7 - 200458: e1a07207 lsl r7, r7, #4 - 20045c: e200000f and r0, r0, #15 - 200460: e1807007 orr r7, r0, r7 - 200464: e1a07807 lsl r7, r7, #16 - 200468: e1867827 orr r7, r6, r7, lsr #16 - 20046c: e2844001 add r4, r4, #1 - 200470: eaffffa3 b 200304 - 200474: e3a0000d mov r0, #13 - 200478: ebffff08 bl 2000a0 - 20047c: e3a0002d mov r0, #45 ; 0x2d - 200480: ebffff06 bl 2000a0 - 200484: e3a0002d mov r0, #45 ; 0x2d - 200488: ebffff04 bl 2000a0 - 20048c: e3a0000d mov r0, #13 - 200490: ebffff02 bl 2000a0 - 200494: e3a0000a mov r0, #10 - 200498: ebffff00 bl 2000a0 - 20049c: e3a0000a mov r0, #10 - 2004a0: ebfffefe bl 2000a0 - 2004a4: e3a00902 mov r0, #32768 ; 0x8000 - 2004a8: ebfffee1 bl 200034 - 2004ac: e1a0000a mov r0, sl - 2004b0: e8bd47f0 pop {r4, r5, r6, r7, r8, r9, sl, lr} - 2004b4: e12fff1e bx lr - 2004b8: e1a00008 mov r0, r8 - 2004bc: ebffff1b bl 200130 - 2004c0: e3a04000 mov r4, #0 - 2004c4: eaffff8e b 200304 - 2004c8: e0293869 eor r3, r9, r9, ror #16 - 2004cc: e1a03423 lsr r3, r3, #8 - 2004d0: e3c33cff bic r3, r3, #65280 ; 0xff00 - 2004d4: e0239469 eor r9, r3, r9, ror #8 - 2004d8: e1a00007 mov r0, r7 - 2004dc: e0878008 add r8, r7, r8 - 2004e0: e1a01009 mov r1, r9 - 2004e4: ebfffec8 bl 20000c - 2004e8: e0898008 add r8, r9, r8 - 2004ec: e2877004 add r7, r7, #4 - 2004f0: e3a0400e mov r4, #14 - 2004f4: eaffff82 b 200304 - 2004f8: 12345678 eorsne r5, r4, #120, 12 ; 0x7800000 +002002a4 : + 2002a4: e92d4070 push {r4, r5, r6, lr} + 2002a8: e59f4054 ldr r4, [pc, #84] ; 200304 + 2002ac: e1a00004 mov r0, r4 + 2002b0: ebffff5b bl 200024 + 2002b4: e59f504c ldr r5, [pc, #76] ; 200308 + 2002b8: e3c0160e bic r1, r0, #14680064 ; 0xe00000 + 2002bc: e3811602 orr r1, r1, #2097152 ; 0x200000 + 2002c0: e1a00004 mov r0, r4 + 2002c4: ebffff50 bl 20000c + 2002c8: e1a00005 mov r0, r5 + 2002cc: ebffff54 bl 200024 + 2002d0: e3c0190e bic r1, r0, #229376 ; 0x38000 + 2002d4: e284401c add r4, r4, #28 + 2002d8: e1a00005 mov r0, r5 + 2002dc: e3811902 orr r1, r1, #32768 ; 0x8000 + 2002e0: ebffff49 bl 20000c + 2002e4: e1a00004 mov r0, r4 + 2002e8: e3a01902 mov r1, #32768 ; 0x8000 + 2002ec: ebffff46 bl 20000c + 2002f0: e1a00004 mov r0, r4 + 2002f4: e3a01008 mov r1, #8 + 2002f8: ebffff43 bl 20000c + 2002fc: e8bd4070 pop {r4, r5, r6, lr} + 200300: e12fff1e bx lr + 200304: 20200010 eorcs r0, r0, r0, lsl r0 + 200308: 2020000c eorcs r0, r0, ip + +0020030c : + 20030c: e92d47f0 push {r4, r5, r6, r7, r8, r9, sl, lr} + 200310: e3a08000 mov r8, #0 + 200314: ebffffe2 bl 2002a4 + 200318: ebffff8b bl 20014c + 20031c: e59f0240 ldr r0, [pc, #576] ; 200564 + 200320: ebffff82 bl 200130 + 200324: ebffff40 bl 20002c + 200328: ebffff80 bl 200130 + 20032c: e3a00049 mov r0, #73 ; 0x49 + 200330: ebffff5a bl 2000a0 + 200334: e3a00048 mov r0, #72 ; 0x48 + 200338: ebffff58 bl 2000a0 + 20033c: e3a00045 mov r0, #69 ; 0x45 + 200340: ebffff56 bl 2000a0 + 200344: e3a00058 mov r0, #88 ; 0x58 + 200348: ebffff54 bl 2000a0 + 20034c: e3a0000d mov r0, #13 + 200350: ebffff52 bl 2000a0 + 200354: e3a0000a mov r0, #10 + 200358: e1a09008 mov r9, r8 + 20035c: e1a06008 mov r6, r8 + 200360: e1a05008 mov r5, r8 + 200364: e1a07008 mov r7, r8 + 200368: e1a04008 mov r4, r8 + 20036c: ebffff4b bl 2000a0 + 200370: ebffff37 bl 200054 + 200374: e350003a cmp r0, #58 ; 0x3a + 200378: 0a00002b beq 20042c + 20037c: e350000d cmp r0, #13 + 200380: 1350000a cmpne r0, #10 + 200384: 03a0a001 moveq sl, #1 + 200388: 13a0a000 movne sl, #0 + 20038c: 0a000029 beq 200438 + 200390: e3c03020 bic r3, r0, #32 + 200394: e3530047 cmp r3, #71 ; 0x47 + 200398: 0a000050 beq 2004e0 + 20039c: e2443001 sub r3, r4, #1 + 2003a0: e3530014 cmp r3, #20 + 2003a4: 979ff103 ldrls pc, [pc, r3, lsl #2] + 2003a8: eafffff0 b 200370 + 2003ac: 0020041c eoreq r0, r0, ip, lsl r4 + 2003b0: 0020041c eoreq r0, r0, ip, lsl r4 + 2003b4: 002004bc strhteq r0, [r0], -ip + 2003b8: 002004bc strhteq r0, [r0], -ip + 2003bc: 002004bc strhteq r0, [r0], -ip + 2003c0: 002004bc strhteq r0, [r0], -ip + 2003c4: 0020049c mlaeq r0, ip, r4, r0 + 2003c8: 00200464 eoreq r0, r0, r4, ror #8 + 2003cc: 00200440 eoreq r0, r0, r0, asr #8 + 2003d0: 00200440 eoreq r0, r0, r0, asr #8 + 2003d4: 00200440 eoreq r0, r0, r0, asr #8 + 2003d8: 00200440 eoreq r0, r0, r0, asr #8 + 2003dc: 00200434 eoreq r0, r0, r4, lsr r4 + 2003e0: 00200400 eoreq r0, r0, r0, lsl #8 + 2003e4: 00200400 eoreq r0, r0, r0, lsl #8 + 2003e8: 00200400 eoreq r0, r0, r0, lsl #8 + 2003ec: 00200400 eoreq r0, r0, r0, lsl #8 + 2003f0: 00200400 eoreq r0, r0, r0, lsl #8 + 2003f4: 00200400 eoreq r0, r0, r0, lsl #8 + 2003f8: 00200400 eoreq r0, r0, r0, lsl #8 + 2003fc: 00200400 eoreq r0, r0, r0, lsl #8 + 200400: e3500039 cmp r0, #57 ; 0x39 + 200404: 82400007 subhi r0, r0, #7 + 200408: e1a09209 lsl r9, r9, #4 + 20040c: e200000f and r0, r0, #15 + 200410: e3540015 cmp r4, #21 + 200414: e1809009 orr r9, r0, r9 + 200418: 0a000045 beq 200534 + 20041c: ebffff0c bl 200054 + 200420: e350003a cmp r0, #58 ; 0x3a + 200424: e2844001 add r4, r4, #1 + 200428: 1affffd3 bne 20037c + 20042c: e3a04001 mov r4, #1 + 200430: eaffffce b 200370 + 200434: e1a06206 lsl r6, r6, #4 + 200438: e3a04000 mov r4, #0 + 20043c: eaffffcb b 200370 + 200440: e3500039 cmp r0, #57 ; 0x39 + 200444: 82400007 subhi r0, r0, #7 + 200448: e1a06206 lsl r6, r6, #4 + 20044c: e200000f and r0, r0, #15 + 200450: e1806006 orr r6, r0, r6 + 200454: e1a06806 lsl r6, r6, #16 + 200458: e1a06826 lsr r6, r6, #16 + 20045c: e2844001 add r4, r4, #1 + 200460: eaffffc2 b 200370 + 200464: e3500039 cmp r0, #57 ; 0x39 + 200468: 82400007 subhi r0, r0, #7 + 20046c: e1a05205 lsl r5, r5, #4 + 200470: e200000f and r0, r0, #15 + 200474: e1805005 orr r5, r0, r5 + 200478: e20550ff and r5, r5, #255 ; 0xff + 20047c: e3550001 cmp r5, #1 + 200480: 0a000027 beq 200524 + 200484: 33a0400e movcc r4, #14 + 200488: 3affffb8 bcc 200370 + 20048c: e3550002 cmp r5, #2 + 200490: 03a04009 moveq r4, #9 + 200494: 13a04000 movne r4, #0 + 200498: eaffffb4 b 200370 + 20049c: e3500039 cmp r0, #57 ; 0x39 + 2004a0: 82400007 subhi r0, r0, #7 + 2004a4: e1a05205 lsl r5, r5, #4 + 2004a8: e200000f and r0, r0, #15 + 2004ac: e1805005 orr r5, r0, r5 + 2004b0: e20550ff and r5, r5, #255 ; 0xff + 2004b4: e3a04008 mov r4, #8 + 2004b8: eaffffac b 200370 + 2004bc: e3500039 cmp r0, #57 ; 0x39 + 2004c0: 82400007 subhi r0, r0, #7 + 2004c4: e1a07207 lsl r7, r7, #4 + 2004c8: e200000f and r0, r0, #15 + 2004cc: e1807007 orr r7, r0, r7 + 2004d0: e1a07807 lsl r7, r7, #16 + 2004d4: e1867827 orr r7, r6, r7, lsr #16 + 2004d8: e2844001 add r4, r4, #1 + 2004dc: eaffffa3 b 200370 + 2004e0: e3a0000d mov r0, #13 + 2004e4: ebfffeed bl 2000a0 + 2004e8: e3a0002d mov r0, #45 ; 0x2d + 2004ec: ebfffeeb bl 2000a0 + 2004f0: e3a0002d mov r0, #45 ; 0x2d + 2004f4: ebfffee9 bl 2000a0 + 2004f8: e3a0000d mov r0, #13 + 2004fc: ebfffee7 bl 2000a0 + 200500: e3a0000a mov r0, #10 + 200504: ebfffee5 bl 2000a0 + 200508: e3a0000a mov r0, #10 + 20050c: ebfffee3 bl 2000a0 + 200510: e3a00902 mov r0, #32768 ; 0x8000 + 200514: ebfffec6 bl 200034 + 200518: e1a0000a mov r0, sl + 20051c: e8bd47f0 pop {r4, r5, r6, r7, r8, r9, sl, lr} + 200520: e12fff1e bx lr + 200524: e1a00008 mov r0, r8 + 200528: ebffff00 bl 200130 + 20052c: e3a04000 mov r4, #0 + 200530: eaffff8e b 200370 + 200534: e0293869 eor r3, r9, r9, ror #16 + 200538: e1a03423 lsr r3, r3, #8 + 20053c: e3c33cff bic r3, r3, #65280 ; 0xff00 + 200540: e0239469 eor r9, r3, r9, ror #8 + 200544: e1a00007 mov r0, r7 + 200548: e0878008 add r8, r7, r8 + 20054c: e1a01009 mov r1, r9 + 200550: ebfffead bl 20000c + 200554: e0898008 add r8, r9, r8 + 200558: e2877004 add r7, r7, #4 + 20055c: e3a0400e mov r4, #14 + 200560: eaffff82 b 200370 + 200564: 12345678 eorsne r5, r4, #120, 12 ; 0x7800000 Disassembly of section .ARM.attributes: @@ -386,7 +415,7 @@ Disassembly of section .ARM.attributes: Disassembly of section .comment: 00000000 <.comment>: - 0: 3a434347 bcc 10d0d24 + 0: 3a434347 bcc 10d0d24 4: 4e472820 cdpmi 8, 4, cr2, cr7, cr0, {1} 8: 35202955 strcc r2, [r0, #-2389]! ; 0xfffff6ab c: 302e332e eorcc r3, lr, lr, lsr #6 diff --git a/piaplus/bootloader07/kernel.img b/piaplus/bootloader07/kernel.img index 51a1a86..74402b8 100755 Binary files a/piaplus/bootloader07/kernel.img and b/piaplus/bootloader07/kernel.img differ diff --git a/piaplus/bootloader07/periph.c b/piaplus/bootloader07/periph.c index ef81e1c..3102f61 100644 --- a/piaplus/bootloader07/periph.c +++ b/piaplus/bootloader07/periph.c @@ -136,8 +136,28 @@ unsigned int timer_tick ( void ) return(GET32(ARM_TIMER_CNT)); } //------------------------------------------------------------------------- -//------------------------------------------------------------------------- +void leds_off ( void ) +{ +#define GPFSEL3 0x2020000C +#define GPFSEL4 0x20200010 +#define GPSET1 0x20200020 +#define GPCLR1 0x2020002C + unsigned int ra; + ra=GET32(GPFSEL4); + ra&=~(7<<21); + ra|=1<<21; + PUT32(GPFSEL4,ra); + + ra=GET32(GPFSEL3); + ra&=~(7<<15); + ra|=1<<15; + PUT32(GPFSEL3,ra); + + PUT32(GPCLR1,1<<(47-32)); + PUT32(GPCLR1,1<<(35-32)); +} +//------------------------------------------------------------------------- //------------------------------------------------------------------------- // diff --git a/piaplus/bootloader07/periph.o b/piaplus/bootloader07/periph.o index cd4d517..e34a3ec 100644 Binary files a/piaplus/bootloader07/periph.o and b/piaplus/bootloader07/periph.o differ