This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

STM32 and interrupts

What does really hapen when interrupt occour?
The microcontroller starts from address 0x00 in flash memory but why the flash ORIGIN = 0x8000000? The interrupt vectors are also put in address 0x800..00
How is it happened that when interrupt occours the programm should jumps to adres 0x00+offset for interrupt for example IRQ1 (I thing) it jumps to the moved address 0x800.0+offset for IRQ1?

I probably wrote it a bit nutty but i hope You Know what I mean?
In other words why we put our programms at address starting from 0x800000 in spite of the programm jumps to address 0x000 after reset.

Parents
  • I think I know what You mean. Yesterday I red reference Manual RM0008 and Programming Manual PM0056 and I do not know why but it should be written about it there but I couldn't find it? The only thing I found was what to do if we use XL-denisty device and Bank 2 of flash memory on page 61 in RM008. Everything You say make sense and I'm wondering where You know it from?

    Please tell me one more thing. Are all the registers R0-R12 part of core or they reside in SRAM? I am asking because on one Figure in datasheet I saw that these registers are located in SRAM.

Reply
  • I think I know what You mean. Yesterday I red reference Manual RM0008 and Programming Manual PM0056 and I do not know why but it should be written about it there but I couldn't find it? The only thing I found was what to do if we use XL-denisty device and Bank 2 of flash memory on page 61 in RM008. Everything You say make sense and I'm wondering where You know it from?

    Please tell me one more thing. Are all the registers R0-R12 part of core or they reside in SRAM? I am asking because on one Figure in datasheet I saw that these registers are located in SRAM.

Children