Welcome to the Rockbox Technical Forums!
OrigEntry: .word 0 /* Enable the GPIO module clock */ LDR R1, =CGU_PERI LDR R2, [R1] MOV R0, #0x10000 ORR R2, R2, R0 STR R2, [R1] /* Be sure GPIOA port is set to all inputs*/ LDR R1, =GPIOA_REG MOV R2, #0 STR R2, [R1, #0x400] /* Read GPIOA pin 3 */ LDRB R2, [R1, #0x20] /* Check its state */ CMP R2, #0 /* Resume original firmware if hold is not active */ BEQ resume /* Make D7 an output */ LDR R2, =GPIOD_REG LDRB R0, [R2, #0x400] ORR R0, R0, #0x80 STRB R0, [R2, #0x400] /* Start by toggling off */ MOV R3, #0 /* Let's toggle 8 times (4 on/off cycles) */ MOV R1, #0x8loop1: /* toggle led on pin D7 */ STRB R3, [R2, #0x200] /* and prepare for next cycle */ EOR R3, R3, #0xFF /* approx 1/4 second delay */ MOV R0, #0x40000loop2: SUBS R0, R0, #1 BNE loop2 /* Let's do 4 on/off cycles */ SUBS R1, R1, #1 BNE loop1 resume: /* Jump back and resume original firmware! */ LDR PC, OrigEntry.set CGU_PERI, 0xC80F0014.set GPIOA_REG, 0xC80B0000.set GPIOD_REG, 0xC80E0000
dave@haganah:~/sansae200v2fw/16$ md5sum *bin12563ad71b25a1034cf2092d1e0218c4 e200pA.bin12563ad71b25a1034cf2092d1e0218c4 e200pE.bin12563ad71b25a1034cf2092d1e0218c4 e200pF.bin12563ad71b25a1034cf2092d1e0218c4 e200pG.bin12563ad71b25a1034cf2092d1e0218c4 e200pH.bin12563ad71b25a1034cf2092d1e0218c4 e200pM.bin12563ad71b25a1034cf2092d1e0218c4 e200pN.bin12563ad71b25a1034cf2092d1e0218c4 e200pS.bin
nevertheless, i wonder why sansa sells devices in germany with have radio chips built-in but are disabled via firmware, although there is a firmware which excludes the frequency range which normal people are not supposed to listen.
arm-elf-ld -e 0 -o test.elf test.otest.o: In function `loop2':: undefined reference to `loop1'make: *** [test.elf] Error 1
atomikpunk: when I tried to patch the firmware with the led blink code (just to see if it's there) I got a linker error:Code: [Select]arm-elf-ld -e 0 -o test.elf test.otest.o: In function `loop2':: undefined reference to `loop1'make: *** [test.elf] Error 1
Page created in 0.303 seconds with 20 queries.