Firmware
Our team has decades of experience in writing C/C++/Assembly embedded software applications, middleware, device drivers, and BSPs for Linux, RTOS, and baremetal systems across a wide range of products and industries. Summit Scientific uses a structured approach to design by thoroughly reviewing and refining requirements in the investigation phase.
By clearly identifying the client’s needs up front, our engineers can proceed with the appropriate set of technologies and design practices to deliver the right solution. Once the investigation is complete, a rigorous process is followed that includes; design, implementation, unit test, system test, documentation, and support.
Modern computer science methodologies (design patterns, coding standards, code reviews, static analysis, and best practices) are used throughout the process to ensure robust, maintainable, and extensible code. In addition, feature reviews take place at major development milestones in order to ensure accurate deliverables to the client.
Firmware services
- Requirements analysis
- System architecture and design
- Embedded Linux, RTOS, or baremetal platform configuration
- Custom application, middleware, device driver, and BSP development
- 3rd party library and device driver integration, modification, and debugging
- DSP algorithm development (MATLAB/Simulink, Python)
- Bootloader development
- Unit and system testing
- Code refactoring
Applications
Partial list of applications that have been developed by our engineers:
- 10GE Camera Aggregator (Ubuntu Linux, Baremetal)
- 4DOF Robotic Drummer (Petalinux, Baremetal)
- Quantum Random Number Generator (CentOS Linux, Baremetal)
- MIDI Interface (Baremetal)
- Surgical Medical Device (Baremetal)
- Ethernet Switch (Green Hills Integrity, Windriver VxWorks)
- Cardiopulmonary Medical Device (Windows, Baremetal)
- Optical Network Switch (Windriver VxWorks)
- Network Printing Appliance (Redhat Linux)
- Network Printer Adapter (Windriver VxWorks)
- Network Interface Cards (Windows)
- MPEG Video Encoder/Decoder (Windows)Â
Operating Systems
By optimally utilizing operating system primitives or choosing a baremetal architecture, our team can deliver high-quality robust applications that meet the demands of real-time data processing while offering an extensible infrastructure with integrated diagnostics along with error handling that enables streamlined support post deployment.
Partial list of open source and commercial embedded operating systems that are routinely used by our engineers:
- Petalinux (Xilinx)Â
- FreeRTOS (Real Time Engineers, Ltd.)
- Embedded Linux (BusyBox, Debian)
- Android (Google, Open Handset Alliance)
- macOS (Apple)
- uC/OS (Micrium Inc.)
- TI-RTOS (Texas Instruments)
- VisualDSP++ (Analog Devices)
- Integrity (Green Hills Software)
- VxWorks (Wind River)
BSPs (Board Support Packages)
We normally create a BSP for custom hardware that is essentially a hardware abstraction layer that allows the operating system and device drivers to interact with the hardware in a consistent and high-level fashion. Application specific MCUs are at the heart of embedded systems and must be properly supported by a BSP to realize their full potential in a design.
Partial list of MCU ecosystems that are routinely used by our engineers:
- ARM (STMicroelectronics, Xilinx Zynq)
- Microblaze (Xilinx)
- PIC (Microchip)
- AVR32, ATmega, ATtiny (Atmel)
- TMS320, MSP430 (Texas Instruments)
- Blackfin, SHARC (Analog Devices)
- MPC PowerQUICC (Freescale)
- MCS, x86 (Intel)
- RX (Renesas)
Middleware
The development and/or integration of middleware typically serve to reduce complexity, centralize processing, and leverage standardized features. Our work in this area can dramatically reduce development schedule, and by extension, the time to market for a product and/or feature.
Device Drivers
Summit has decades of experience designing and writing device drivers that abstract the associated hardware through standardized interfaces that seamlessly integrate into the host operating system or baremetal environments.
Partial list of hardware device drivers that have been created by our engineers:
- Network: Ethernet (1G, 10G)
- Serial Communications: USB, UART (RS232, RS485), SPI, I2C, CAN
- Mass Storage: SCSI, iSCSI
- Non-Volatile Memory: SD, Flash, EEPROM
- Analog/Digital: ADC, DAC
- General Purpose I/OÂ
Certifications
- Wind River Systems (VxWorks BSP and Device Driver Workshop)
- Wind River Systems (VxWorks Operating System Workshop)
- Green Hills Software, Inc. (Integrity BSP and Device Driver Training)
- Green Hills Software, Inc. (Integrity Operating System Training)
- Netrino (Embedded Software Boot Camp)
- Barr Group (Embedded Security Boot Camp)
Client Testimonials