Solved

Diskonchip Millennium?

Posted on 2003-12-03
32
541 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
  • 13
  • 12
  • 4
  • +1
32 Comments
 
LVL 13

Expert Comment

by:AlbertaBeef
Comment Utility
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
Comment Utility
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
Comment Utility
oops, spelling error in second to last post (typing too fast)  "reuqires" should be "requires"

AlbertaBeef
0
 
LVL 11

Expert Comment

by:dimitry
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
  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
Comment Utility
  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
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
Yes
0
 

Author Comment

by:Johncy
Comment Utility
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
Comment Utility
For boot it is Ok, but then to load INT 13h driver you need to map it to for example 0x000D0000.
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 

Author Comment

by:Johncy
Comment Utility
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
Comment Utility
Video Adaptor is also mapped to "low" memory: 0xA0000-0xC7FFF...
0
 

Author Comment

by:Johncy
Comment Utility
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
 
LVL 11

Expert Comment

by:dimitry
Comment Utility
0
 

Author Comment

by:Johncy
Comment Utility
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
Comment Utility
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
Comment Utility
Did you still have problems with DiskOnChip ?
0
 

Author Comment

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

Expert Comment

by:dimitry
Comment Utility
Can you please show your memory map ?
0
 

Author Comment

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

Expert Comment

by:dimitry
Comment Utility
Can you please tell the exact memory location ?
0
 

Author Comment

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

Expert Comment

by:dimitry
Comment Utility
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
Comment Utility
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
Comment Utility
PAQed, with points refunded (150)

modulo
Community Support Moderator
0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

Memory (not to be confused with Hard Drive Space) can greatly increase the performance of a computer. Each version of Window has greater demands on memory. My personal recommendation to get decent performance out of a machine is as follows: Windows…
Great sound, comfort and fit, excellent build quality, versatility, compatibility. These are just some of the many reasons for choosing a headset from Sennheiser.
Illustrator's Shape Builder tool will let you combine shapes visually and interactively. This video shows the Mac version, but the tool works the same way in Windows. To follow along with this video, you can draw your own shapes or download the file…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

763 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

Need Help in Real-Time?

Connect with top rated Experts

8 Experts available now in Live!

Get 1:1 Help Now