?
Solved

Diskonchip Millennium?

Posted on 2003-12-03
32
Medium Priority
?
558 Views
Last Modified: 2013-12-09
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?
0
Comment
Question by:Johncy
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 13
  • 12
  • 4
  • +1
32 Comments
 
LVL 13

Expert Comment

by:AlbertaBeef
ID: 9887475
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
 
LVL 13

Expert Comment

by:AlbertaBeef
ID: 9887477
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
 
LVL 13

Expert Comment

by:AlbertaBeef
ID: 9887478
oops, spelling error in second to last post (typing too fast)  "reuqires" should be "requires"

AlbertaBeef
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
LVL 11

Expert Comment

by:dimitry
ID: 9892887
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
 
LVL 13

Expert Comment

by:AlbertaBeef
ID: 9893230
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
 

Author Comment

by:Johncy
ID: 9894090
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
 
LVL 11

Expert Comment

by:dimitry
ID: 9895018
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
 

Author Comment

by:Johncy
ID: 9901449
  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
 

Author Comment

by:Johncy
ID: 9901459
  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
 

Author Comment

by:Johncy
ID: 9901461
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
 
LVL 11

Expert Comment

by:dimitry
ID: 9901579
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
 

Author Comment

by:Johncy
ID: 9901837
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
 
LVL 11

Expert Comment

by:dimitry
ID: 9901903
Yes
0
 

Author Comment

by:Johncy
ID: 9902202
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
 
LVL 11

Expert Comment

by:dimitry
ID: 9906559
For boot it is Ok, but then to load INT 13h driver you need to map it to for example 0x000D0000.
0
 

Author Comment

by:Johncy
ID: 9917516
The sdram is mapped to the lower address. Will there not be any conflict if diskonchip is remapped to the lower address?
0
 
LVL 11

Expert Comment

by:dimitry
ID: 9918722
Video Adaptor is also mapped to "low" memory: 0xA0000-0xC7FFF...
0
 

Author Comment

by:Johncy
ID: 9925309
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
 

Author Comment

by:Johncy
ID: 10004721
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
 
LVL 11

Expert Comment

by:dimitry
ID: 10009241
What do you mean under "lower address" ? address < 0xa0000 ?
You can not do this. This is low RAM region.
0
 
LVL 11

Expert Comment

by:dimitry
ID: 10059732
Did you still have problems with DiskOnChip ?
0
 

Author Comment

by:Johncy
ID: 10060244
By dorado schematic, the diskonchip millennium is mapped to the lower address. Thats why I am confused..
0
 
LVL 11

Expert Comment

by:dimitry
ID: 10063823
Can you please show your memory map ?
0
 

Author Comment

by:Johncy
ID: 10180891
Flash memory or diskonchip millennium whichever i use is mapped to the lower address.
0
 
LVL 11

Expert Comment

by:dimitry
ID: 10181223
Can you please tell the exact memory location ?
0
 

Author Comment

by:Johncy
ID: 10181597
AD0-AD12 connected to A0-A12 of diskonchip millennium(MD-2800-D08).
0
 
LVL 11

Expert Comment

by:dimitry
ID: 10206983
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
 
LVL 11

Expert Comment

by:dimitry
ID: 11226374
It was long conversation with links to documents. Maybe it is possible to leave it with points refunded ?
0
 

Accepted Solution

by:
modulo earned 0 total points
ID: 11248096
PAQed, with points refunded (150)

modulo
Community Support Moderator
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A little history Back in 1997 when I built my first custom computer using the revolutionary Gateway website I didn’t have much to choose from except for the CPU. The race between computer manufacturers was held back by processor manufacturers. They…
Arrow Electronics was searching for a KVM  (Keyboard/Video/Mouse) switch that could display on one single monitor the current status of all units being tested on the rack.
NetCrunch network monitor is a highly extensive platform for network monitoring and alert generation. In this video you'll see a live demo of NetCrunch with most notable features explained in a walk-through manner. You'll also get to know the philos…
Michael from AdRem Software outlines event notifications and Automatic Corrective Actions in network monitoring. Automatic Corrective Actions are scripts, which can automatically run upon discovery of a certain undesirable condition in your network.…

764 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question