This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
RE: Help on Flash support in Redboot for Xscale.
- To: "'Mark Salter'" <msalter at redhat dot com>
- Subject: RE: [ECOS] Help on Flash support in Redboot for Xscale.
- From: "Narayana, Venkat A." <NarayVA at nsc-msg01 dot network dot com>
- Date: Thu, 17 May 2001 11:57:29 -0500
- Cc: ecos-discuss at sources dot redhat dot com
> Mark,
> Thanks for explaining. You are correct, in that redboot uses the
> default values for FEBR0 and FBSR0( i.e flash base and size).But,
> this only perplexes me. Cause, when i configure redboot without
> CYGPKG_DEVS_FLASH_IQ80310 and with RAM startup, and load this guy
> into RAM, the it works, imean i could get Redboot prompt etc.
> But when i build it for ROM, with Flash support and load the guy
> into flash, then it dies somewhere in '_real_platform_setup'.At
> this point all the MCU(mem cntrl Unit) registers becomes zero.
> What could be happening here? I mean, when i looked into this
> macro, it seemed to me pretty straight forward, but still, i am
> unable to figure out the why's/where's/what's.
> Could you guys pls help me out. Point me to some doc/reading material.
I don't really have enough information to help you out. Is this the
IQ80310 board or something else? All of the stuff in hal_platform_setup.h
is very specific to the IQ80310 design. One of the tricky things is
that there is a "hole" in flash at 0x1000 - 0x1fff where the I/O
companion chip internal registers are located. The _real_platform_setup
code setups up the page table to deal with that. There is a pagetable
in flash at 0x4000 (mmu_table) which gets copied out to ram later in
the startup.
--Mark
This is not iq80310 board, but a custom board using 80312 chipset and
having many similarities with iq80310, except that my board has 1 serial
and no registers@FE800000, which iq80310 board has,imean timers and battery
status reg's etc.
What i found, by single stepping is that, in _real_platform_setup,
my code dies atfer i enable MMU and do "drain the write & fill buffers".
Anyway, it gives me an oopurtunity to lear more;-).
I have a question for you(i assume u r the same mslater that's in my code),
we setup mmu table at 16K boundary, but in the code, we do .p2align13, which
is 2**13=8K. Am i missing something here? or does my ignorance shows?
Rgds
Venkat N