OSDev.org

The Place to Start for Operating System Developers
It is currently Thu Mar 28, 2024 5:08 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 45 posts ]  Go to page 1, 2, 3  Next
Author Message
 Post subject: Programmers' Hardware Database
PostPosted: Thu Dec 22, 2011 6:47 am 
Offline
Member
Member
User avatar

Joined: Thu Aug 11, 2005 11:00 pm
Posts: 1110
Location: Tartu, Estonia
Recently there were a few discussions regarding things like a datasheet collection or a list of non-x86 development platforms. Since these hardware topics are interesting not only for OS developers, but also for programmers from other areas, I picked up this idea and created a new wiki focused on hardware information. You can find it here:

http://hardware.wikinet.org/wiki/Main_Page

The purpose of this wiki is to provide an encyclopedia of electronic hardware devices, their components and any further information that might be interesting from programmer's point of view. See the about page for a full motivation and a description of project goals.

If I configured everything correctly, registrations should be open and registered users are allowed to contribute. Before adding new content, please have a look at the already existing pages and categories. I'll be adding some more content during the next weeks (when I don't have to teach - because of some kind of holiday this weekend...).

_________________
Programmers' Hardware Database // GitHub user: xenos1984; OS project: NOS


Top
 Profile  
 
 Post subject: Re: Programmers' Hardware Database
PostPosted: Fri Dec 23, 2011 1:09 pm 
Offline
Member
Member
User avatar

Joined: Wed Oct 27, 2010 4:53 pm
Posts: 1150
Location: Scotland
I hope it takes off. The quickest way to make it useful would be to concentrate on collecting links to other sites to begin with rather than spending months or years duplicating stuff that's already out there.

_________________
Help the people of Laos by liking - https://www.facebook.com/TheSBInitiative/?ref=py_c

MSB-OS: http://www.magicschoolbook.com/computing/os-project - direct machine code programming


Top
 Profile  
 
 Post subject: Re: Programmers' Hardware Database
PostPosted: Fri Dec 23, 2011 2:20 pm 
Offline
Member
Member
User avatar

Joined: Thu Aug 11, 2005 11:00 pm
Posts: 1110
Location: Tartu, Estonia
Which kind of sites would you suggest for collecting links? Something like the OSDev wiki, eLinux, Wikipedia and so on? Or manufacturers' sites, links to datasheets?

_________________
Programmers' Hardware Database // GitHub user: xenos1984; OS project: NOS


Top
 Profile  
 
 Post subject: Re: Programmers' Hardware Database
PostPosted: Fri Dec 23, 2011 4:29 pm 
Offline
Member
Member

Joined: Wed Nov 09, 2011 2:21 am
Posts: 81
Location: Behind a keyboard located in The Netherlands
Reference manuals from the manufacture of a specific component, Intel for the x86 CPU's and AMD's too. (i find those important links for myself)

if you know where to find it the drivers used in linux are interresting too not very easy to port to every system but hey it's a good reference for a programmer how to setup a device.

and as book source (PC based) i would advice 'The Indispensable PC hardware book.' by Hans-Peter Messmer, a real life saver for me on more then one occasion. (for me atleast)


Top
 Profile  
 
 Post subject: Re: Programmers' Hardware Database
PostPosted: Sat Dec 24, 2011 11:17 am 
Offline
Member
Member

Joined: Wed Aug 25, 2010 6:35 am
Posts: 52
Location: Bonn, Germany
A great idea, indeed.

What I'd consider most useful is a short summary of what the individual components do and typical ways of using them, common pitfalls etc., followed by a link to the data sheet or spec for more detailed information; this kind of overview can get you started using a device really quickly and is what I most liked about the existing osdev.org wiki.

I'd be glad to contribute some pages, if I find the time, maybe on the LAPIC or I/O APIC, and would really appreciate it if someone added some articles on architectures other than X86(-64), since I really miss them both on osdev.org and lowlevel.eu.

_________________
https://github.com/qero/Hydrogen (Loader for AMD64 kernels running on top of GRUB2)


Top
 Profile  
 
 Post subject: Re: Programmers' Hardware Database
PostPosted: Sun Dec 25, 2011 4:33 pm 
Offline
Member
Member
User avatar

Joined: Thu Aug 11, 2005 11:00 pm
Posts: 1110
Location: Tartu, Estonia
CrypticalCode0 wrote:
Reference manuals from the manufacture of a specific component, Intel for the x86 CPU's and AMD's too. (i find those important links for myself)

