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
Apr 19, 2024
Data type conversion is a crucial aspect of programming that helps you handle data across different data types seamlessly. The SKILL language supports several data types, including integer and floating-point numbers, character strings, arrays, and a highly flexible linked lis...
Apr 18, 2024
Are you ready for a revolution in robotic technology (as opposed to a robotic revolution, of course)?...
Apr 18, 2024
See how Cisco accelerates library characterization and chip design with our cloud EDA tools, scaling access to SoC validation solutions and compute services.The post Cisco Accelerates Project Schedule by 66% Using Synopsys Cloud appeared first on Chip Design....

featured video

MaxLinear Integrates Analog & Digital Design in One Chip with Cadence 3D Solvers

Sponsored by Cadence Design Systems

MaxLinear has the unique capability of integrating analog and digital design on the same chip. Because of this, the team developed some interesting technology in the communication space. In the optical infrastructure domain, they created the first fully integrated 5nm CMOS PAM4 DSP. All their products solve critical communication and high-frequency analysis challenges.

Learn more about how MaxLinear is using Cadence’s Clarity 3D Solver and EMX Planar 3D Solver in their design process.

featured chalk talk

Autonomous Mobile Robots
Sponsored by Mouser Electronics and onsemi
Robotic applications are now commonplace in a variety of segments in society and are growing in number each day. In this episode of Chalk Talk, Amelia Dalton and Alessandro Maggioni from onsemi discuss the details, functions, and benefits of autonomous mobile robots. They also examine the performance parameters of these kinds of robotic designs, the five main subsystems included in autonomous mobile robots, and how onsemi is furthering innovation in this arena.
Jan 24, 2024
12,479 views