All off topic discussions go here. Everything from the funny thing your cat did to your favorite tv shows. Non-programming computer questions are ok too.
I'm considering developing an OS for MIPS architecture (not yet decided on the platform). I don't intend to go out and buy a development board, yet, so QEMU is my immediate choice. Just curious if anyone has tried it before? Are there any insurmountable challenges along the way?
Btw, this is a hobby project and I chose MIPS because I wanted a RISC processor (please - no debates on RISC v/s CISC )
Is developing on MIPS drastically more difficult than developing on ARM (ARM being more popular)? I have read through the MIPS documentation and read the books ... and I'm decently comfortable with the architecture.
Besides ARM, processors with RISC designs in common use are far and few between. Finding a real MIPS machine with a similar configuration to what QEMU provides will be difficult, and probably even more so will be finding the few bits of hardware documentation that do exist.
It is not an insurmountable challenge, but from experience the vast majority of people lack the patience, skill and google-fu to get somewhere meaningful.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
If you don't mind getting rid of QEMU, "homebrew" is a very useful google query for the vast majority of architectures - MIPS included.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
The closest thing there is to a massively-available MIPS box is the PlayStation 2 (its Emotion Engine CPU implements MIPS-III and a fair bit of MIPS-IV). Or, if you fancy shipping from Japan, there's always Sony's PS2-based DVR that failed. Either way, you'd have to learn how to do homebrew for the PlayStation 2, which QEMU doesn't emulate. Thankfully there are decent PS2 emulators out there these days, but they're quite resource-intensive and not necessarily accurate.
Tapti wrote:Though there must be reasons why MIPS isn't as popular as ARM.
ARM has been very good at providing their customers support, comprehensive tools, peripheral IPs and development aid. They simply provide a good range of support so that the customers can develop their systems as planned. Also, ARM is like an established standard in the embedded world, there are loads of engineers who know ARM processors which often leads to that they choose ARM.
I used to play around with an ET9000, which is a DVB-S receiver based on Broadcom's BCM7405, and even wrote a simple Hello world! example for it. Playing around with MIPS can certainly be fun, once you have some platform for testing your code. But I agree with the others that ARM seems to be more common these days.
There are a lot of MIPS devices on the market these days, you might find OpenWrt wiki/forums a useful source of information, you can usually find serial pinouts.. SoC information, occasionally enough references to find a datasheet with some google fu.
WikiDevi is also handy to search for devices, and other information.
Twitter: @canadianbryan. Award by smcerm, I stole it. Original was larger.
You could always go for a smaller embedded OS and use a chipkit board which uses a PIC32 which is MIPS.
And yes, I think MIPS is easier than ARM, by a long way.
Also, there's no reason why you can't just use QEMU or some other MIPS simulator to start on. There are a ton of ols SGI machines out there that would suffice, an Indy? Full docs are available for them.