The ‘Defer’ Feature in C Language: A Practical Guide and Implementation Analysis

The 'Defer' Feature in C Language: A Practical Guide and Implementation Analysis

In the world of C programming, code safety and resource management have always been crucial topics. Today, we will focus on a feature that is expected to become an important part of future versions of C language: ‘defer’. We will explore how to apply this feature in existing tools and compilers, as well as its … Read more

Understanding Embedded Linux Cross-Compilation Environment Setup

Understanding Embedded Linux Cross-Compilation Environment Setup

1. Introduction In the previous article titled “How to Install a Linux Virtual Machine”, we explained the installation method for a Linux virtual machine. To build an embedded Linux development environment, it is necessary to configure the cross-compilation environment within the Linux virtual machine. Therefore, this article will introduce the configuration method for the cross-compilation … Read more

Steps for Developing Embedded Linux Projects

Steps for Developing Embedded Linux Projects

Development boards from microcontroller manufacturers, along with their software project examples, can greatly assist engineers when starting a new design. However, after the project design reaches its early stages, the software provided by manufacturers may lead to some issues during further design. Designs that use a real-time operating system as the application code platform also … Read more

Comparison of C Compilers on Embedded Development Boards

Comparison of C Compilers on Embedded Development Boards

Comparison of C Compilers on Embedded Development Boards Embedded system development has always been a field that is both challenging and fun in the programming world, especially when conducting project practices on development boards like Raspberry Pi. Among them, choosing a suitable C compiler is one of the important decisions every developer must make before … Read more

Issues Encountered Switching LLVM Compiler for VxWorks on RISC-V

Issues Encountered Switching LLVM Compiler for VxWorks on RISC-V

Sharing various “pits” encountered during the process of switching the VxWorks operating system to support the RISC-V architecture from the GCC compiler to the LLVM compiler. The speaker, Meng Bin, is a Senior R&D Manager in the VxWorks Product Division at Wind River Systems, China R&D Center. He is an active participant and contributor in … Read more

Understanding How to Design Efficient Embedded Systems Based on RISC-V Architecture

Understanding How to Design Efficient Embedded Systems Based on RISC-V Architecture

Efficient embedded systems, if purely pursuing speed and performance, can be resolved by using the highest configuration hardware (high-performance CPUs, large memory, and various good peripherals, etc.). However, this goes against the original intention of embedded systems. As an embedded system is asoftware and hardware system flexibly tailored based on user needs, designing a high-performance … Read more

Understanding How to Design High-Performance Embedded Systems Based on RISC-V Architecture

Understanding How to Design High-Performance Embedded Systems Based on RISC-V Architecture

High-performance embedded systems, if purely pursuing speed and performance, can be addressed by using the highest specification hardware (high-performance CPUs, large memory, and various good peripherals, etc.). However, this contradicts the original intent of embedded systems. As a type of flexible hardware and software system tailored to user needs, designing high-performance embedded systems must consider … Read more

Developing STM32 on Linux: Compiling BIN and HEX Files with GCC ARM None EABI Toolchain

Developing STM32 on Linux: Compiling BIN and HEX Files with GCC ARM None EABI Toolchain

1. Why Not GCC When developing STM32, the compilation toolchain must use gcc-arm-none-eabi. Why not GCC?This relates to cross-compilation in Linux, as we need to compile programs that can run on ARM from a PC. Using GCC will compile programs that run on the PC, so we need to use gcc-arm-none-eabi for cross-compilation~ 2. Introduction … Read more