Where Can I Buy A Cheap MIPS Embedded Development Board

I have recently gotten interested in this subject and I have a nice ARM board I have been playing with. Just curious if anyone knows of MIPS embedded boards I can purchase to use to delve deeper into embedded os and hardware related issues.

Much thanks

Reply to
Aldorus
Loading thread data ...

Try a PIC32 board, they have MIPS cores.

Reply to
Arlet Ottens

Maybe more 'horsepower' than you need, but winsystems has boards that run Linux, WindowsCE, etc. maybe even just RomDos. Full industrial spec too.

Reply to
1 Lucky Texan

Alas the ones I saw were x86 processors. I am not a big fan ;(

Reply to
Aldorus

For example:

formatting link

Be sure to have separate tool kits for PIC24 and PIC32. I was trying out a PIC32 chip and the programmer/debugger started reloading PIC32 firmware. I did not want to risk my PIC24 stuffs, so i aborded.

Reply to
linnix

Microchip PIC32 uses a MIPS M4k core. 80MHz, though I've read it can be clocked at twice that with suitable delays for the flash inside. I worked on R2000 cores, many years ago, and find the PIC32 like 'old home week' except that it now actually stalls on reading a just-written register rather than just blindly moving on as the old R2000 would do. A little less 'RISC'y than it once was.

A friend of mine just bought a derivative of Geoff's MBASIC board from Dontronics to give to me (picked it up last Saturday and haven't yet fired it up, though I did play with his other one at his house that day.) So I expect to dig deeper into the tools and the processor core, over the coming weeks. Don has already written a bit about it here, so I won't duplicate his efforts now. But it is easy to find his site.

You might also consider these links for PIC32 options:

formatting link
formatting link
formatting link
formatting link

Relatively inexpensive. Keep in mind that the PIC32MX795F512 (L or H varieties) includes 512k flash and 128k sram.

If I've over-read what you said and a PIC32 isn't what you are looking for, I apologize. In that case, I'm not sure of a MIPS embedded board for your consideration.

If you are looking for information on writing operating systems, we've recently had a discussion on the very low level basics of that topic in this group. Depending on what you are looking to explore, I can recommend books as well.

Jon

Reply to
Jon Kirwan

Just curiosity: does it still have those branch delay slots?

Reply to
Dombo

Thanks Jon

Reply to
Aldorus

Oh, yes!! Must have those! And it does. In order to achieve only one cycle's worth, as with the R2000, there is some 'extra' logic in the pipeline design. And that is carried forward from R2000 to the M4k, as well. So just one cycle's worth of branch delay.

What I don't yet know is if the code reorganizer still is present in the gcc tools for this. In the MIPS software toolset I used, it was a phase _after_ the c compiler and _after_ the assembler tool that would look for opportunities to move around code (such as into the branch delay slot, or as ensuring that if a register value was requested right after changing it that other instructions might be packed in there that didn't refer to that register.) I did read that the compiler and/or assembler might insert NOPs where you least expect them. So that suggests I have some study to do with the compiler/assembler/linker/whatever toolset when I get them up and running.

Speaking of which.... I don't yet want to pay Microchip for their compiler tools. I know they have a watered down version that limits the optimizer at some point in time and I don't want that, either. I'm considering using either the tools developed through Digilent or else scarfing up tools from some other source. I will need an appropriate debugger tool (hopefully one that does NOT hide inserted NOPs and doesn't hide the branch slot behaviors) and probably an IDE (eclipse? but which one?) Any thoughts about the tools available for the PIC32 on this point, web sites that are really good about getting started, etc., would be much appreciated. The board I have in hand right now uses a 6-pin debug connector, just to note that fact as well.

Thanks, Jon

Reply to
Jon Kirwan

I wonder if the delay slots were a net gain or decrease in the pipeline logic. After all, the delay slot instruction is already in the pipeline when the branch is executed, so it might just be simpler to just execute that one as well. In any case, over in comp.arch John Mashey wrote that the delay slot became a real issue when they were designing out-of-order cores and with hindsight they should have been left out.

Yes, in the assembler (gas) to be precise. I don't think it's documented in the manual(!) but I believe it strives for some degree of compatibility with MIPS' own tools. There are directives to disable reordering and the default macro expansions, I think the Sweetman book talks about these.

Microchip use GCC and binutils, don't they? You've long been able to download the source code of their GCC compilers and rebuild them with all optimizations enabled. They do have optimized libraries which are not open source.

-a

Reply to
Anders.Montonen

The original logic for inclusion, of course, didn't include 'out of order' execution. At the time, they didn't have access to the better FABs and so were focused on getting the most from far less than a million transmission gate and inverter ASICs. Which was a tough row to hoe, then. But they did very well with what they could access, as hindsight tells.

Out of order execution makes sense when you have instructions that require more than the fixed 5 stages used in the M4k. It doesn't make any sense that I know of, in cases where almost all the instructions fit that model or where you can use a coprocessor design for a few oddities, as the M4k does with the division instruction.

