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

C Language Learning Path + Innovative Practical Projects to Help You Earn Over 10,000 Monthly

C Language Learning Path + Innovative Practical Projects to Help You Earn Over 10,000 Monthly

Hello everyone, I am Xiaokang! Recently, many readers have privately messaged me asking: “Xiaokang, how can I quickly get started with C/C++? Can you share a complete learning path?” Seeing so many friends needing guidance in learning C language, I spent several days organizing this super detailed learning guide. 💡 Are you still confused about … Read more

Who Says Embedded Development Doesn’t Pay?

Who Says Embedded Development Doesn't Pay?

Last time I shared with everyone: the most needed programmers right now are embedded developers.Some students commented: There is a shortage, but the pay is not good.Regarding embedded development, there are three major controversies:1. There are not many job opportunities.2. Salaries are not high.3. The 35-year-old crisis cannot be avoided.In response to these controversies, a … Read more