Before writing a single line of code, understand this hierarchy:
majestic directly. Don’t. Instead, use mi_* APIs in your own process.Pro Tip: Never mix majestic controls with direct MI API calls on the same hardware block. The state machine will crash without a warning.
Unlike some "fabless" startups, SigmaStar has a relatively long history. Chips like the MSC8336 or SSD210 have decent longevity, and the SDK receives updates for several years, though release cadence can be slow. sigmastar sdk
In the rapidly evolving world of smart cameras, AIoT (Artificial Intelligence of Things) devices, and automotive imaging, the choice of System-on-Chip (SoC) is critical. While giants like Ambarella and Texas Instruments dominate certain sectors, a significant portion of the global market—particularly in dashcams, IP cameras, and smart displays—is powered by SigmaStar Technology.
SigmaStar, spun off from the legendary MTK (MediaTek), has become a powerhouse in the consumer and industrial imaging space. However, like any sophisticated SoC, the hardware is only half the story. The real magic—and often the steepest learning curve—lies in the Sigmastar SDK. SigmaStar SDK Guide 1
This article provides a comprehensive guide to the SigmaStar Software Development Kit, exploring its architecture, tools, and best practices for developers.
import sigma.touch.*;
public class TouchExample
public static void main(String[] args)
// Initialize the touchscreen device
Touchscreen touchscreen = new Touchscreen();
touchscreen.init();
// Get the current touch coordinates
int x, y;
touchscreen.getCoordinates(&x, &y);
System.out.println("Touch coordinates: (" + x + ", " + y + ")");
Navigate to the kernel source directory within the SDK. This is typically where out-of-tree drivers are placed. Kernel Layer (Linux 3
# Common path in Sigmastar SDKs
cd kernel/mstar/drivers/
Note: Path may vary based on SDK version (e.g., linux-4.9.84/drivers/ or project/release/.../source/kernel/).
Create a directory for your feature:
mkdir custom_gpio
cd custom_gpio
SigmaStar ships with an ancient arm-linux-gnueabihf-gcc 5.4.0. If you try to use C++11 or modern pthreads, you’ll get random segfaults.
The workaround:
Compile your application with -static-libstdc++ -static-libgcc and link against libpthread.a instead of -lpthread. It increases binary size by 400KB but eliminates 90% of runtime crashes.