cancel
Showing results for 
Search instead for 
Did you mean: 

vector table location

redkofka
Associate II
Posted on July 12, 2012 at 07:09

hi,

i search and search but i cant find where i can change Vector Table base location

in memory.map i can find

.text 0x08004000 0x718

 *(.isr_vector .isr_vector.*)

 .isr_vector 0x08004000 0x124 ..\obj\startup_stm32f10x_md_vl.o

 0x08004000 g_pfnVectors

 *(.text .text.* .gnu.linkonce.t.*)

 

in memory.ld      rom (rx) : ORIGIN = 0x08004000, LENGTH = 0x00002000

but i need to change vector table address to 0x08000000

NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x08000000);  - this isnt working .....

i am using stm32f100 and coocox ide ....
12 REPLIES 12
walworc
Associate II
Posted on September 11, 2015 at 21:20

The original post was too long to process during our migration. Please click on the provided URL to read the original post. https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006I6iJ&d=%2Fa%2F0X0000000bto%2FF.2ur9VYHGt04a9fjAP17ppmRvre5xcGPdwcE90jaoE&asPdf=false
Posted on September 12, 2015 at 01:41

Not familiar with your compiler/assembler. The vector table, as used by the M0, has TWO entries in the front portion. The initial Stack Pointer, which should point into a higher area of RAM, and the initial Program Counter (aka ResetHandler function)

+0 SP

+4 PC

+8 NMI Handler

+12 Hard Fault Handler

...

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
walworc
Associate II
Posted on October 10, 2015 at 22:43

Thanks, Clive,

Sorry about late reply.  Thanks for valuable STM32 insight (not just this post... MANY of your posts are VERY helpful.)

I'm using the ImageCraft (Palo Alto, CA) ICC/Jumpstart ARM C compiler for STM32F0xxx parts; The ICC compiler supports a bunch of different STM 32 ARM devices.  For some reason, the SP pointer was not described... I guess for obv. reasons.  (i.e. keep me away from producing a BRICK!)

I find that the Imagecraft ICC compiler was free (~30 days/ 64KB, etc.) and it was easy to use, so ended up purchasing a license ($99.USD) and it performs really fast (~5K lines+ in ~3 or 4 seconds.)  I had used the ICC compiler many years ago for a Motorola uC, so I was slightly familiar with their old (ancient) compilers. Oh, and a single menu selection downloads the code to the USB-connected device... I can change lines, re-comp and re-upload in less-than ~30 seconds (64KB.)

At first, I tried GCC (SLOWWWW Compile!!!! And, LONG TIME TO INSTALL!!!!)  Plus the amount of crappo GCC place onto my laptop was astounding!

Also, I tried the ST Cloud solution:  Very robust, very complete!  Very nice cloud solution ... but very hard to perform rapid prototyping. I like to fix, test, test, test, fix... Sometimes re-compile each minute until solution works. So, I needed a quick compiler solution. I suspect that in future, the cloud will be the ONLY way to compile.  (Imagine a cloud supercomputer compiling your code [and everyone else's] ....)

Regarding the ICC Compiler: The most important thing I find, is that the installation time is minutes.    Plus, I like to cycle test rapidly during prototyping.  Some of the other compilers I looked at cost too much $$$.  The Imagecraft compiler is the right price and super performance.

ImageCraft are a small company, so when you ask for help, you get the CEO or one of the few developers.  This helps a lot.

If you get a chance, you should consider trying the ImageCraft compiler.

(BTW: I loved your reply concerning ADC and DMA!  Very good work.  Thanks!]

-Chris

p.s. I do not have any relationship with ICC except that I bought their compiler license.