Our Services
Embedded Software Engineering
Trego provides embedded real-time software engineering services for medical, automotive, aerospace, defense, edge AI, IoT, and other applications.
Our expert team, processor vendor partnerships, efficient and reliable processes, and deep domain expertise allow us to bring Embedded Excellence to your next project.
We support the following architectures with bare metal, RTOS, and complex OS solutions:
- NVIDIA Jetson TX2, Xavier, Nano, Orin
- NXP i.MX 9/8/7/6/RT
- STMicroelectronics STM32 (various flavors)
- Microchip PIC32/24
- TI Sitara AM35xx, DaVinci DMxxx, OMAP 44xx
- Nuvoton NPCM850 and NPCM750 BMC SoCs
- Intel Xeon and Atom
- Analog Devices
- Qualcomm
Embedded Linux Engineering
Embedded Linux engineering, from BSPs to applications, is a key focus of Trego. We support distributions from Yocto, Debian, Fedora, Buildroot, OpenWRT, and Ubuntu.
- Custom device drivers
- Boot loaders
- Kernel frameworks
- Build systems (Yocto, Buildroot, OpenEmbedded, Launchpad)
- Customizing and integrating open-source packages
- Video pipeline under Linux
- GStreamer, camera sensor drivers
- Boot time optimzations
- Real time optimizations
- Kernel and user space development
- Docker environment on Linux
Embedded Video Software Engineering
Trego has extensive experience with high-performance embedded video software development on processors from NVIDIA, NXP, TI, Intel and others.
- GSML
- FPDLink
- MIPI-CS2
- SERDES drivers (TI 960/954/953, Maxim 96717/96716)
- GStreamer
- OpenMAX
- FFmpeg
- Live555
- NVIDIA V4L2 video path
IoT and Edge Software Engineering
Trego is ideally positioned to develop robust embedded software for IoT devices with our thorough understanding of microcontroller architectures, protocols such as MQTT and CoAP, real-time operating systems, power management, and security.
- Over-the-air (OTA) software and firmware updates
- Secure boot
- Hardware root of trust & TPM
- MQTT, CoAP
- CAN, AUTOSAR, MCAL
- OpenBMC
- Custom drivers
- AutoSAR and MCAL for automotive
Embedded AI Software Engineering
AI is bring profound benefits to embedded, where it is increasing embedded device autonomy, performance, and functionality. and security. Trego develops optimized embedded AI inference solutions using open-source frameworks and toolkits with the latest embedded CPUs, GPUs, TPUs, FPGAs, and accelerators.
- OpenVINO
- TensorFlow
- PyTorch
- Ubuntu Core
- OpenCV
- NVIDIA JetPack SDK
Important Things You Should Know
QUESTIONS & ANSWERS
Embedded software engineering is the process of creating software that is optimized to perform specifically-defined functions as an integral part of some larger product. Embedded software engineering also frequently entails optimizations for code size, performance, memory, storage, and other operational characteristics to meet resource constraints that are imposed by the hardware device it is running on.
Embedded software engineering usually involves the testing and validation of the code as part of the overall device, in its interactions with real-world processes or functions it is responsible for.
Embedded software engineering differs from embedded software development in the scope of its services and the nature of issues it considers. Software development is primarily coding, while software engineering looks at the embedded system holistically and the software as part of that.
Embedded software is code that runs on fixed-function devices not typically thought of as computers. Embedded software performs specifically-defined functions as part of some larger device or product. Embedded software is the only code running on the device, and it cannot be replaced by the user with different code.
Embedded software is written and optimized for the specific hardware it runs on, and oftentimes the hardware is resource limited in terms of memory, storage, or processor speed. Lastly, embedded software often must dynamically manage power consumption and provide remote management capabilities so that the device can be managed without IT or support personnel on site.
Sometimes there is confusion between these terms, and they are sometimes used to mean the same thing. However, in reality, embedded firmware is much closer to the hardware then embedded software. Firmware acts as a bridge or abstraction layer for the hardware. It also runs right after the hardware comes out of reset and before the OS is executed to perform tasks such as booting, hardware configuration, OS loading, and hardware attestation and authentication. Firmware is often invisible to users and it is the base all other software relies on.
Embedded software on the other hand implements user-visible features. It usually runs on top of an OS.
Trego’s primary OS expertise is in embedded Linux. Specific distributions where we have experience are Yocto, Debian, Fedora, Buildroot, OpenWRT, and Ubuntu.
Trego offers two main financial models to our customers—Hourly and turnkey project pricing. Further, we can work as part of your team, or we can provide a complete turnkey development program as an independent effort.
Yes! Trego offers software and product architecture services, where we offer a full array of early development services from initial ideation and specification through development, testing, and deployment. Trego is accustomed to working to customers ranging from those with large and highly capable internal software teams to startups or lean organizations with no internal development resources at all.
Trego’s developers are experts in embedded systems with years of experience and demonstrated records of technical achievement and customer satisfaction. The majority of our developers are located in Israel, and others are located in Eastern Europe.
Our work is done by our developers in Israel and Eatern Europe. We are accustomed to working with North American customers and make ourselves available for customer meetings during North American working hours. We also support North American customers with our US-based sales team.