Question: Problem 1 ( 6 marks ) : The interrupt vector table can be relocated. Write an assembly language function conforming to the ARM Architecture Procedure

Problem 1(6 marks): The interrupt vector table can be relocated. Write an
assembly language function conforming to the ARM Architecture Procedure Call
Standard (AAPCS) named "NVIC_VTableRelocate" that relocates the NVIC Vector
Table within SRAM. One 32-bit address must be accepted as a function argument
containing an SRAM address. The function will return true if the table
relocation was successful, or false indicating the table could not be
relocated.
The function must be complete - the only requirement of a programmer to
call this function is the function argument. You must ensure that the SRAM
address conforms to the requirements of the NVIC (verify alignment/boundary
of the argument before relocating the table) and does not overlap the stack.
You may assume the stack occupies the range 0x20007800-0x20007FFF and you
will require 25632-bit locations for your vector table.
Please read section 3.4 in your TM4C123GH6PM datasheet to help write your
function.
All 155 original vector addresses must be transfered from the existing table
in Flash memory (currently at offset 0) to the new SRAM location before
updating the vector table offset in the NVIC.
Note that not all of the 25632-bit locations in the SRAM block will be used.
What advantage is there in relocating an interrupt vector table from Flash
memory to SRAM?

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!