OSDev.org
https://forum.osdev.org/

Programmers' Hardware Database
https://forum.osdev.org/viewtopic.php?f=2&t=24577
Page 1 of 3

Author:  xenos [ Thu Dec 22, 2011 6:47 am ]
Post subject:  Programmers' Hardware Database

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...).

Author:  DavidCooper [ Fri Dec 23, 2011 1:09 pm ]
Post subject:  Re: Programmers' Hardware Database

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.

Author:  xenos [ Fri Dec 23, 2011 2:20 pm ]
Post subject:  Re: Programmers' Hardware Database

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?

Author:  CrypticalCode0 [ Fri Dec 23, 2011 4:29 pm ]
Post subject:  Re: Programmers' Hardware Database

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)

Author:  Qeroq [ Sat Dec 24, 2011 11:17 am ]
Post subject:  Re: Programmers' Hardware Database

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.

Author:  xenos [ Sun Dec 25, 2011 4:33 pm ]
Post subject:  Re: Programmers' Hardware Database

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 :)

Author:  xenos [ Mon Dec 26, 2011 12:09 pm ]
Post subject:  Re: Programmers' Hardware Database

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.

Author:  xenos [ Mon Jan 02, 2012 3:31 am ]
Post subject:  Re: Programmers' Hardware Database

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 :)

Author:  CrypticalCode0 [ Mon Jan 02, 2012 3:52 am ]
Post subject:  Re: Programmers' Hardware Database

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....

Author:  xenos [ Sun Jan 08, 2012 12:45 pm ]
Post subject:  Re: Programmers' Hardware Database

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...

Author:  Brynet-Inc [ Sun Jan 08, 2012 4:18 pm ]
Post subject:  Re: Programmers' Hardware Database

I added a few tidbits for the RT3052

Author:  xenos [ Sun Jan 08, 2012 4:53 pm ]
Post subject:  Re: Programmers' Hardware Database

Brynet-Inc wrote:
I added a few tidbits for the RT3052


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

Author:  Brynet-Inc [ Mon Jan 09, 2012 12:39 am ]
Post subject:  Re: Programmers' Hardware Database

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.

Author:  xenos [ Wed Jan 11, 2012 11:30 am ]
Post subject:  Re: Programmers' Hardware Database

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 :)

Author:  xenos [ Sun Jan 15, 2012 6:29 am ]
Post subject:  Re: Programmers' Hardware Database

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...

Page 1 of 3 All times are UTC - 6 hours
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/