|
Message
From: Matjaz Breskvar<phoenix@o...>
Date: Wed Jun 23 23:55:10 CEST 2004
Subject: [openrisc] Architecture simulation of basic.S
* gurumurt@c... (gurumurt@c...) wrote: > I changed the orp.ld file's. Now the stack section looks like this:
aligning to just 0x4 woun't work since r1 has value 0x1, aligning it will just make it 0x4, but you need more space for stack. let's try this way
> .stack ALIGN(8192); > { > *(.stack) FILL(0); . = ALIGN(8192); > _src_addr = .; > } > ram
this should make some space on stack... now please check that somewhere value of symbol '_src_addr' gets loaded to r1
l.movhi r1,hi(_src_addr) l.ori r1,r1,lo(_src_addr)
> But the problem still occurs. I am using the basic.S program from the
if you still get 0x600 exception then either aligning didn't work, program doesn't load _src_addr into r1 or it gets corrupted in the first place. just trace the execution and make sure that r1 gets the proper value at the first place and than look where it changes...
> or1k/orp/orp_soc/sw/basic package without changing anything. Is the > expected value for r1 at statement "l.jal _report" 1 for that program?
to be honest i do not know. it could be just a test for unaligned access or something. if you'll still have problems i'll take a closer look. ok?
best regards, p.
|
 |