Topic : wrong interrupt table address

Forum : ST7/STM8

Original Post
Post Information Post
June 21, 2010 - 10:16pm
Guest

Hi,

I compiled a code for STM8S103F3 controller. But the controller does not start.
I inspected the assembly code, the vectors are at wrong addresses (shifted by 1 byte).
Compiler version:2.28.10.0092

The bad code is:

.....
CSEG AT 08009H
DB 082H, 000H
DB HIGH(?TLI_IRQHandler), LOW(?TLI_IRQHandler)
CSEG AT 0800DH
DB 082H, 000H
DB HIGH(?AWU_IRQHandler), LOW(?AWU_IRQHandler)
CSEG AT 08011H
DB 082H, 000H
DB HIGH(?CLK_IRQHandler), LOW(?CLK_IRQHandler)
....

The good code is:

...
CSEG AT 08008H
DB 082H, 000H
DB HIGH(?TLI_IRQHandler), LOW(?TLI_IRQHandler)
CSEG AT 0800CH
DB 082H, 000H
DB HIGH(?AWU_IRQHandler), LOW(?AWU_IRQHandler)
CSEG AT 08010H
DB 082H, 000H
DB HIGH(?CLK_IRQHandler), LOW(?CLK_IRQHandler)
....

Best regards,
Jeno

Replies
Post Information Post
+1
0
-1
June 22, 2010 - 2:31pm
Raisonance Support Team

Hi Jeno,

We tried to reproduce in our labs without any problem.

Where do these assembly statements come from? Are they in an assembler file?
It looks like you are using an invalid assembler source.

If you think there is a problem in our compiler toolchain, can you send a zipped copy of your project so that we can reproduce the issue here?

Thanks,
Bruno