This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug other/44940] New: XMEGA RAMPZ Initialization
- From: "darkdragon2000 at hotmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Jul 2010 23:18:38 -0000
- Subject: [Bug other/44940] New: XMEGA RAMPZ Initialization
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
When compiling a bootloader for the XMEGA128 (starting address 0x20000), RAMPZ
is initialized to 2 in the __do_copy_data section. This has the effect that
any indirect register access will fail.
For example the following code extract will result in the register NOT being
set to 0xCB when RAMPZ = 2.
20c6e: 2b ec ldi r18, 0xCB ; 203
20c70: e0 e5 ldi r30, 0x50 ; 80
20c72: f0 e0 ldi r31, 0x00 ; 0
20c74: 22 83 std Z+2, r18 ; 0x02
To recreate this, simply put OSC.XOSCCTRL = 0xCB; in the main function and link
to bootloader memory space.
--
Summary: XMEGA RAMPZ Initialization
Product: gcc
Version: 4.4.3
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: darkdragon2000 at hotmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44940