This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: x86 and flash


> "davide ciminaghi@libero.it" wrote:
> > 
> > I had already done that. The returned device id is 0xaa (I don't
> > remember exactly now what the id should be for the amd29f016).
> 
> 0x01AD by the looks of it.
> 
> > Interestingly, if I dump the flash chip from its start address, the
> > first byte I see is 0xaa 
> 
> Hm... 0xAA is one of the flash set up codes. This smells a bit like a 
CPU
> cache or write buffer issue. I could imagine this since there isn't a 
flash
> driver for x86 in the public sources. The x86 is meant to have full ca
che
> snooping, but there's probably some particular issue with flash bus cy
cles.
> 

The CPU of my microcontroller is a 386 and I haven't any external 
cache, so I don't think I have any cache at all.

Yesterday evening I did some tests again and found out that what I told 
you yesterday was not completely true (sorry!): in fact MANUFACTURER id 
is 0xaa, while DEVICE id is 0x00, which is exactly what I find at 
addresses 0x00 and 0x01 of the flash chip if I do a dump with gdb or 
redboot. So it seems that the cpu is correctly addressing those two 
bytes.

Concerning "flash bus cycles": my flash is directly connected to a 
dedicated chip select generated by the SC300 microcontroller. It's 
called DOSCS because you're supposed to put some kind of dos filesystem 
on the device connected to it. You can program the uc to activate the 
DOS chip select whenever some physical address range is hit. You can 
also tell the uc that the DOSCS area is read/write or read only. In the 
latter case, the DOS chip will always be "hardware" write protected (so 
whether you're running in protected mode or not the bus MEMW signal 
will never be activated on that physical range of addresses). 
Since the SC300 has a LOT of configuration registers (and unfortunately 
memory config. bits are spread over many regs), I think I'll give 
another look at the manual to see if there's something wrong or missing 
in the uc initialization.

Thank you very much for your help.

Regards 
Davide

> Jifl
> -- 
> Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 27
1062
> Maybe this world is another planet's Hell -
Aldous Huxley || Opinions==mine
> 
> -- 
> Before posting, please read the FAQ: http://sources.redhat.com/fom/eco
s
> and search the list archive: http://sources.redhat.com/ml/ecos-discuss
> 
> 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]