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

Common C Language Tools for Embedded Development

Common C Language Tools for Embedded Development

The C language tools commonly used in embedded development are indeed very important. Below are some sword-level C language tool code examples, along with brief explanations. 1. Circular Buffer: typedef struct { int buffer[SIZE]; int head; int tail; int count; } CircularBuffer; void push(CircularBuffer *cb, int data) { if (cb->count < SIZE) { cb->buffer[cb->head] = … Read more

Design of a Pauseable Eight-Way Buzzer Based on AT89C51 Microcontroller

Design of a Pauseable Eight-Way Buzzer Based on AT89C51 Microcontroller

Click the link below to read the original article or copy the link to your browser to obtain the Keil source code and Project Backups simulation images: https://gf.bilibili.com/item/detail/1107885063 C+15 Abstract With the advancement of society and technology, the application of electronic devices in various activities has become increasingly common. Buzzers, as a tool for answering … Read more

Introduction to Synchronization and Mutex in FreeRTOS

Introduction to Synchronization and Mutex in FreeRTOS

This article aims to learn and use synchronization and mutex in FreeRTOS. Following the descriptions in this article, you should be able to run the experiment and apply the knowledge. Experimental conditions: Basic knowledge of C language and an integrated development environment installed, such as Keil uVision5. Concepts of Synchronization and Mutex Synchronization is used … Read more

Task Scheduling in FreeRTOS

Task Scheduling in FreeRTOS

Convention: This article is based on freeRTOSv202212.01. Defining a Task Task scheduling involves the “tasks” that need to be managed, so we need to first understand what a “task” looks like. An independent task must consider the following points: 1. The system must recognize and manage this task, so the task needs an identification card … Read more

Getting Started with FreeRTOS: Memory Management

Getting Started with FreeRTOS: Memory Management

1. Concept and Classification of Memory In computing systems, memory is used to store variables and intermediate data. The system memory can be divided into two types: Internal Storage Space (RAM): Typically refers to Random Access Memory, which allows fast data access and random access, but data is lost when power is off. External Storage … Read more

Embedded Systems Beginner’s Progression: Key Milestones

Embedded Systems Beginner's Progression: Key Milestones

01 Basic Stage 1.1 Basics of Programming Languages C Language: As the cornerstone of embedded development, it is essential to master its various features. By carefully studying classic books such as “The C Programming Language,” deeply understand the syntax rules, accurately grasp the use of data types, skillfully manipulate pointers as a powerful tool, and … Read more

Running .NET Core 3.0 on Raspberry Pi 4: True 64-bit!

Running .NET Core 3.0 on Raspberry Pi 4: True 64-bit!

Introduction Recently, I wrote an article titled “Installing .NET Core 3.0 Runtime and SDK on Raspberry Pi 4”, followed by subsequent articles on “Auto-starting .NET Core 3.0 Environment on Raspberry Pi”, “Nginx Configuration for Internal Access to Raspberry Pi 4 ASP.NET Core 3.0 Website”, and “Tianpai Magic | .NET Core 3.0 + Azure Remotely Turning … Read more

15 Essential Programming Skills for Becoming an Excellent Programmer

15 Essential Programming Skills for Becoming an Excellent Programmer

Programming is a term that tells computers how to work. Through programming, we can easily manipulate any technology. Just like everyone has their own language or specific dialect in certain regions, computers or advanced technologies also have specific languages, and its name is “programming.” Those who engage in programming are called programmers. However, merely learning … Read more

QP/C: A Lightweight Open Source Real-Time Embedded Framework

QP/C: A Lightweight Open Source Real-Time Embedded Framework

QP/C, a lightweight and open source real-time embedded framework (RTEF), provides powerful tools for building modern embedded software. It is based on the active object (Actor) model and has won widespread acclaim in the embedded systems development field due to its efficiency, safety, and ease of use. This article will delve into the key features, … Read more