Hey Alex,
On Tue, Jul 28, 2015 at 03:02:27PM -0700, Alex Stewart wrote:
> Also, it looks like the vector table offsets for the SDK (and your
> equivalent code) don't actually match up with the offsets listed in
>
http://esp8266-re.foogod.com/wiki/Memory_Map#bootrom ? Do the vector
> offsets from VECBASE actually change somehow when you move VECBASE
> somewhere else, or is that table of default vector locations actually wrong?
At a glance the table matches up with what I've seen/written. The vectors are in the same order, and the gaps are at 0x40 and 0x60. What was the difference you were thinking of?
The only key difference I know of is that the reset vector never gets called (AFAIK) in the IRAM-located handlers, as the core goes back to the BootROM vecbase on reset. It's probably possible to drop that entry off entirely, save 16 bytes. :)
Regarding what goes at those other offsets (0x40, 0x60), AFAIK nothing does. I think the only exception types supported by lx106 are the ones mentioned. I don't really know why the core designers included gaps, maybe to provide more space for "inline" KernelException & UserException vector code, as these are the most versatile exception types? That's just a guess though.
jcmvbkc gave a succinct explanation of how the vector offsets are laid out, here:
http://www.esp8266.com/viewtopic.php?f=9&t=3979&start=10#p23058
Angus