Security and Connectivity for the IoT Edge

Embedded CLI Overview

The RomCLI Command Line Interface toolkit is designed to speed the implementation of text line interfaces for embedded devices. In particular, the RomCLI toolkit supports command line interfaces that look like Cisco IOS-style command systems. The RomCLI toolkit can work stand-alone or in conjunction with Allegro’s RomPager AE Web Server to provide unified variable access using common variable access routines.

embedded cli


The RomTelnet toolkit provides an embedded Telnet server for standard protocol negotiation with any Internet Telnet client. Multiple simultaneous sessions are supported based on configuration.


For use with a serial line interface, the RomConsole toolkit provides component interfaces to user-supplied serial interfaces. RomCLI AE can use RomConsole to provide command line services via a serial interface in addition to the TCP/IP-based sessions provided by RomTelnet.


RomSShell AE is an optional toolkit that provides a secure shell for users accessing their embedded device. SSH version 2 is supported. RomSShell also supports multiple simultaneous sessions based on configuration.

Variable Access

Retrieval and storage of variables are achieved using the RomPager Variable Access architecture. An API is provided with built-in routines to convert internal data types to and from external string formats.

Command Line Handler

The Command Line Handler provides basic line handling functions common to all parsing trees. Command lines are assembled by gathering characters from the Telnet, SSH or serial interfaces and passed to the Parser System for processing.

Parser System

The Parser System utilizes a set of predefined tables to provide command interaction. All commands are stateless and follow the ‘Cisco-like’ request-response format and resolve to an action. An Action can fully interface with variable storage or invoke user exit routines to display special format information or load different parse trees. Multiple parse trees allow separate authorization, configuration and operation command sets to be specified. Command prompts are specified as part of the parse trees allowing different prompts in different modes. Full <TAB> and ? command completion are supported to access command help support.


Included as part of the RomCLI toolkit, this offline tool will save your development team many hours when creating a CLI interface. The CliBuilder takes an XML format description of the command tree syntax including command help, action routines, security realms, etc. and produces the internal parse tree tables and help string tables that are used by the CLI Parser System.


Also included with the RomCLI toolkit, VarBuilder is an offline compiler that takes an XML format description of variables, data types and access routines and then produces a set of interface data structures. The data structures provide the basis for the common and consistent exchange of data between RomCLI and device variable storage.

CLI Architecture



Small code footprint

More resources available for application features

ANSI C Source Code Distribution

Broad processor architecture support eases porting and support

Processor, RTOS and TCP/IP stack agnostic

Allegro’s products will work with new or existing hardware and software designs

Interface files for leading RTOS vendors provided

Minimizes porting effort, increase time to market

Shipping in millions of products worldwide

Field-proven reliability

CLIBuilder and VarBuilder offline tools

Speed development of CLI interfaces and give customers a fast time to market

Offline tools available on OS X, Windows and x86 Linux

Allegro’s tools are supported on common development environments

Optional SSH security

Create embedded devices that support secure remote device management with ease

Support for Telnet or Serial interfaces

Allegro’s RomCLI toolkit can support both networked and serial environments

Common variable access structures

Ease of program integration

Fully integrated with the RomPager Suite of products

Pre-integrated products save time and ultimately time to market

External command trees specified in XML

Command architecture is easily extensible and flexible to meet your development needs

System Requirements

  • Processor Architecture – Works with any 16-bit, 32-bit or 64-bit processor
  • Operating System(OS) – Works with any OS vendor and will function without an OS if needed
  • TCP/IP Stack – Works with any vendor implementation
  • Filesystem – Works with any vendor implementation and will function without a filesystem if needed
  • Compiler – ANSI C

Allegro Software
1740 Massachusetts Avenue
Boxborough, MA 01719

Home | Resources | News/Events | Company | Contact | Legal

Copyright © 2019, Allegro Software Development Corporation
All Rights Reserved