MicroCode
Imagine the Complexity
Radio - Hardware - Software - Firmware - Linux - 5G - Management - Testing
Open Radio Access Network
"Good things come in small packages"
Micro Processors
Meet the hidden work of an embedded team: a clean product born from a complex maze of technologies. Whether you use a System on Module (SOM) or build with discrete components, the embedded team is deeply involved.We bring up the board and provide the final software platform. The result is a clean, reliable infrastructure that is completely independent of the underlying hardware.We work alongside hardware engineers, communicating effectively and bridging the gap between disciplines. Together, we are a complementary team that diagnoses issues in both hardware and software, ensuring a fast and smooth development cycle.We take full charge of the entire software, from initial specification and methodology to final implementation, bringing life and intelligence to the hardware.
Real-Time Programming
Real-time programming is a specialized expertise reserved for a select few. It involves creating deterministic programs that must execute at a precise time, every time.Unlike a standard task-driven system, real-time code is interrupt-driven and demands the precise management of multiple DMAs, interrupts, and timers. It often uses multi-core processors for parallelism and a math co-processor for high-speed computation.Due to the nature of this work, the visibility into the system is very low, making development and debugging incredibly challenging.Our Solution: The Simulation SkeletonWe overcome these challenges with our proprietary simulation skeleton. This unique framework allows all code to be written, tested, and verified on a Windows simulation environment before deployment on the embedded processor. We simulate various data inputs, enabling single-step debugging of functions and simultaneous execution across all cores.
An example of our work is a system that processes 1 GSa/s (billion per sec) of A/D samples, performs complex mathematical operations, and produces a verified output signal with flawless precision.This level of performance requires the kind of specialized skills and experience we bring to every project.
Linux
Linux is the best thing that can happen to an embedded system.
It boosts a device's capabilities many times over, turning it into a powerful computer.While its vast ecosystem gives you everything you need, it comes with a cost:
it requires skilled adaptation.We are masters of this adaptation, handling the complexities of hardware, libraries, and the kernel itself. We don't just use Linux; we build it from the source code.Our unique approach allows us to run Linux applications on a Windows environment, treating Linux as a powerful runtime, not just a development environment.The final result is a versatile device that is ready to be used by anyone, built with the power and flexibility that only a true embedded expert can deliver.
Software Maturity
At the core of our service is meticulous software design.
We don't just write code; we engineer solutions that are robust, scalable, and easy to maintain.We build our solutions using Object-Oriented Programming (OOP) in C++ and C#, a methodology that ensures a solid foundation for the project. This approach leads to a smooth development process, with a high degree of predictability and a clear path for future growth.What truly sets our work apart is the clarity of our code. We take immense pride in writing visually clean and well-documented code with consistent naming conventions.Any developer can open a file from our project and confidently understand its function, ensuring a transparent and maintainable solution for years to come.
Our Services
We go far beyond traditional outsourcing,
we embed ourselves directly into your daily DevOps workflow.We foster a fruitful collaboration and are
always ready to take the lead.
About Us
O-RAN
MicroProcessors
Type | Example |
---|---|
Processors | ARM, Tensillica, Nxp e200 |
Small CPU | Texas Instruments Tiva, STM32, Nxp Kinetis |
Large CPU | Texas Instruments Sitara, Nxp LS/LX cores |
Free OS | TI-RTOS, NXP-MQX, FreeRTOS, Linux |
SBC | BeagelBone, RaspberryPI, Nxp LS1046A-RDB |
New Projects
Type | Situation |
---|---|
1 | You have a new concept but lack the team to build it. |
2 | You need to show a working concept model in a very short period of time. |
3 | Your team is focused on a current project, and you need a new, parallel project delivered quickly. |
4 | You find outsourcing to be more cost-effective than training and hiring full-time employees. |
5 | Your existing team needs to accelerate development with proven leadership and expertise. |
Project Enhancement
Title | Content |
---|---|
Software Upgrade | Implemented a secure software upgrade process via network or USB, with support for signed packages and multiple image partitions (backup, current, and default). |
Model-View-Controller (MVC) | Completely redesigned the display system using an MVC architecture, resulting in a cleaner, more robust, and easier-to-maintain user interface. |
System Redundancy | Developed a high-availability solution that allows for seamless, non-disruptive failover to a backup system. |
Precise Time Protocol (PTP) | Developed a custom servo algorithm to achieve nanosecond-level accuracy for PTP synchronization. |
Production Tools | Developed production tools for board-level testing and programming of default images. |
Microsoft Visual Studio | Introduced Visual Studio as the primary development environment for editing, compiling, and debugging. This also provided a unified platform for simulation and project management. |
Technology Integration
Technology | Description |
---|---|
Linux Kernel Upgrade | We replaced the Linux kernel, ensuring all other system components remained unchanged. |
Real-Time OS | Embed a real-time operating system (RTOS) like FreeRTOS or MQX into a secondary on-board CPU, creating a more mature and robust software structure. |
OpenSSL Migration | Replaced the OpenSSL package and adapted all peripheral code to support new cryptographic ciphers. |
NETCONF Management | Imported a complete NETCONF-based management system into the product using Netopeer. Netconf replaces the older SNMP, both created by IETF. |
Chip Provisioning | We prepare and bring programmable chips into service by downloading their firmware at runtime and verifying their operation. Examples include power management, clock, and Ethernet PHY chips. |
Cisco-Style CLI | Gave the product a familiar user interface with a Cisco-like command-line menu. |
Empower with SBC
Activity | Details |
---|---|
💻 Manage project assets | Prepare the software environment: get all sources, customizing build scripts, centralizing sources on a Git repository. |
🔍 Hardware and Driver Analysis | Study the SBC's technical documentation. Focus on essential drivers as I2C, SPI, PCI. |
⚡ Flashing | Simplifying the process of flashing the OS and firmware onto the board's storage (e.g., eMMC or SD card). |
✅ Quality and Testing | Execute a comprehensive suite of test utilities to validate the platform's functionality. |
⚙️ Application Development | Create the primary application software optimized for the SBC's resources, including its CPU, memory, and power consumption. |
Software Leadership
Board Bring-up