It makes huge sense in the case of CISC. But then, even Intel converts their x86 instructions into fixed-pipeline style RISC (microop) instructions to be executed, with support from a registration station and memory ordering buffer, with results posted to the ROB (re-order buffer) for eventual retirement to simulate in-order execution.

I'd like to know the details about the "real issue" you refer to. In the case of MIPS cores, I mean. (I already have a good picture of what it means for CISC designs, having worked on testing the internals of Intel's P6 and later.) So the argument may, or may not, make sense to me. I'd need to consider it in light of the rest of the M4k architecture. Regardless, it would be interesting to read the discussion.

What?!?! Now that makes me MAD!

Luckily, I still have my old MIPS docs and the R2000 tools. May have to unearth all this stuff from the attic.

Hmm. "Sweetman" -- I'll look him/her up. If you have a title handy, I would appreciate a note about it.

Yes, but I'm trying to avoid having to do too much work here. So I'd rather not have to set up a complete compile environment under Win 7 64-bit. Probably have to use virtual mode to get a 32-bit system set up and I will do it, but I'd rather avoid all this "figuring things out" if I can. There are a number of reasons besides that one, as well, for wanting to piggy back on the work of others. But that one suffices for this discussion, I think.

Only the floating point library, if it is any good, would be much interest to me, anyway. On the library topic. The rest isn't all that important for the stuff I usually do.

Jon

Reply to
Jon Kirwan

It is possible I misremembered. The closest I could find was where Mashey writes "3) Even in relatively simple architectures, little things can cause pain in later implementations. Here are a couple from MIPS history:

a) 1 BD-slot was fine, and even useful in the 1-instruction-fetch,

1-issue R2000, and it cost little to implement. By the time of the R10000, with 4-instruction fetch, it was an irritation. [I don't mind this one too much, as it did help R2000s, and we needed it.]"

Dominic Sweetman, "See MIPS Run". It came up in an earlier discussion.

-a

Reply to
Anders.Montonen

Okay. That point I can see. It has to do with wide fetches, if and only if the cpu is superscaler (multiple parallel functional units doing the same work, as in the P6 having two separate floating point units on the registration station, for example) decoded at the same time in parallel pipes (which the P6 did with a decoder that can decode three simple instructions per cycle) and which many of these wide flash memories (for speed) hints towards. Thanks. It wouldn't matter if the wide fetch wasn't part of a cpu with that structure, though. At least, not that I can see right now.

Oh, yes. I'm reading it, already. Lots of good stuff. Brings back memories, too Getting old, now, though. Needs a serious refurbish. Doesn't even mention the M14k, for example, and so far as I'm aware doesn't yet mention the PIC32, either. But it's the kind of information I enjoy reading and I like it a lot. I would miss it, if it were gone.

Jon

Reply to
Jon Kirwan

But you will need one...

--
mac the naïf
Reply to
mac

The "Maximite" PIC32 MM-Basic boards Jon spoke about are currently being upgraded to a new Arduino shield model called "DuinoMite", however they are still possibly a month away from being available.

Here are the specs and prices, which were only determined two days ago:

formatting link
formatting link
formatting link
formatting link
formatting link

I would also like to point out that these boards are not just PIC32 development boards. In their current form, they are a Complete PC system called Maximite. The Arduino shield version is called DuinoMite. It fires up under interpreted Basic with the current firmware.

Here is what Chuck Hellebuyck of elproducts said about it yesterday on the support forum:

=====================================

I believe many of us feel the same way about the potential for Maximite and its ability to stand on the shoulders of the Arduino success through the various shields available. And to think 6 months ago many on this list had never heard of Arduino and now many on this list will help support the biggest competition to Arduino.

As has been stated many times here, the fact you don't need a computer to program Maximite is one of it's biggest selling points over Arduino. An old CRT VGA monitor (which can be picked up anywhere practically for free) and a keyboard which can be found anywhere or even purchased new for under $5 (in USA anyway) plus your Maximite and your programming. Nothing to install, no drivers or ports to configure, just power up and go.

====================================

Cheers Don...

====================================

--
Don McKenzie

Dontronics Site Map: http://www.dontronics.com/sitemap
E-Mail Contact Page: http://www.dontronics.com/email
Web Camera Page:     http://www.dontronics.com/webcam
No More Damn Spam:   http://www.dontronics.com/spam

New MMBasic Computer http://www.TheMaximiteComputer.com

These products will reduce in price by 5% every month:
http://www.dontronics-shop.com/minus-5-every-month.html
http://www.dontronics-shop.com/ics.html

Bare Proto PCB for PIC or AVR projects?
"I'd buy that for a Dollar!".
http://www.dontronics-shop.com/simmstick-fifteen-years-on.html
Reply to
Don McKenzie

RM

s
.

You can comfortably let programmer do its job. It will work fine for both PIC24 and PIC32. Be assured of this.

Reply to
Abhishek

ARM

S

os

..

My PIC KIT 3 lock up while downloading the PIC32 firmware. I had to manually redownload PIC24 firmware. I'll get another PIC KIT 3 before trying PIC32 again.

Reply to
linnix

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.