Command Line Interface for IoT Devices
RomCLI™ is designed to speed the implementation of text line interfaces for embedded devices.
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® Web Server to provide unified variable access using common variable access routines.
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™ can use RomConsole to provide command line services via a serial interface in addition to the TCP/IP-based sessions provided by RomTelnet.
RomSShell™ 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.
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.
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.
|Small code footprint||More resource 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, decreasing time to market|
|Shipping in millions or 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|
- 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
Contact Us Today To Ensure Your IoT is Secure
Implementing IoT device security can be a challenge. Let us help you by sharing our proven framework for integrating a proactive security approach into your design. Schedule a one-on-one web conference to discuss your security needs.