Mantaro Software Development Services
Mantaro has worked on a large number of board-level developments ranging from Linux kernel integration work, device driver development, to full application or system-level software integration work. In particular, we have recent experience developing for:
- BeagleBone Black
- Raspberry Pi
- Arduino
- NXP boards
Mantaro also frequently works with microcontroller devices, often in fully-custom hardware environments. We have significant experience and capability developing fully custom embedded software for microcontroller-based systems used in high-availability, real-time applications. We’ve worked with a broad range of application domains, peripheral devices, and broad range of suppliers. We have recent experience working with general-purpose and/or special-purpose processors from vendors including:
|
If you are in need of a development partner to support microcontroller-based embedded software, be sure to contact us to determine our specific experience with your intended target/application/technology area.
Mantaro’s engineers work in a broad range of languages and operating systems appropriate to the target environment/system that they are working with. Mantaro’s development team is accustomed to working within the constructs of formalized development methodologies; we can conform to a client’s methodology, or help a client develop or augment their development methodology for a project or product development. Mantaro also has access to and familiarity with a broad range of tools, best practices, etc. to support commercial-grade software development. Contact us to determine our level of familiarity with your intended environment.
Embedded Applications Framework
Mantaro has also assembled a sophisticated set of owned-intellectual property to support microcontroller-based systems. This set of software is focused on “infrastructure” requirements that are common to many if not most systems, and allows us to more quickly construct base systems from tested code and at a lower cost than “designing from scratch”. We’ve organized much of this software into what we call our “Framework Application”, which is a fully-functional “baseline” embedded application that embodies many useful features that we can use as a basis for new embedded product development work.
The Framework includes support for such things as:
- Basic processor/peripheral boot & initialization including RTOS configuration/initialization if relevant
- Standard peripheral operations to support LEDs, Buttons, real-time clock, watchdog, “tamper” circuits, etc.
- Diagnostic serial port interface with redirection of run-time environment stdio redirection to this interface in a fashion that it is “non-blocking” with or without use of an embedded RTOS
- Networking software to support on-chip networking hardware
- TCP/IP and related protocols
- Web-server with extensions to support RESTFUL API, etc
- USB and Bluetooth support depending on controller and overall system configuration
- Diagnostic command line interface (CLI) with an extensible command set; CLI is accessible via the diagnostic serial interface, or via several TCP/IP options such as telnet. The intrinsic command set provides a broad range of diagnostic commands appropriate for development use and for factory test/configuration of manufactured devices.
- Generalized file system to support a variety of functionality including but not limited to the web servers
- In-system programming support for on-line firmware updates via network or serial interfaces (specifics depend on the underlying hardware system)
- Non-volatile parameter management to support various information such as non-volatile state information, factory configuration, user configuration, password files, etc.
- Generalized parameter management software mapped to a large number of possible man-machine and machine-machine device interfaces including: CLI, RESTfull web API, CANbus interface, Modbus interface, etc.
These items are all implemented, well tested and functional across a variety of microcontroller vendor evaluation boards; each has a Framework BSP that can be used as a basis from which to develop custom BSPs for specific development projects. The Framework is available in formats suitable for development in the Keil uVision IDE, IAR Embedded Workbench, and Eclipse-CDT/gcc. The list of supported microcontrollers and evaluation boards is growing constantly. Contact us for current information.