From be4c56a05cfc38aad01e63dbb0848bf3e26d1a23 Mon Sep 17 00:00:00 2001 From: florian Date: Sun, 2 Feb 2020 19:18:39 +0000 Subject: [PATCH] * patch by Christo Crause: fix startup code for avrtiny subarch, resolves #36650 git-svn-id: trunk@44100 - (cherry picked from commit 7d283f530ecd1ddb80e8b89649f30be7dd56a0ba) --- rtl/embedded/avr/start.inc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/rtl/embedded/avr/start.inc b/rtl/embedded/avr/start.inc index b49c475533..3887c87705 100644 --- a/rtl/embedded/avr/start.inc +++ b/rtl/embedded/avr/start.inc @@ -16,17 +16,20 @@ ldi XH,hi8(_data) ldi YH,hi8(_edata) ldi ZL,lo8(_etext) +{$ifdef CPUAVR_16_REGS} + ldi ZH,hi8(_etext)+(0x40) // program memory mapped to $4000 in data space +{$else CPUAVR_16_REGS} ldi ZH,hi8(_etext) +{$endif CPUAVR_16_REGS} rjmp .LCopyDataLoopEntry .LCopyDataLoop: {$ifdef CPUAVR_16_REGS} - //!!!! FIXME? lpm r0, Z+ - //!!!! FIXME? st X+, r0 + ld r16, Z+ {$else CPUAVR_16_REGS} lpm r16, Z+ - st X+, r16 {$endif CPUAVR_16_REGS} + st X+, r16 .LCopyDataLoopEntry: cpi XL, lo8(_edata)