What You Need to Learn for Embedded Development

What You Need to Learn for Embedded Development

Today I will share some knowledge that you need to learn for embedded development, to help you with self-study. What you need to learn for embedded development mainly includes the following aspects: 1. Circuit Knowledge (Because hardware design involves component selection, schematic and PCB design, and circuit debugging, you need to master knowledge related to … Read more

Essential C Language Tools for Embedded Development

Essential C Language Tools for Embedded Development

原文:https://zhuanlan.zhihu.com/p/653484840 In embedded development, commonly used C language tool code is indeed very important. Today, I will share some sharp-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) … 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

Understanding Byte Alignment in Linux

Understanding Byte Alignment in Linux

Recently, I encountered a problem where threadx running on ARM crashed when communicating with DSP using message queues (the underlying implementation is through interrupts and shared memory). During the troubleshooting process, it was found that the structure used for message passing did not consider the issue of byte alignment. Here, I will整理一下 the issue of … 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

Data Structures Commonly Used in Embedded Application Development

Data Structures Commonly Used in Embedded Application Development

来源 | 吃时间的虫子TK Software engineers typically need to determine which data structures and algorithms to use based on specific application business logic. It can be said that suitable data structures and algorithms are the cornerstone of stable business software operation. If you are a software engineer, whether you are preparing for coding interviews, optimizing your … Read more

C Language and Embedded System Performance Optimization

C Language and Embedded System Performance Optimization

C Language and Embedded System Performance Optimization: Improving System Response Speed In embedded system development, performance optimization is a crucial topic. Since embedded devices usually have limited resources, optimizing code to improve system response speed is particularly important. This article will introduce some common performance optimization techniques and illustrate them with C language code examples. … Read more

Getting Started with FreeRTOS: A Guide to Writing Doubly Linked Lists

Getting Started with FreeRTOS: A Guide to Writing Doubly Linked Lists

Abstract: A few days ago, I talked about single linked lists, today I will discuss doubly linked lists in conjunction with the FreeRTOS linked list source code. Note: A linked list item is a node, and a node is a linked list item, they refer to the same thing, it doesn’t matter what you call … Read more

Understanding Memory Alignment of C Structs in Embedded Systems

Understanding Memory Alignment of C Structs in Embedded Systems

Today, I bring you a classic and commonly mistaken question about memory alignment of C language structures: Calculate the number of bytes occupied by the following structure in a 32-bit environment: typedef struct test_struct { char a; short b; char c; int d; char e; }test_struct; Please provide your answer: Let’s take a look at … Read more