I have already added some links to different ARM manuals, and I will certainly continue with other CPUs as well, including x86 and x86_64, of course.

Quote:
if you know where to find it the drivers used in linux are interresting too not very easy to port to every system but hey it's a good reference for a programmer how to setup a device.

Indeed, Linux drivers are usually a good starting point. Some of them are quite well documented. For low level stuff such as LAPIC / IOAPIC initialization I also had a look at the source code of various L4 microkernels, their implementations are quite nice.

Quote:
and as book source (PC based) i would advice 'The Indispensable PC hardware book.' by Hans-Peter Messmer, a real life saver for me on more then one occasion. (for me atleast)

I think I even have a copy of this book somewhere on my shelf... There is another one, named "PC Intern", which I definitely have and which I can recommend, mostly for VGA stuff and legacy hardware.

Farok wrote:
What I'd consider most useful is a short summary of what the individual components do and typical ways of using them, common pitfalls etc., followed by a link to the data sheet or spec for more detailed information; this kind of overview can get you started using a device really quickly and is what I most liked about the existing osdev.org wiki.

Good point. Indeed it would be nice to have some beginners' guides which allow you, for example, to grab some spare device (like an old Game Boy Advance), write some code, put it on the device and see it run.

Quote:
I'd be glad to contribute some pages, if I find the time, maybe on the LAPIC or I/O APIC, and would really appreciate it if someone added some articles on architectures other than X86(-64), since I really miss them both on osdev.org and lowlevel.eu.

Actually non-x86 platforms are one of the reasons why I kicked off this wiki. For x86(_64) there's lots of information on the web, and there is an active community of OS developers. It is much harder to obtain information on generic ARM or MIPS platforms, except for well-documented developer boards.

I'll try to add some more information (some of which I gained by experimenting myself) on the ARM and MIPS platforms I have, including a TomTom GO 910 navigation system and a Clarke-Tech ET9000 Linux satellite receiver. My newest toy will be a 2,4" digital picture frame with an Appotech AX203 or AX206, which can be turned into a USB display :)

_________________
Programmers' Hardware Database // GitHub user: xenos1984; OS project: NOS


Top
 Profile  
 
 Post subject: Re: Programmers' Hardware Database
PostPosted: Mon Dec 26, 2011 12:09 pm 
Offline
Member
Member
User avatar

Joined: Thu Aug 11, 2005 11:00 pm
Posts: 1110
Location: Tartu, Estonia
Actually I already have links to documents within the ARM infocenter on the ARM processor pages in my wiki. I've added a link to the start page on my ARM category page.

_________________
Programmers' Hardware Database // GitHub user: xenos1984; OS project: NOS


Top
 Profile  
 
 Post subject: Re: Programmers' Hardware Database
PostPosted: Mon Jan 02, 2012 3:31 am 
Offline
Member
Member
User avatar

Joined: Thu Aug 11, 2005 11:00 pm
Posts: 1110
Location: Tartu, Estonia
I started a page gathering some information on the BCM7405, for which I could not find any datasheets online. I'm still working on completing the memory map, which I obtained from carefully examining the Linux debug output from my satellite receiver. It's really fun to figure out how things fit together, and to dig into the MIPS architecture :)

_________________
Programmers' Hardware Database // GitHub user: xenos1984; OS project: NOS


Top
 Profile  
 
 Post subject: Re: Programmers' Hardware Database
PostPosted: Mon Jan 02, 2012 3:52 am 
Offline
Member
Member

Joined: Wed Nov 09, 2011 2:21 am
Posts: 81
Location: Behind a keyboard located in The Netherlands
I know how SRAM works i know how DRAM works i know how VRAM works i know SDRAM, DDR, DDR 2, WRAM, fast page, static column, Extended data output that sorta fun stuff.
but now i am hunting for two things MDRAM complete spec sheets.
I have a ET6000 video card, and i want to insert some more RAM into it and the thing eats MDRAM....


Top
 Profile  
 
 Post subject: Re: Programmers' Hardware Database
PostPosted: Sun Jan 08, 2012 12:45 pm 
Offline
Member
Member
User avatar

Joined: Thu Aug 11, 2005 11:00 pm
Posts: 1110
Location: Tartu, Estonia
I have added a few pages on some Samsung SoCs (including links to datasheets) which are used, for example, in TomTom's navigation devices, a category with hardware manufacturers, and I'm still digging through some disassembled boot loader code to get some more information about the BCM7405.

Let's see what will come next...

