# vector table misplaced

**URL:** <https://forums.freertos.org/t/vector-table-misplaced/232>\
**Category:** Kernel\
**Created:** [March 4, 2009, 8:34am UTC](https://forums.freertos.org/t/vector-table-misplaced/232 "2009-03-04T08:34:13Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![system](https://d2v6vdsk2p900z.cloudfront.net/original/1X/7fc8fdb729c645aab5b20282bbe34e57cb407be6.jpeg) [@system](https://forums.freertos.org/u/system)\
**Post date:** [March 4, 2009, 8:34am UTC](https://forums.freertos.org/t/vector-table-misplaced/232/1 "2009-03-04T08:34:13Z")

</div>

**[johst](https://sourceforge.net/u/johst/)** wrote on [Wednesday, March 04, 2009](https://sourceforge.net/p/freertos/discussion/382005/thread/0ebc6f72/#bb38):

I’ve modified the sources of FreeRTOS to create a port for the AT91SAM7A3.

The vector table is not being placed at 0x00100000, instead it ends up at 0x00101040.&nbsp;

In the .icf file there is a definition:  
define symbol \_\_ICFEDIT\_intvec\_start\_\_ = 0x00000000;&nbsp;  
but somehow this definition does not seem to produce any result.&nbsp;

In this way when the instruction SWI is executed by taskYIELD() the processor starts running the wrong code.  
(Nevertheless, IAR is able to start the program properly!!!!)

How do I place the vector table at 0x00100000, please?&nbsp;

/Johan on behalf of eavg

---

<div class="post-metadata">

**Author:** ![system](https://d2v6vdsk2p900z.cloudfront.net/original/1X/7fc8fdb729c645aab5b20282bbe34e57cb407be6.jpeg) [@system](https://forums.freertos.org/u/system)\
**Post date:** [March 4, 2009, 6:33pm UTC](https://forums.freertos.org/t/vector-table-misplaced/232/2 "2009-03-04T18:33:20Z")

</div>

**[edwards3](https://sourceforge.net/u/edwards3/)** wrote on [Wednesday, March 04, 2009](https://sourceforge.net/p/freertos/discussion/382005/thread/0ebc6f72/#bb38/f982):

0x100000 is not the normal place for the vector table so I would guess you are trying to do the remapping so part of the RAM code is mapped to 0. Is this correct? If so then are you copying the vector table from 0x00 to 0x100000 before you do the remap? Sometimes this will be done by the debugger macro file that gets called before the debug session commences.

---

<div class="post-metadata">

**Author:** ![system](https://d2v6vdsk2p900z.cloudfront.net/original/1X/7fc8fdb729c645aab5b20282bbe34e57cb407be6.jpeg) [@system](https://forums.freertos.org/u/system)\
**Post date:** [March 5, 2009, 8:32am UTC](https://forums.freertos.org/t/vector-table-misplaced/232/3 "2009-03-05T08:32:03Z")

</div>

**[johst](https://sourceforge.net/u/johst/)** wrote on [Thursday, March 05, 2009](https://sourceforge.net/p/freertos/discussion/382005/thread/0ebc6f72/#bb38/5a65):

there is no remap being made.  
the program is being run from Flash so the vector table is at 0x100000 and at 0x0 since after reset Flash is at 0.

I was able to post the same question with an image at AT91 forum.  
this is the link:  
[http://www.at91.com/samphpbb/viewtopic.php?f=14&t=5483&p=16222&hilit=freertos#p16222](http://www.at91.com/samphpbb/viewtopic.php?f=14&t=5483&p=16222&hilit=freertos#p16222)

as you can see the PC is at the vector table but the vector table instead appears (the black shaded area at the bottom) at 0x1040.

any more ideas, please?

thanks
