EMBSYS100 Module 8-user-defined vector table Solved

30.00 $ 15.00 $

Click Category Button to View Your Next Assignment | Homework

You'll get a download link with a: . zip solution files instantly, after Payment


Rate this product

The goals for the assignment this week:

  1. Practice setting up a user-defined vector table.
  2. Practice dealing with interrupts and the use of the SysTick timer.


  1. Starting from the blinking LED code that you created using the GPIO registers:
    1. Define your own vector table.
    2. Enable use of CMSIS in project options settings.
    3. Add the files “h” & “system_stm32f4xx.h” to the folder where “main.c” is saved. You should be able to get these files thru STM32CubeMX. You could also get them by downloading the zip file “CMSIS_STM32_Device_Specific_Files.zip” from canvas site under the link Assignment\A06 folder
    4. Enable the use of the SysTick timer and its interrupt.
    5. Replace the delay() function with the use of the SysTick timer to blink the user LED.
    6. Set a break point inside the SysTick_Handler interrupt and capture a snapshot of the stack once inside the interrupt and LR value. Explain what are the values stored on the stack at the moment the Handler gets invoked.
  1. Bonus: Improve your delay function to rely on the use of the SysTick timer instead of the busywait loop.
    1. Function prototype: void delay(uint32_t delayInMilliseconds)
    2. Use the function in your main.c file to blink the LED every 2 seconds.
    3. Hint: Setup the SysTick timer to trigger an interrupt every 1ms.
  • module08-fuuyll.zip