mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-03 10:37:46 +00:00
avr: fix default handler in interrupt vector
Apparently the target of a weak symbol must be defined in the same file as where it is used as a weak symbol. https://www.avrfreaks.net/forum/using-weak-custom-vector-table#comment-745922
This commit is contained in:
@@ -38,16 +38,6 @@ init_data_end:
|
||||
; need to jump.
|
||||
|
||||
|
||||
; This is the default handler for interrupts, if triggered but not defined.
|
||||
; Sleep inside so that an accidentally triggered interrupt won't drain the
|
||||
; battery of a battery-powered device.
|
||||
.section .text.__vector_default
|
||||
.global __vector_default
|
||||
__vector_default:
|
||||
sleep
|
||||
rjmp __vector_default
|
||||
|
||||
|
||||
; The only thing this WDT handler really does is disable itself, to get out of
|
||||
; sleep mode.
|
||||
.section .text.__vector_WDT
|
||||
|
||||
@@ -208,6 +208,15 @@ def writeAsm(outdir, device):
|
||||
; Automatically generated file. DO NOT EDIT.
|
||||
; Generated by gen-device-avr.py from {file}, see {descriptorSource}
|
||||
|
||||
; This is the default handler for interrupts, if triggered but not defined.
|
||||
; Sleep inside so that an accidentally triggered interrupt won't drain the
|
||||
; battery of a battery-powered device.
|
||||
.section .text.__vector_default
|
||||
.global __vector_default
|
||||
__vector_default:
|
||||
sleep
|
||||
rjmp __vector_default
|
||||
|
||||
; Avoid the need for repeated .weak and .set instructions.
|
||||
.macro IRQ handler
|
||||
.weak \\handler
|
||||
|
||||
Reference in New Issue
Block a user