Programmers' Hardware Database
- xenos
- Member
- Posts: 1118
- Joined: Thu Aug 11, 2005 11:00 pm
- Libera.chat IRC: xenos1984
- Location: Tartu, Estonia
- Contact:
Re: Programmers' Hardware Database
Sometimes even bad news have their good sides. My satellite receiver (Clarke-Tech ET9000, some Linux box) is broken and I need to return it to customer support. A bit of digging (it has a serial output for early boot messages) showed that the OS flash memory is broken (even though I haven't done anything) and needs to be replaced. The bootloader is in a separate flash, so that one still works. I'll send the box to customer support tomorrow.
But since I was already logged into the boot console, I thought I'd use the opportunity and play around a little. It turned out that the bootloader is based on Broadcom's Common Firmware Environment (CFE) and features a simple command line interface. The commands include some diagnostic stuff, memory dumps, directory listing of a USB stick, flashing images from TFTP or USB stick, loading files into memory and even booting some kernel (in ELF or raw binary format, uncompressed or gzip compressed) from USB, TFTP or flash. I wrote a very simple "Hello world!" assembly kernel printing some message to serial and managed to boot it from USB. It's quite some fun to play with this device, dig into MIPS assembly and figure out how things work.
I think I should write some wiki article here at OSDev including my "Hello world!" kernel, just in case...
Here's some hardware info on this device, including the boot process, which I just figured out today:
http://hardware.wikinet.org/wiki/ET9000
http://hardware.wikinet.org/wiki/BCM7405
BTW, the articles on BCM7405 and BCM2835 in my wiki are exceptionally popular - searching Google for those two ICs returns my wiki articles on the first few pages...
But since I was already logged into the boot console, I thought I'd use the opportunity and play around a little. It turned out that the bootloader is based on Broadcom's Common Firmware Environment (CFE) and features a simple command line interface. The commands include some diagnostic stuff, memory dumps, directory listing of a USB stick, flashing images from TFTP or USB stick, loading files into memory and even booting some kernel (in ELF or raw binary format, uncompressed or gzip compressed) from USB, TFTP or flash. I wrote a very simple "Hello world!" assembly kernel printing some message to serial and managed to boot it from USB. It's quite some fun to play with this device, dig into MIPS assembly and figure out how things work.
I think I should write some wiki article here at OSDev including my "Hello world!" kernel, just in case...
Here's some hardware info on this device, including the boot process, which I just figured out today:
http://hardware.wikinet.org/wiki/ET9000
http://hardware.wikinet.org/wiki/BCM7405
BTW, the articles on BCM7405 and BCM2835 in my wiki are exceptionally popular - searching Google for those two ICs returns my wiki articles on the first few pages...
- xenos
- Member
- Posts: 1118
- Joined: Thu Aug 11, 2005 11:00 pm
- Libera.chat IRC: xenos1984
- Location: Tartu, Estonia
- Contact:
Re: Programmers' Hardware Database
A few days ago the Programmer's Hardware Database reached 10,000 hits, so it's time for me to think about what should be done next.
Recently I talked to a colleague and we talked about the computing performance of modern gaming consoles. He told me that there are even scientific articles on how these devices can be used to build high performance computing (HPC) clusters. I found some of these articles and some hardware information for these devices, like how to run certain versions of Linux on some of them. However, I never owned one of them. So if anyone has some kind of gaming console (Wii, PlayStation, Xbox - whatever) and is interested in some hardware hacking and maybe writing some toy OS / "Hello world!" code for it, please let me know. The articles I found mainly concern the PlayStation 3 and the Cell microprocessor therein.
Looking around for further devices to study I found that many smartphones, internet tablets, media players etc. use SoCs from (mostly Asian) companies I never heard of, like Rockchip or Allwinner, for which there are no officially released datasheets. However, since many of these devices use Android, it's often possible to dig through some driver source code to figure out how things work. Again, I never owned one of these devices (but I think about buying some tablet sooner or later), so currently this source code (and some datasheets "found" on the web) is all I have on these devices.
Finally, I examined some Linux driver source code used in my TomTom GO 910, for things like the GPS unit, accelerometer, battery status and so on. They directly interface to some hardware registers of Samsung's S3C2442 SoC, for example, GPIO ports G and H or the integrated ADC. The interesting information one can get out of this source code is which pins of ports G and H are connected to the GPS unit, which ADC inputs measure acceleration and battery voltage, and so on. This information might be helpful for someone who wants to write a new driver (potentially for his own OS / some toy OS) for these devices. I'll probably put this on my wiki in the next days.
Recently I talked to a colleague and we talked about the computing performance of modern gaming consoles. He told me that there are even scientific articles on how these devices can be used to build high performance computing (HPC) clusters. I found some of these articles and some hardware information for these devices, like how to run certain versions of Linux on some of them. However, I never owned one of them. So if anyone has some kind of gaming console (Wii, PlayStation, Xbox - whatever) and is interested in some hardware hacking and maybe writing some toy OS / "Hello world!" code for it, please let me know. The articles I found mainly concern the PlayStation 3 and the Cell microprocessor therein.
Looking around for further devices to study I found that many smartphones, internet tablets, media players etc. use SoCs from (mostly Asian) companies I never heard of, like Rockchip or Allwinner, for which there are no officially released datasheets. However, since many of these devices use Android, it's often possible to dig through some driver source code to figure out how things work. Again, I never owned one of these devices (but I think about buying some tablet sooner or later), so currently this source code (and some datasheets "found" on the web) is all I have on these devices.
Finally, I examined some Linux driver source code used in my TomTom GO 910, for things like the GPS unit, accelerometer, battery status and so on. They directly interface to some hardware registers of Samsung's S3C2442 SoC, for example, GPIO ports G and H or the integrated ADC. The interesting information one can get out of this source code is which pins of ports G and H are connected to the GPS unit, which ADC inputs measure acceleration and battery voltage, and so on. This information might be helpful for someone who wants to write a new driver (potentially for his own OS / some toy OS) for these devices. I'll probably put this on my wiki in the next days.
- xenos
- Member
- Posts: 1118
- Joined: Thu Aug 11, 2005 11:00 pm
- Libera.chat IRC: xenos1984
- Location: Tartu, Estonia
- Contact:
Re: Programmers' Hardware Database
My list of Chinese chip manufacturers is growing It seems that they have some datasheets on their website which contain pinouts, electrical characteristics, a basic feature list etc., but no memory map or a list of hardware registers, which would be necessary for software / driver development. However, they have some Linux source code ported to their SoCs, so in principle it should be possible to figure out how things work:
http://en.ingenic.cn/product.aspx?ID=62
http://en.ingenic.cn/product.aspx?ID=62
- xenos
- Member
- Posts: 1118
- Joined: Thu Aug 11, 2005 11:00 pm
- Libera.chat IRC: xenos1984
- Location: Tartu, Estonia
- Contact:
Re: Programmers' Hardware Database
I have added a category containing some Ingenic SoCs and links to their product pages and datasheets:
http://hardware.wikinet.org/wiki/Category:Ingenic
These Ainol Novo tablets look quite interesting to me. It seems that they contain quite some variety of different SoCs, such as the Allwinner A10 and the AMLogic 8726-MX.
http://hardware.wikinet.org/wiki/Category:Ingenic
These Ainol Novo tablets look quite interesting to me. It seems that they contain quite some variety of different SoCs, such as the Allwinner A10 and the AMLogic 8726-MX.
Re: Programmers' Hardware Database
Hi,
Great site and great wiki's!
About bcm7405/13...
Can you enable/disable the ejtag port, or can you tell if the port is otp fused?
p.s. The smp8634/5 mips SoC is well documented. Would you like to add to the hardware wiki?
Cheers!
Great site and great wiki's!
About bcm7405/13...
Can you enable/disable the ejtag port, or can you tell if the port is otp fused?
p.s. The smp8634/5 mips SoC is well documented. Would you like to add to the hardware wiki?
Cheers!
- xenos
- Member
- Posts: 1118
- Joined: Thu Aug 11, 2005 11:00 pm
- Libera.chat IRC: xenos1984
- Location: Tartu, Estonia
- Contact:
Re: Programmers' Hardware Database
Actually I have never tried to use the ejtag port (and right now don't have a ET9000 or other device with bcm7405/13 since I moved to a different place and have not even TV here).
Yes, I'm certainly interested in the smp8634/5 - you can also add it, if you like, that's the purpose of a wiki
Yes, I'm certainly interested in the smp8634/5 - you can also add it, if you like, that's the purpose of a wiki
Re: Programmers' Hardware Database
Hi I uploaded some mips cpu docs to my google drive.
Hope you can get some use of them.
SMP863x (azbox, wegener smd515 and many more)
https://docs.google.com/file/d/0B_1Sqvi ... sp=sharing
https://docs.google.com/file/d/0B_1Sqvi ... sp=sharing
https://docs.google.com/file/d/0B_1Sqvi ... sp=sharing
http://sourceforge.net/projects/mramc/
Nec vr5xxx (qualitv dvb set-top)
https://docs.google.com/file/d/0B_1Sqvi ... sp=sharing
Hope you can get some use of them.
SMP863x (azbox, wegener smd515 and many more)
https://docs.google.com/file/d/0B_1Sqvi ... sp=sharing
https://docs.google.com/file/d/0B_1Sqvi ... sp=sharing
https://docs.google.com/file/d/0B_1Sqvi ... sp=sharing
http://sourceforge.net/projects/mramc/
Nec vr5xxx (qualitv dvb set-top)
https://docs.google.com/file/d/0B_1Sqvi ... sp=sharing
- xenos
- Member
- Posts: 1118
- Joined: Thu Aug 11, 2005 11:00 pm
- Libera.chat IRC: xenos1984
- Location: Tartu, Estonia
- Contact:
Re: Programmers' Hardware Database
Thanks a lot! I'll have a look and probably can make use of that (As soon as I have some spare time...)
Re: Programmers' Hardware Database
Yeah the volume of smp863x info on the web is mind numbing.
I do have a couple of 'vantage' development boards in the form of smd515 as depicted in the block diagram.
You can have one if you want it.
These boards make excellent media rendering frontends.
I do have a couple of 'vantage' development boards in the form of smd515 as depicted in the block diagram.
You can have one if you want it.
These boards make excellent media rendering frontends.
- xenos
- Member
- Posts: 1118
- Joined: Thu Aug 11, 2005 11:00 pm
- Libera.chat IRC: xenos1984
- Location: Tartu, Estonia
- Contact:
Re: Programmers' Hardware Database
Sounds good Which software do you run on them? Linux? Would be great to turn one of them into a GPS device, if I could manage co connect a USB GPS receiver and run Navit (one of the projects I co-develop)
Re: Programmers' Hardware Database
I bought them on ebay for dirt cheap knowing that they had same chipset as azbox receivers...and azbox receivers are the only consumer level IRD that supports 4:2:2 chromo in hardware.
The manufacturer left all the development headers populated in the mass production boards, which was a nice surprise. And 2x 16MB nor flash, plenty of storage for ya
Also attaching a UART log...you can see whats going. Its just the default firmware.
I used jtag cable to read the flash and then mount the JFFS2 file system. There is a binary called "weg_fp", which I had assumed was similair to Sigma's sample a/v renderer "MONO Player" which is packaged in the SMP863x MRUA. And after disassembling "weg_fp", I could clearly see from the binaries arguments such as "--colobars", it was good chance.
The only success I have is running the ant galio web browser which there is also a binary for in the file system.
Your knowledge on the subject is exponentially greater than mine and so will your success with this board.
The popcorn hour toolchain is good place to start
http://thatblogs.com/content/popcorn-ho ... -fedora-10
But popcorn hour runs different kernel version and sigma mrua.
I did however build the toolchain and sample apps anyway, but when I tried to run them I got errors.
Let me know where to send the board and I will mail one out ASAP.
The manufacturer left all the development headers populated in the mass production boards, which was a nice surprise. And 2x 16MB nor flash, plenty of storage for ya
Also attaching a UART log...you can see whats going. Its just the default firmware.
I used jtag cable to read the flash and then mount the JFFS2 file system. There is a binary called "weg_fp", which I had assumed was similair to Sigma's sample a/v renderer "MONO Player" which is packaged in the SMP863x MRUA. And after disassembling "weg_fp", I could clearly see from the binaries arguments such as "--colobars", it was good chance.
The only success I have is running the ant galio web browser which there is also a binary for in the file system.
Your knowledge on the subject is exponentially greater than mine and so will your success with this board.
The popcorn hour toolchain is good place to start
http://thatblogs.com/content/popcorn-ho ... -fedora-10
But popcorn hour runs different kernel version and sigma mrua.
I did however build the toolchain and sample apps anyway, but when I tried to run them I got errors.
Let me know where to send the board and I will mail one out ASAP.
- Attachments
-
- smp8634_UART_WegenerSMD515.log.txt
- (20.66 KiB) Downloaded 158 times
- xenos
- Member
- Posts: 1118
- Joined: Thu Aug 11, 2005 11:00 pm
- Libera.chat IRC: xenos1984
- Location: Tartu, Estonia
- Contact:
Re: Programmers' Hardware Database
Looks pretty nice I hope that I have all the necessary tools and hardware here to play around with this device, since I did not take much with me when I moved from Germany to Estonia last year, so some cables and adapters are still in my old place But I'll sure give it a try and can certainly get myself those things, so I send you a mail with contact details. Thanks a lot!
BTW, I plan to move the Programmers' Hardware Database to a different hosting service, since the current one has some severe problems. They struggle with tons of spam, but are not willing to set their wikis to require e.g. account activation from the wiki admin or a similar method of account approval. Their server seems to nearly break down under this and loading gets very slow. If you happen to know a better wiki provider, please let me know. I could certainly set up my own mediawiki, at least as an intermediate solution, as long as my small server can cope with it
BTW, I plan to move the Programmers' Hardware Database to a different hosting service, since the current one has some severe problems. They struggle with tons of spam, but are not willing to set their wikis to require e.g. account activation from the wiki admin or a similar method of account approval. Their server seems to nearly break down under this and loading gets very slow. If you happen to know a better wiki provider, please let me know. I could certainly set up my own mediawiki, at least as an intermediate solution, as long as my small server can cope with it
Re: Programmers' Hardware Database
It seems that I can host your wiki (at least, some kind of mirror). PM me your requirements if you're interested.XenOS wrote:I plan to move the Programmers' Hardware Database to a different hosting service
It seems to be a really nice board. What was the price?merkin wrote:I bought them on ebay for dirt cheap knowing that they had same chipset as azbox receivers
---
BTW (may be it's better to post it to "testbeds" topic), is anyone interested in playing with h2200 (old HP iPAQ) platform? One point of view is that it's rather old and well documented. But on the other side - such PDAs are very cheap now (although they have a lot of peripherals) + linux seems to work very slow on it, so there may be some interest in trying osdev for such devices (i have h2200 and hx2410).
Last edited by Nable on Wed Jul 24, 2013 12:26 am, edited 1 time in total.
Re: Programmers' Hardware Database
It seems a lot of wikis suffer from that, but looks like you got a nice offer.
Yeah this did get off-topic, dont care where its moved.
Got two for $30. http://www.wegener.com/PRODUCTS/STREAMI ... MD_515.php
Yeah this did get off-topic, dont care where its moved.
Got two for $30. http://www.wegener.com/PRODUCTS/STREAMI ... MD_515.php
- xenos
- Member
- Posts: 1118
- Joined: Thu Aug 11, 2005 11:00 pm
- Libera.chat IRC: xenos1984
- Location: Tartu, Estonia
- Contact:
Re: Programmers' Hardware Database
I have locked down the wiki for editing, since I get more spam than actual content. Nable, I also sent you a PM - thanks for your offer! I'm working on an export now (and will also try to setup Mediawiki on my own server, just to have another option or possible mirror).
---
http://wiki.navit-project.org/index.php ... evelopment
But of course also nice for OSDev
---
Actually these are also nice for running NavitNable wrote:BTW (may be it's better to post it to "testbeds" topic), is anyone interested in playing with h2200 (old HP iPAQ) platform? One point of view is that it's rather old and well documented. But on the other side - such PDAs are very cheap now (although they have a lot of peripherals) + linux seems to work very slow on it, so there may be some interest in trying osdev for such devices (i have h2200 and hx2410).
http://wiki.navit-project.org/index.php ... evelopment
But of course also nice for OSDev