Introduction to Arriba

Viosoft Corporation’s Arriba is a complete Eclipse-based Integrated Development Environment (IDE) for the PIC® family of microcontrollers (MCUs). Based on the Eclipse environment, Arriba is fully integrated with Microchip’s MPLAB® XC C compilers, hardware debug tools, and simulator.


Figure 1. Overview of Arriba Components

A basic overview of the components of Arriba is shown in Figure 1. The version of each of the above components is as follows:

  • Eclipse IDE
  • GDB
  • MPLAB® XC C Compiler
  • Arriba Connect
  • Microchip HW tools / simulator
  • Microchip devices

Viosoft Corporation has modified various components in order to integrate them, improve the overall development flow, and provide new features such as RTOS aware debugging and managed build.

Also notice that Arriba does not rely on Cygwin for its operation, which makes installation and maintenance much easier.

Furthermore, Arriba is inherently setup to allow any number of new plug-ins, including but not limited to new HW debug tools and RTOS. This unparalleled versatility makes Arriba the ideal embedded development solution for PIC MCU users.

Arriba Requirements

Viosoft Corporation’s Arriba runs on Windows 32/64-bit system, Linux 32/64-bit system, or MacOS 64-bit system. The host system should have a minimum of 1GB of RAM, 20 GB of available hard-disk space, and a minimum display of 1024x768 with 256 colors.

Arriba Constraints

The Arriba development environment has no real constraints—it is flexible enough to handle the smallest project and powerful enough to handle the largest projects. However, Arriba is also integrated with several other third-parties software components, as seen above, and is constrained by the capabilities of these software components.

Arriba Overview

The Arriba development environment is described in greater detail in subsequent chapters, but the following is a brief overview. All editing, building, executing, and debugging operations are done from the main Arriba desktop.

Editing and building is done through the “Project Explorer” and source windows as shown in Figure 2:


Figure 2. Editing and building in C/C++ Perspective

In this figure, the “src” directory is selected and its contents are displayed in the Project Explorer view, which is where all editing of the source code takes place. Important buttons associated with building the program under Arriba are as follows:

  • All new items can be created through selection of this button, including new projects, files.
  • Editing changes are saved via the selection of this button (or Ctrl+S).
  • The current source file being viewed is printed via selection of this button (or Ctrl+P).
  • Selecting this button (or Ctrl+B) builds all the projects in the workspace.
  • Selecting this button builds the current project.
  • The Debug or Release configuration is determined by selecting this button.
  • Searching is accomplished by selecting this button (or Ctrl-H).
  • Whitespace characters are displayed by selecting this button.

Figure 3. Debugging in Debug Perspective

Once the program is successfully built, program execution and debug is accomplished by the resources in the “Debug,” “Variables,” “Breakpoints,” “Registers,” “Memory,” and “Disassembly” windows. Important buttons associated with executing and debugging the program under Arriba are:

  • Establish a target debug connection.
  • Selecting this button resumes execution of the program.
  • Selecting this button suspends execution of the program.
  • Assembly-level instruction stepping is toggled by selection of this button.
  • Single-stepping INTO functions is selected by this button.
  • Single-stepping OVER functions is selected by this button.
  • The current connection is terminated and removed by selecting this button.
  • Selecting this button reloads the current program.

As mentioned previously, the following chapters of this guide will fully detail the operation of Arriba. In particular, Chapter 3 shows how to build and execute the “PIC32” demonstration in a matter of minutes!

© 2017 Microchip Technology, Inc.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.