Diskonchip Millennium?

Hi,      
        In the application note (AP044) from Msystems diskonchip it is given as:
"The DiskOnChip Millennium is mapped into an 8KB memory window in the host platform’s
memory map. This 8KB window consists of four 2KB windows." Why is this mapping done?
Is this done for all the DiskOnChip Millennium?  

The steps for BIOS is summarised as
1. After DiskOnChip Millennium BUSY# signal is negated, the CPU fetches the Reset Vector from
the Boot-Block area, fetches the Boot Code stored there, and starts to execute the code.
2. Boot Code runs the first part of BIOS, initializing the basic hardware functionality.
3. Boot Codes loads the rest of the BIOS from the flash memory to the DRAM, and transfer control
(jumps) there.
4. Chip Select of DiskOnChip Millennium is remapped from Reset Vector to BIOS expansion area.
5. CPU executes the rest of the BIOS code, including ROM expansion devices (among them, the
DiskOnChip Millennium itself).
6. CPU calls OS bootstrap loader (INT19).
7. OS is loaded, and recognizes the DiskOnChip Millennium as the boot device.
8. OS loads the application code from the DiskOnChip Millennium and executes it.
9. Application software uses DiskOnChip Millennium exactly as if it were using a regular hard disk.
In step 4 why is this remapping done?
JohncyAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Glen A.IT Project ManagerCommented:
Both the disk and the boot functions can be implemented using the DiskOnChip device.  At the stage you're referring to, the DiskOnChip is functioning BOTH as a disk AND as BIOS, and as such it reuqires a location in two different addresses.

It has to be remapped to two different addresses.
0
Glen A.IT Project ManagerCommented:
if you haven't read it yet, there's a good paper here: http://www.spezial.ru/products/producer/msystems/pdf/App_Note_047.pdf
0
Glen A.IT Project ManagerCommented:
oops, spelling error in second to last post (typing too fast)  "reuqires" should be "requires"

AlbertaBeef
0
Cloud Class® Course: Microsoft Windows 7 Basic

This introductory course to Windows 7 environment will teach you about working with the Windows operating system. You will learn about basic functions including start menu; the desktop; managing files, folders, and libraries.

dimitryCommented:
Do you have specific problem with DiskOnChip Millennium ?
During the BIOS expansion search it loads INT 13h handler from DiskOnChip Millennium.
Then is behaves like for example SCSI disk. And BIOS calls INT 19h to boot OS from boot device.
0
Glen A.IT Project ManagerCommented:
johncy:  Is there more information you need, or, as dimitry asked, are you having a further problem we can assist you with?

TAny additional comments/input we can get from you can assist us in helping you better,

Thanks,

AlbertaBeef
EE Page Editor, Microchips/Desktops TA's
0
JohncyAuthor Commented:
Thanks.
      My disonchip is mapped in hardware to the address 0xFFFFFFFF-0xFF800000. My SDRAM to the address 0x00000000 - 0x01FFFFFF.
 "Chip select of diskonchip is remapped from reset vector to BIOS expansion area" - Is this mapping done in hardware? If so to which location should it be remapped to?
      I hope the BIOS expansion area starts from 0xC8000. Is this correct? I have a understanding as follows: During the BIOS expansion search it loads the TrueFFS after which the DOCM is emulated as a hard disk. After that with int 19h interrupt we can load the hard disk. Is it right?
0
dimitryCommented:
What does it mean: 0xFFFFFFFF-0xFF800000 ?
You can not use this area. It doesn't make any sense in real mode.
In order to use INT 13h BIOS expansion DiskOnChip should be mapped in between
0x000C8000-0x000DFFFF.
0
JohncyAuthor Commented:
  I have sc1200(x86 compatible). I have my bios program, linux OS and filesystem in the same diskonchip milennium. The reset vector is FFFFFFF0. So the diskonchip is mapped to the higher physical order address where my ipl, spl, bios codes reside. When my BIOS program scans for BIOS expansion area, should this remapping (0x000C8000-0x000DFFFF) done in hardware?
0
JohncyAuthor Commented:
  I have sc1200(x86 compatible). I have my bios program, linux OS and filesystem in the same diskonchip milennium. The reset vector is FFFFFFF0. So the diskonchip is mapped to the higher physical order address where my ipl, spl, bios codes reside. When my BIOS program scans for BIOS expansion area, should this remapping (0x000C8000-0x000DFFFF) done in hardware?
0
JohncyAuthor Commented:
I have sc1200(x86 compatible). I have my bios program, linux OS and filesystem in the same diskonchip milennium. The reset vector is FFFFFFF0. So the diskonchip is mapped to the higher physical order address where my ipl, spl, bios codes reside. When my BIOS program scans for BIOS expansion area, should this remapping (0x000C8000-0x000DFFFF) done in hardware?
0
dimitryCommented:
The simplest way is to connect DiskOnChip to additional Chip Select in H/W that will be mapped to D0000 (for example). I think that NSC board should have this kind of ability.
0
JohncyAuthor Commented:
I have sc1200(x86 compatible). I have my bios program, linux OS and filesystem in the same diskonchip milennium. The reset vector is FFFFFFF0. So the diskonchip is mapped to the higher physical order address where my ipl, spl, bios codes reside. When my BIOS program scans for BIOS expansion area, should this remapping (0x000C8000-0x000DFFFF) done in hardware?
0
dimitryCommented:
Yes
0
JohncyAuthor Commented:
Thanks a lot for ur suggestion. In ur previous comment, "what does it mean 0xFFFFFFFF-0xFF800000. You cannot use this area. It doesn't make any sense in real mode." I cannot get this point. At power on, my DOCM is mapped to the physical address 0xFFFFFFFF-0xFF80000. Is this mapping ok?
0
dimitryCommented:
For boot it is Ok, but then to load INT 13h driver you need to map it to for example 0x000D0000.
0
JohncyAuthor Commented:
The sdram is mapped to the lower address. Will there not be any conflict if diskonchip is remapped to the lower address?
0
dimitryCommented:
Video Adaptor is also mapped to "low" memory: 0xA0000-0xC7FFF...
0
JohncyAuthor Commented:
I have some confusions here. Is the address 0xD0000 physical address or the address in DOCM? Whatever address we use in our assembly programming is the physical address or logical address. I was very much confused. Could u suggest me a source where could I clearly understand the x86 memory architecture and memory mapping?
0
JohncyAuthor Commented:
I have planned to have my diskonchip mapped to the lower address. Will there be any problem in having diskonchip mapped to the lower address?
0
dimitryCommented:
What do you mean under "lower address" ? address < 0xa0000 ?
You can not do this. This is low RAM region.
0
dimitryCommented:
Did you still have problems with DiskOnChip ?
0
JohncyAuthor Commented:
By dorado schematic, the diskonchip millennium is mapped to the lower address. Thats why I am confused..
0
dimitryCommented:
Can you please show your memory map ?
0
JohncyAuthor Commented:
Flash memory or diskonchip millennium whichever i use is mapped to the lower address.
0
dimitryCommented:
Can you please tell the exact memory location ?
0
JohncyAuthor Commented:
AD0-AD12 connected to A0-A12 of diskonchip millennium(MD-2800-D08).
0
dimitryCommented:
Address lines is not everything. Actually they are not defining mapping at all. Mapping is defined by H/W that sets CS to the device.
0
dimitryCommented:
It was long conversation with links to documents. Maybe it is possible to leave it with points refunded ?
0
moduloCommented:
PAQed, with points refunded (150)

modulo
Community Support Moderator
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Components

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.