1/1

|
problems with uClinux on or1ksim
by Unknown on Oct 18, 2004 |
Not available! | ||
|
I'm having problems getting the current version of uclinux to
run on the current version of or1ksim. Recent checkins to the uclinux tree seem to have broken it. I've not got to the bottom of the issues yet but what I've found out so far is: 1) sim.cfg is out-of-dat as previously reported in an earlier message. 2) There's been a change to the linker loader script so that on of the sections (.rodata.str1.1) has no memory allocated for it: or32-uclinux-ld: warning: no memory region specified for section `.rodata.str1.1' This seems to be the recent deletion of the match for *(.rodata.*) from or1k/uclinux/uClinux-2.0.x/arch/or32/board/rom.ld 3) When I run linux on the simulator (this is exactly as in the ATS script) I get no output in the uart.tx file. I've investigated this and discovered that the code tries to initialize the UART before the Memory Controller. This has no chance of working (at least on the simulator - hardware may behave differently) because after boot the address match mask for chip-enable-zero is zero. So ALL addresses are directed to chip-enable zero. So the register reads and writes to initialize the UART are redirected to this external memory area. The only addresses that don't get mapped there are those for the memory controller configuration registers itself. So the memory controller registers can be programmed. I can see this behaviour in the linux code at: or1k/uclinux/uClinux-2.0.x/arch/or32/kernel/head.S around line 427 where there's a call to _ua_init before the MC_INIT code below. I wonder though whether the problem is that this boot code is used at all? Should the code in or1k/uclinux/uClinux-2.0.x/arch/or32/board/reset.S be used which appears to do things in the right order? I'm new the the uClinux code, so I'm not sure what code should be used, or why there are two alternative files of boot code at all? Any pointers in the right direction would be welcome! regards Adrian |
|||
|
problems with uClinux on or1ksim
by Unknown on Oct 18, 2004 |
Not available! | ||
|
Hi!
i suggest you try to checkout the version before Jures checkins
Mon Sep 27 09:52:56 2004 UTC (3 weeks ago) by jurem
while we put it back to working state.
best regards,
p.
* Adrian Wise (adrian@adrianwise.co.uk) wrote:
I'm having problems getting the current version of uclinux to
run on the current version of or1ksim. Recent checkins to the
uclinux tree seem to have broken it.
I've not got to the bottom of the issues yet but what I've
found out so far is:
1) sim.cfg is out-of-dat as previously reported in an earlier
message.
2) There's been a change to the linker loader script so that
on of the sections (.rodata.str1.1) has no memory allocated
for it:
or32-uclinux-ld: warning: no memory region specified for section
`.rodata.str1.1'
This seems to be the recent deletion of the match for *(.rodata.*)
from or1k/uclinux/uClinux-2.0.x/arch/or32/board/rom.ld
3) When I run linux on the simulator (this is exactly as in the
ATS script) I get no output in the uart.tx file. I've
investigated this and discovered that the code tries to
initialize the UART before the Memory Controller. This has
no chance of working (at least on the simulator - hardware
may behave differently) because after boot the address match
mask for chip-enable-zero is zero. So ALL addresses are
directed to chip-enable zero. So the register reads and
writes to initialize the UART are redirected to this external
memory area. The only addresses that don't get mapped there
are those for the memory controller configuration registers
itself. So the memory controller registers can be programmed.
I can see this behaviour in the linux code at:
or1k/uclinux/uClinux-2.0.x/arch/or32/kernel/head.S around
line 427 where there's a call to _ua_init before the MC_INIT
code below.
I wonder though whether the problem is that this boot code
is used at all? Should the code in
or1k/uclinux/uClinux-2.0.x/arch/or32/board/reset.S be used
which appears to do things in the right order? I'm new the
the uClinux code, so I'm not sure what code should be used,
or why there are two alternative files of boot code at all?
Any pointers in the right direction would be welcome!
regards
Adrian
_______________________________________________
http://www.opencores.org/mailman/listinfo/openrisc
|
|||
1/1

