1
\$\begingroup\$

Given that Atmega32A has three types of memory : 1) SRAM. 2) Flash (Program memory). 3)EEPROM. In which section the Interrupt Vector Table is stored ?

\$\endgroup\$
4
  • \$\begingroup\$ Is this homework question? \$\endgroup\$
    – Justme
    Commented May 4, 2020 at 13:54
  • \$\begingroup\$ No, it isn't . I was trying to enrich my knowledge. \$\endgroup\$ Commented May 4, 2020 at 13:56
  • \$\begingroup\$ It's just that info is very easy to find in the datasheet, so it just gave an impression as if it was a homework question with no effort trying to find the answer. \$\endgroup\$
    – Justme
    Commented May 4, 2020 at 14:02
  • \$\begingroup\$ I'm kind of new to this field and I didn't know what to begin with. I could somehow guess it but I needed a crystal clear answer from experts. \$\endgroup\$ Commented May 4, 2020 at 14:05

1 Answer 1

1
\$\begingroup\$

It is stored right at the beginning of flash memory. If you open a binary program image (".bin") using a hex editor, you can see it at the start of the file.

\$\endgroup\$
2
  • \$\begingroup\$ Program memory, yes. And normally the start of it. But the IVSEL bit (guarded by the IVCE bit) in the MCUCR allows a runtime switch to a vector table at the start of the bootloader section instead, and the size of the bootloader section can be configured by fuses, so there are actually a variety of possible locations. But most bootloaders would not use interrupts (would keep them disabled and poll the UART or whatever), so the start of programming memory is indeed the usual place for the vectors, both at rest and in operation. \$\endgroup\$ Commented May 4, 2020 at 14:10
  • \$\begingroup\$ Thank you very much ! \$\endgroup\$ Commented May 4, 2020 at 23:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.