_________________
Programmers' Hardware Database // GitHub user: xenos1984; OS project: NOS


Top
 Profile  
 
 Post subject: Re: Programmers' Hardware Database
PostPosted: Sun Jan 08, 2012 4:18 pm 
Offline
Member
Member
User avatar

Joined: Tue Oct 17, 2006 9:29 pm
Posts: 2426
Location: Canada
I added a few tidbits for the RT3052

_________________
Image
Twitter: @canadianbryan. Award by smcerm, I stole it. Original was larger.


Top
 Profile  
 
 Post subject: Re: Programmers' Hardware Database
PostPosted: Sun Jan 08, 2012 4:53 pm 
Offline
Member
Member
User avatar

Joined: Thu Aug 11, 2005 11:00 pm
Posts: 1110
Location: Tartu, Estonia
Brynet-Inc wrote:
I added a few tidbits for the RT3052


That's exactly the one I was looking for this afternoon :D

_________________
Programmers' Hardware Database // GitHub user: xenos1984; OS project: NOS


Top
 Profile  
 
 Post subject: Re: Programmers' Hardware Database
PostPosted: Mon Jan 09, 2012 12:39 am 
Offline
Member
Member
User avatar

Joined: Tue Oct 17, 2006 9:29 pm
Posts: 2426
Location: Canada
XenOS wrote:
Brynet-Inc wrote:
I added a few tidbits for the RT3052

That's exactly the one I was looking for this afternoon :D

Heh.

I just added a memory map, and started adding some other MIPS related pages. I'm still not overly fond of Wiki-syntax.

_________________
Image
Twitter: @canadianbryan. Award by smcerm, I stole it. Original was larger.


Top
 Profile  
 
 Post subject: Re: Programmers' Hardware Database
PostPosted: Wed Jan 11, 2012 11:30 am 
Offline
Member
Member
User avatar

Joined: Thu Aug 11, 2005 11:00 pm
Posts: 1110
Location: Tartu, Estonia
Having a few more MIPS pages would certainly be nice, especially on the different MIPS cores. I think I'll write a page on identifying MIPS cores by their PRId register contents as soon as I have some time.

In the meantime I have concentrated on the different ARM cores and included links to their datasheets. Now there are also pages for some OMAP SOCs, at least those for which I have found datasheets by now. (The datasheets for the two OMAP 4 SoCs in the wiki have more than 5500 pages each!) I also added a few pages for some development systems, although these contain only links to related pages so far.

Maybe I can figure out how to create an "info box" template so one can easily put an info box with commonly needed information such as CPU / core architecture, clock rates, manufacturers etc. on the top of some pages, i.e., for SoCs, application processors and so on.

BTW, I like the concept of "linking" datasheets by posting their filenames :)

_________________
Programmers' Hardware Database // GitHub user: xenos1984; OS project: NOS


Top
 Profile  
 
 Post subject: Re: Programmers' Hardware Database
PostPosted: Sun Jan 15, 2012 6:29 am 
Offline
Member
Member
User avatar

Joined: Thu Aug 11, 2005 11:00 pm
Posts: 1110
Location: Tartu, Estonia
As already announced, I created a page for the MIPS PRId register. It makes use of the "Register" template I wrote to easily format the layouts of hardware registers as tables.

I played around a bit with this template on my user page. There is certainly some room for improvements, mostly concerning the CSS formatting of these tables. Should there be a margin between the table cells (so one gets separate "boxes" for each field in a hardware register) or not? Should there be additional separation lines between the bit numbers? Should the bit numbers be placed above or below the register names? I prefer the current layout (separate boxes, bit numbers below register names, no separation lines between them), but if you'd prefer something else, just let me know.

If you wish to use the register template, have a look at the examples on my page to see how it works. You can add up to 32 fields by using the template parameters bits0 - bits31 and name0 - name31. Make sure that the parameters are filled up contiguously and start with bits0 / name0.

I had a look at the statistics page and it seems that most visitors are interested in PC hardware. Unfortunately this category has no content pages yet. If anybody has suggestions which graphics cards, sound cards, network interface cards etc. are important milestones / mostly interesting for developers at should be added to the wiki rather soon, feel free to add a page, maybe containing just a few links to some hardware documentation. I frequently look at the recent changes to manage the "content flow".

Finally, I recently stumbled across a list of Gumstix devices...

_________________
Programmers' Hardware Database // GitHub user: xenos1984; OS project: NOS


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 45 posts ]  Go to page 1, 2, 3  Next

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 33 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group