1

I'm trying to run this bare metal code to turn BCM16 on. The code is made into raw binary and config.txt contains the necessary kernel= attribute. I measured with multimeter; nothing happened. What could be wrong?

00008000 <_start>:
    8000:   e59f001c    ldr r0, [pc, #28]   ; 8024 <hang+0x4>
    8004:   e3a01007    mov r1, #7
    8008:   e1a01901    lsl r1, r1, #18
    800c:   e5801000    str r1, [r0]
    8010:   e59f0010    ldr r0, [pc, #16]   ; 8028 <hang+0x8>
    8014:   e3a01001    mov r1, #1
    8018:   e1a01801    lsl r1, r1, #16
    801c:   e5801000    str r1, [r0]

00008020 <hang>:
    8020:   eafffffe    b   8020 <hang>
    8024:   3f200004    svccc   0x00200004
    8028:   3f20001c    svccc   0x0020001c
  • Someone in the official forum has figured out a bug regarding e3a01007 mov r1, #7, which should be #1, in order to set it to output function. I'll test the fix tomorrow and come back. – Xi Han Jul 29 '16 at 5:36
0

Just copying my comment here.

Someone in the official forum has figured out a bug regarding e3a01007 mov r1, #7, which should be #1, in order to set it to output function.

It was indeed the why it did not work.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.