Q: What does the "My First Assembly File" application do?
Q: Can you tell in the debugger if you are still counting, or already in the busy loop? How? Write your new main code in the Answersheet.
Q: Explain the difference between the GDB commands step and
stepi. Use the GDB help command to find the
difference.
Q: Disassemble the main.o file. Do you see the function call into your gpio.o file? Explain.
Q: In the left window pane, Project Explorer, open Lab2->Debug->Lab2.lst file. Does it look familiar? Explain the contents of the file.
Write the initGPIO and setGPIO assembly functions in gpio.s.
Use main.s as an example for modifying gpio.s.
Comments were provided in the function stubs suggesting content. Reread section 5 before
writing code.
Is LED 1 really permanently turned on? Verify using an oscilloscope to see if LED 1 is really turned on continuously. What is the frequency of the signal that you see? How does this related to the CPU clock frequency?
First, initalize all 8 LEDs (GPIO 24-31). Have only one LED on at a time but round-robin through all the LEDs. Add enough delay between each LED transition such that it is visible to the Human eye. Demo it.
Signature:
For the truly ambitious, create a "Knight Rider" effect with all the LEDs in pure Assembly. The LEDs should fade, not just toggle, between each other.
Signature:
You may work with a partner for this assignment. Provide your source code (gpio.s and main.s) for the 8 LED round-robin. Demonstrate to any instructor. Submit the instructors dated signature for these parts. Demonstrate Knight Ryder Bonus if you choose to do this.