Power Consumption Only 4W! Tutorial for Installing Armbian (Ubuntu) on the Mini Server Panther X2

Power Consumption Only 4W! Tutorial for Installing Armbian (Ubuntu) on the Mini Server Panther X2

Introduction Recently, while browsing a seafood market, I noticed a mining box called the Panther X2, which is another custom hardware box similar to the Xunlei Money Treasure that has already ceased operations. The price for a brand new unit in the seafood market is approximately 110 RMB (as of 2025/5/27). The hardware configuration includes … Read more

Illustrating the Relationship Between Embedded Linux Applications, Kernel, Drivers, and Hardware

Illustrating the Relationship Between Embedded Linux Applications, Kernel, Drivers, and Hardware

Currently, Linux software engineers can be roughly divided into two levels: 01 Linux Application Software Engineer: Mainly writes application software using C library functions and Linux APIs; Those engaged in this type of development work mainly need to learn: API functions and system calls that comply with the Linux POSIX standard, Linux multitasking programming techniques: … Read more

Real-Time C++: A High-Performance Tool for Embedded Systems!

Real-Time C++: A High-Performance Tool for Embedded Systems!

Real-Time C++ sounds cool, right? In fact, it is the accompanying open-source code library for Professor C. M. Kormanyos’s comprehensive book, Real-Time C++. Simply put, it helps you write bare-metal, zero operating system embedded applications using modern C++ (14/17/20/23). Whether you are working with AVR, STM32, RISC-V, or Raspberry Pi, you can “write once, run … Read more

Directly Instructing GCC to Link a Library Statically

Directly Instructing GCC to Link a Library Statically

It feels strange to me to use <span>-Wl,-Bstatic</span> in order to tell <span>gcc</span> which libraries I want to link with statically. After all, I’m telling gcc directly all other information about linking with libraries (<span>-Ldir, -llibname</span>). Is it possible to tell the <span>gcc</span> driver directly which libraries should be linked statically? Clarification: I know that … Read more

C Language and AT&T Assembly Format Rewrite Example from Modern x86 Assembly Language Programming (Part 16)

C Language and AT&T Assembly Format Rewrite Example from Modern x86 Assembly Language Programming (Part 16)

1. Write the C language program ch03_06_01.c /* * The goal of this program is to count the occurrences of a specific character in a given string and print the result. * The length of a char is 1 byte, while the length of a char* is 8 bytes (refer to "Computer Systems: A Programmer's … Read more

Exploring Linux on MCU Series Part Nine: Introduction to the SDRAM Controller of STM32F429

Exploring Linux on MCU Series Part Nine: Introduction to the SDRAM Controller of STM32F429

1. Introduction In previous articles, we introduced some basic principles of SDRAM. This article will introduce the SDRAM controller under the FMC of STM32F429. 2. Introduction to the SDRAM Controller of STM32F429 According to the general module driver initialization process, it mainly involves the clock path: clock source to clock division configuration, enabling clocks for … Read more

UVC Development on Sigmastar PureLinux System – Part 3: RNDIS

UVC Development on Sigmastar PureLinux System - Part 3: RNDIS

1. Kernel Configuration to Add RNDIS Config — a/kernel/arch/arm/configs/mercury6_ssc016a_s01a_spinand_usbcam_defconfig +++ b/kernel/arch/arm/configs/mercury6_ssc016a_s01a_spinand_usbcam_defconfig @@ -1901,7 +1901,9 @@ CONFIG_SND_USB=y # CONFIG_SND_USB_PODHD is not set # CONFIG_SND_USB_TONEPORT is not set # CONFIG_SND_USB_VARIAX is not set -# CONFIG_SND_SOC is not set +CONFIG_SND_SOC=y +CONFIG_SND_SOC_SSTAR=y +CONFIG_SND_SOC_SSTAR_DUMMY_CODEC=y # CONFIG_SOUND_PRIME is not set CONFIG_USB_WEBCAM_RNDIS: external rndis function for webcam Symbol: USB_WEBCAM_RNDIS [=n] Type : … Read more

UVC Development with Sigmastar PureLinux System: ADB Tool

UVC Development with Sigmastar PureLinux System: ADB Tool

adb functionuses bulk transfer mode, requiring twoEP(in/out), and thepacket size required inusb2.0 mode is 512 bytes.1. Kernel ConfigurationSelect “function filesystem“, and after compilation, it will generate usb_f_fs.ko and g_ffs.koIf configured via configfs, please use the configuration below How to Test As mentioned earlier, ADB implements the logic for USB Device configuration and data transfer at … Read more

Zephyr Enthusiasts Monthly Issue 5 – 202505

Zephyr Enthusiasts Monthly Issue 5 - 202505

This issue records the latest news and shareable content about Zephyr, published in the last week of each month. This magazine is open source (GitHub: lgl88911/Zephyr_Fans_Monthly[1]), and contributions, issue submissions, or recommendations for Zephyr content are welcome. Project Data Excluding merges, 355 authors pushed 1,676 commits to the main branch and 1,771 commits to all … Read more

Detailed Explanation of ARM General Purpose Registers and Status Registers

Detailed Explanation of ARM General Purpose Registers and Status Registers

Source: https://blog.csdn.net/qq_34430371/article/details/125820927 Compiled by: Technology Makes Dreams Greater | Li Xiaoyao The author discusses the understanding and insights regarding ARM general purpose registers and status registers. ARM General Purpose Registers For processors, registers can serve as temporary storage for holding intermediate results, as input data for computations, or as an index for accessing memory, with … Read more