What is the purpose of the gpio.h
file? Disassemble the gpio.o
file and look at the assembly. Do you see anything related to the
gpio.h
file? Explain.
Disassemble the main.o file. Do you see the function call into your gpio.o file? Explain.
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?
Explain the difference between the GDB commands step
and
stepi
. Use the GDB help
command to find the
difference.
Explain what this application does and how the C values get passed to the inline assembly function. Hint: use the disassembly function of Soft Console.
Write a simple blinking LED function in Assembler with the following function
signature: void blink(uint8_t num, uint8_t state)
where
num
is the LED number and state
the state the led
should be put in (0: OFF, 1: ON). Put this function into its own object file.
Call this function from within your C code.
We showed you where the Reset_Handler
is located. Describe what
this function does, and describe the initialization procedure. On which line
and file do we call our actual main
function? Explain.
Create a "Knight Rider" effect with all the LEDs. The LEDs should fade, not just toggle, between each other.
You may work with a partner for this assignment. Submit all C and assembler code as well as a text file containing the answers from the questions asked during the lab, and the post-lab assignment. You can use