feature article
Subscribe Now

MIPS Rolls Out Its Own IDE

IDEs are so popular even hardware companies are selling them. As we mentioned a few weeks ago [Embedded Tech Journal, September 2, “The March of IDEs”], integrated development environments (IDEs) are all-in-one editors, compilers, linkers, and debuggers that allow a programmer to sit down and write, edit, download, and debug all his code from one place with a single user interface. The individual tools within the IDE might change, but overall they behave like one mega-development tool.
Now MIPS Technologies, makers of the eponymous 32-bit RISC processor, have gotten into the act. Their Navigation ICS (hereinafter “NavICS”) is an IDE tailored specifically for – you guessed it – MIPS processors.

MIPS calls its IDE an ICS, or integrated component suite, for no immediately obvious reason. For all intents and purposes it’s an Eclipse-based IDE like most other IDEs. It’s got plug-ins and widgets for compiling, linking, and debugging just as most IDEs do. Obviously, all the software is MIPS-specific, which means it understands MIPS registers, stacks, state, flags, and other MIPS-related arcana.

NavICS is also Linux-specific, which means it also understands Linux tasks, threads, and processes. With NavICS, programmers writing code for a MIPS/Linux system can debug the operating system and drivers as well as their own code, all without resorting to special “debuggable” versions of the Linux kernel. Oftentimes, debugging the OS requires recompiling it with special instrumentation hooks that provide visibility into the workings of the kernel, but that also affect the performance of the operating system. In true Heisenberg style, the kernel never behaves the same way when it’s instrumented. You’re left with the decision to run either a normal production kernel with no debug visibility or a debuggable kernel that’s not the same as the production code. The NavICS debugger aims to fix that.

There’s also an optional Linux Event Analyzer (LEA) plug-in that acts like a code profiler, charting out where your code is spending its time when you’re not looking. Too much time spent in wait loops, interrupt-service routines, or math libraries? The LEA reveals all, and not just in user code. Because the whole NavICS suite is both MIPS- and Linux-aware, it accurately identifies kernel calls, drivers, and other deeply buried subroutines so programmers don’t have to try correlating address maps with source listings.

The price for all this IDE goodness starts at about $2000 for a one-year license. Some of the optional plug-in functions cost extra. If you’re developing with a MIPS processor running Linux, NavICS seems like a no-brainer. If you’re not using a MIPS processor or not running Linux, it may be somewhat less compelling.

Hardware Goes Soft

So why would a microprocessor company start peddling development software? To sell more chips, naturally. The easier it is to develop good-quality code for MIPS processors, the more MIPS stands to gain. Happy programmers make repeat customers, and repeat customers are good business. And as we’ve seen before, software in general – and development tools in particular – are an important factor when it comes to choosing a microprocessor. A good IDE can sway the decision toward MIPS and away from (for instance) ARM or PowerPC.

 In that light, it’s not so unusual that MIPS would start supplying development software. Indeed, you could argue that MIPS has always been a software company. After all, it doesn’t really make chips. It licenses its chip designs to semiconductor manufacturers or ASIC designers who then, in turn, have the chips fabricated. Those design licenses often take the form of Verilog or VHDL hardware descriptions, which are really just software-defined hardware.
There’s a saying among scientists to the effect that “in the end, it’s all physics.” With licensed “soft” processors running open-source operating systems and vendor-provided development tools, it appears that, in the end, it’s really all just software.

Leave a Reply

featured blogs
Dec 17, 2018
If row-based placement is a topic that interests you, you might have read our post from the last week . If you haven'€™t read it yet, I'€™d highly recommend it for its focus on the need and benefits of... [[ Click on the title to access the full blog on the Cadence Commu...
Dec 13, 2018
In November, we continued our mobile updates to the website, released a couple of new content experiences, and made placing sample requests even easier. Read more below on these and the rest of the major updates to Samtec.com for November 2018. Continued Improvements to our M...
Dec 12, 2018
The possibilities for IoT devices, much like the internet itself, are endless. But with all of those possibilities comes risks....
Nov 14, 2018
  People of a certain age, who mindfully lived through the early microcomputer revolution during the first half of the 1970s, know about Bill Godbout. He was that guy who sent out crudely photocopied parts catalogs for all kinds of electronic components, sold from a Quon...