cancel
Showing results for 
Search instead for 
Did you mean: 

Using big Flash for Atlas STPC loader

asaf
Associate II
Posted on April 23, 2003 at 15:44

Using big Flash for Atlas STPC loader

2 REPLIES 2
asaf
Associate II
Posted on April 10, 2003 at 14:14

I would like to map an 8MByte FLASH ROM to the STPC ISA interface

For my privious purpose of STPC Linux boot loader from FLASH

It is mention in the user manual that when using FLASH that are bigger than 2Mbyte an additional decoder is need and that I have to avoid a conflict with PCI devices.

Can anyone tell me what addresses are free for my FLASH ROM ISA card?

Can I use LA23 = 0,and LA22-LA20 for address selection? (Use the first 8MByte space)

thierry239955_st
Associate II
Posted on April 23, 2003 at 15:44

This look good. I think the choice of LA23=0 is a requirement if you would like to be able to boot. At boot the generated address on ISA is the end of the first megabyte (address 0xFFFF0).

Concerning PCI devices, maybe you do a confusion between the ISA address space of 16MB and the CPU address space of 4GB which concern your software only.

The PCI devices doesn't conflict with the ISA bus itself and you can, at hardware level, place the flash at the address you want on ISA (in fact only 2 possibilities in your case: LA23=0 or LA23=1).

The point now is: how to access your flash with your software. CPU addresses below 16MB go to the SDRAM and won't go to the ISA. The only exception are the addresses reserved by IBM for card ROM extension and system BIOS (0xc0000 to 0xfffff) but it is 256KB only.

To access the rest of your flash you need to generate a CPU address in high address space, above the SDRAM. This address will be rooted to ISA if no other device answer, either internaly inside the STPC, either on the PCI bus.

STPC internals doesn't use addresses above 256MB. In fact, it use 16MB only for the graphics, mapped somewhere between 128MB and 256MB depending on the GBASE programmation.

For PCI, it is more complex. The PCI devices addresses are selected by the BIOS or the Operating System and can change from one configuration to another. If I remember well Linux use address starting from 0x80000000 (2GB) and all addresses below 2GB should be OK.

Farfalla