author
7Instructables34,367Views21CommentsJoined August 17th, 2013
Sometimes I make things.

Achievements

10K+ Views Earned a bronze medal
Autodesk 123D Design Challenge
Contest Winner Runner Up in the Autodesk 123D Design Challenge
Show 1 More »
  • Bare Metal Raspberry Pi 3:Blinking LED

    Awesome i am glad you were able to follow along with the instructable! You dont need the systimer file to make this work. I had to reupload the make file and must have uploaded the wrong one 😬If you have the light turned on, then making it blink is easy! If you check out the last step and look at the blinky.s code you see how to get it to blink. In that file you should see that there is essentially one inifinite loop by always branching at the end of it. Inside there should be code to turn the light on and then delay(the delay is a loop that counts up to a large number) and then turn the light off and repeat.If it is not working try making the delays longer. If the delays arent long enough sometimes the led will blink faster than we can see it.If it is still not working try going back t...

    see more »

    Awesome i am glad you were able to follow along with the instructable! You dont need the systimer file to make this work. I had to reupload the make file and must have uploaded the wrong one 😬If you have the light turned on, then making it blink is easy! If you check out the last step and look at the blinky.s code you see how to get it to blink. In that file you should see that there is essentially one inifinite loop by always branching at the end of it. Inside there should be code to turn the light on and then delay(the delay is a loop that counts up to a large number) and then turn the light off and repeat.If it is not working try making the delays longer. If the delays arent long enough sometimes the led will blink faster than we can see it.If it is still not working try going back to just turning the led on and then look at blinky.s and try to use it as a template to make a blinky loop.Thanks and good luck! If you have any other question feel free to ask!

    Awesome i am glad you were able to follow along with the instructable! You dont need the systimer file to make this work. I had to reupload the make file and must have uploaded the wrong one 😬If you have the light turned on, then making it blink is easy! If you check out the last step and look at the blinky.s code you see how to get it to blink. In that file you should see that there is essentially one inifinite loop by always branching at the end of it. Inside there should be code to turn the light on and then delay(the delay is a loop that counts up to a large number) and then turn the light off and repeat.If it is not working try making the delays longer. If the delays arent long enough sometimes the led will blink faster than we can see it.If it is still not working try going back t...

    see more »

    Awesome i am glad you were able to follow along with the instructable! You dont need the systimer file to make this work. I had to reupload the make file and must have uploaded the wrong one 😬If you have the light turned on, then making it blink is easy! If you check out the last step and look at the blinky.s code you see how to get it to blink. In that file you should see that there is essentially one inifinite loop by always branching at the end of it. Inside there should be code to turn the light on and then delay(the delay is a loop that counts up to a large number) and then turn the light off and repeat.If it is not working try making the delays longer. If the delays arent long enough sometimes the led will blink faster than we can see it.If it is still not working try going back to just turning the led on and then look at blinky.s and try to use it as a template to make a blinky loop.Thanks and good luck! If you have any other question feel free to ask!

    Awesome i am glad you were able to follow along with the instructable! You dont need the systimer file to make this work. I had to reupload the make file and must have uploaded the wrong one 😬If you have the light turned on, then making it blink is easy! If you check out the last step and look at the blinky.s code you see how to get it to blink. In that file you should see that there is essentially one inifinite loop by always branching at the end of it. Inside there should be code to turn the light on and then delay(the delay is a loop that counts up to a large number) and then turn the light off and repeat.If it is not working try making the delays longer. If the delays arent long enough sometimes the led will blink faster than we can see it.If it is still not working try going back t...

    see more »

    Awesome i am glad you were able to follow along with the instructable! You dont need the systimer file to make this work. I had to reupload the make file and must have uploaded the wrong one 😬If you have the light turned on, then making it blink is easy! If you check out the last step and look at the blinky.s code you see how to get it to blink. In that file you should see that there is essentially one inifinite loop by always branching at the end of it. Inside there should be code to turn the light on and then delay(the delay is a loop that counts up to a large number) and then turn the light off and repeat.If it is not working try making the delays longer. If the delays arent long enough sometimes the led will blink faster than we can see it.If it is still not working try going back to just turning the led on and then look at blinky.s and try to use it as a template to make a blinky loop.Thanks and good luck! If you have any other question feel free to ask!

    Awesome i am glad you were able to follow along with the instructable! You dont need the systimer file to make this work. I had to reupload the make file and must have uploaded the wrong one 😬If you have the light turned on, then making it blink is easy! If you check out the last step and look at the blinky.s code you see how to get it to blink. In that file you should see that there is essentially one inifinite loop by always branching at the end of it. Inside there should be code to turn the light on and then delay(the delay is a loop that counts up to a large number) and then turn the light off and repeat.If it is not working try making the delays longer. If the delays arent long enough sometimes the led will blink faster than we can see it.If it is still not working try going back t...

    see more »

    Awesome i am glad you were able to follow along with the instructable! You dont need the systimer file to make this work. I had to reupload the make file and must have uploaded the wrong one 😬If you have the light turned on, then making it blink is easy! If you check out the last step and look at the blinky.s code you see how to get it to blink. In that file you should see that there is essentially one inifinite loop by always branching at the end of it. Inside there should be code to turn the light on and then delay(the delay is a loop that counts up to a large number) and then turn the light off and repeat.If it is not working try making the delays longer. If the delays arent long enough sometimes the led will blink faster than we can see it.If it is still not working try going back to just turning the led on and then look at blinky.s and try to use it as a template to make a blinky loop.Thanks and good luck! If you have any other question feel free to ask!

    View Instructable »
  • Bare Metal Raspberry Pi 3:Blinking LED

    That is a good question. I didn't really understand why I had to do this either for this project either. According to a git hub tutorial, link, it has to do with allowing room for setting up the stack and some debugging stuff. I don't think it should matter for this project because it doesn't use the stack, however when I tried to compile it without it didn't work. I have another instructable where I make a row of leds blink. In that it is more clear what the purpose of the kernel.ld is. In that project, the source code I wrote does have a .text section in it because to use the stack you have manually set aside space for it. So all of you code is inserted after 0x8000 and then sp (stack pointer) is moved to 0x8000. You can see the effect of it on the kernel.elf in the attached image. ...

    see more »

    That is a good question. I didn't really understand why I had to do this either for this project either. According to a git hub tutorial, link, it has to do with allowing room for setting up the stack and some debugging stuff. I don't think it should matter for this project because it doesn't use the stack, however when I tried to compile it without it didn't work. I have another instructable where I make a row of leds blink. In that it is more clear what the purpose of the kernel.ld is. In that project, the source code I wrote does have a .text section in it because to use the stack you have manually set aside space for it. So all of you code is inserted after 0x8000 and then sp (stack pointer) is moved to 0x8000. You can see the effect of it on the kernel.elf in the attached image. Everything before the 0x8000 line is 0 or null, then you can see that after that line the code is inserted. The objcopy just translates the .elf into a binary format. This is done because the raspberry pi looks for a binary image file. So even though the .img does not have a 0x8000 address it is still telling the raspberry pi to partition the memory the way you told it to. So .text or code after 0x8000 and everything before 0x8000 is left empty. I hope that sort of answered your questions. Feel free to message me with any other questions or post them here and I will try my best to answer them. Unfortunately writing bare metal assembly for the raspberry pi 3 isn't very well documented.

    Sorry about that. Instructables had a problem with the file not having an extension. I re-uploaded it as makefile.txt, just rename it "makefile" without the .txt and you should be good to go.

    View Instructable »
  • moldypizza's instructable Raspberry Pi Push Button With LEDs Bare Metal's weekly stats: 7 months ago
    • Raspberry Pi Push Button With LEDs Bare Metal
      84 views
      1 favorites
      0 comments
  • Bare Metal Raspberry Pi 3:Blinking LED

    Thanks! I know it is sort of reinventing the wheel especially since this could be done with like 5 lines of python code but I enjoy learning about how things work on a low level.

    View Instructable »
  • moldypizza's instructable Bare Metal Raspberry Pi 3:Blinking LED 's weekly stats: 8 months ago
    • Bare Metal Raspberry Pi 3:Blinking LED
      121 views
      2 favorites
      0 comments
  • moldypizza commented on moldypizza's instructable Crates1 year ago
  • moldypizza followed simsalapim2 years ago