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

We offer custom application development that embodies the product specific feature set into a robust user interface that can take many forms, such as network/serial protocols, CLI, or GUI. In many cases the user is actually another application running on a server or embedded system controller.

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

We have extensive experience with modern embedded operating systems and conversely, no operating system at all, which is commonly referred to as baremetal.

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

a
a

“Besides being an excellent engineer in the “nuts and-bolts”aspects of designing technical solutions to real-world problems, Robert is also a strong champion of the customer experience and finds innovative solutions to customer problems. In short, he does a great job of understanding the customer (not just the technology) and then finds ways to makes the technology easier for customers to use and understand.”

RICH

Sr. UX Lead / Architect

“Robert is an exceptional engineer. I’ve worked with him in various capacities and have always found him to be thoughtful and creative in tackling the most difficult problems. He can be trusted to deliver quality solutions in a timely manner and with minimal direction. He as a well deserved reputation as one of the strongest engineers in the organization.”

MARK

AOS-CX Program Manager at Aruba, a Hewlett Packard Enterprise company

“Robert is one of the most productive software developers I’ve worked with in my career. He has a unique ability to solve difficult problems with a minimum of new code.”

MARK

Team Leader

“Robert is a very bright and hard working engineer. I would hire him in a second if I needed a top-notch SW development engineer. I highly recommend Robert.”

TIM

Chief Financial Officer at Bowers Wealth Management