A Simple Analysis of the Linux SPI Control Layer

A Simple Analysis of the Linux SPI Control Layer

Introduction I previously shared the control layer for I2C and mentioned that I would update the SPI section shortly. However, I was too tired and didn’t get around to it, so I apologize for the delay, haha. The SPI protocol is much simpler than I2C, but I find the software handling to be more complex … Read more

SPI Communication (STM32 vs GD32)

SPI Communication (STM32 vs GD32)

This article summarizes the learning process of STM32 and GD32, and I hope it serves as a reference for you. 1. Characteristics of SPI Communication SPI is a full-duplex, synchronous, serial communication protocol. Full-duplex: Simultaneous data transmission and reception (Half-duplex transmits and receives data in a time-shared manner) Synchronous: All tasks must be completed before … Read more

Starting Your Coding Journey with DSP by Lighting Up an LED

Starting Your Coding Journey with DSP by Lighting Up an LED

Light Up an LED Continuing from the previous discussion, why should we learn to light up an LED before diving into microcontroller programming? The author believes that, first, in this experiment, we can learn how to add functionality to an engineering template; second, we can learn how to configure general-purpose pins to output high and … Read more

How to Achieve Byte Swapping in Embedded Programming?

How to Achieve Byte Swapping in Embedded Programming?

Recently, I encountered the issue of byte endianness conversion in a protocol, so I lazily searched online and found a similar problem, and learned a new term called butterfly swapping. The problem is as follows: The protocol requires that the low byte is on the left and the high byte is on the right, and … Read more

A Beginner’s Guide to GTM-MCS VX-toolset

A Beginner's Guide to GTM-MCS VX-toolset

1 Overview The Bosch GTM IP module provides a general-purpose timer platform for complex applications in the automotive industry, such as powertrain, power steering, chassis, and transmission control. GTM offers various timer functions, such as counters, multifunction capture/comparison, PWM functions, duty cycle measurement, etc. GTM also features a RISC-like programmable core MCS for data processing … Read more

STM32CubeIDE Download and Installation Guide (Version 1.18.0 Example)

STM32CubeIDE Download and Installation Guide (Version 1.18.0 Example)

STM32CubeIDE Download and Installation Guide (Version 1.18.0 Example) Software Introduction STM32CubeIDE is the official integrated development environment (IDE) provided by STMicroelectronics, specifically designed for the STM32 microcontroller series. It combines the powerful features of STM32CubeMX and Eclipse, providing a complete development environment suitable for embedded software development and debugging. STM32CubeIDE not only supports code editing, … Read more

Step-by-Step Guide to Developing ARM with IAR Using N32G435

Step-by-Step Guide to Developing ARM with IAR Using N32G435

This article provides a step-by-step guide on using IAR for ARM development, taking the N32G435 as an example. The process is as follows: S1: Launch IAR by double-clicking the icon to open the project. S2: Create a new workspace: File / New workspace. S3: Create a new project: Project / Create New Project… A new … Read more

System Practice Learning ARMv8 Assembly – Course 4

System Practice Learning ARMv8 Assembly - Course 4

Course 4: Detailed Explanation and Practical Application of ARMv8 Assembly Pseudo Instructions Pseudo instructions (Directives) are auxiliary instructions provided by the assembler to control code generation, data allocation, segment structure, etc.,which do not directly translate into machine code. Below is a classification and example analysis of commonly used pseudo instructions in ARMv8 assembly: 1. Segment … Read more

System Practice Learning ARMv8 Assembly – Outline

System Practice Learning ARMv8 Assembly - Outline

Let’s set a learning plan for ARMv8 assembly language. After learning, aim to master ARMv8 assembly knowledge and be able to write some simple assembly code. Phase 1: Basic Preparation (1-2 weeks) Goals: Understand computer architecture and core concepts of the ARMv8 architecture. Set up the development environment. Write the first assembly program. Learning Content: … Read more

Renesas RA8 Series Tutorial | Generating Keil Projects Based on RASC

Renesas RA8 Series Tutorial | Generating Keil Projects Based on RASC

Follow us+Star Public Account Number, don’t miss out on exciting content Author | strongerHuang WeChat Official Account | strongerHuang For those who are not accustomed to developing with e2 studio, you can use RASC to generate a Keil project, and then happily complete development tasks in the Keil environment. This article describes the method of … Read more