stm32-for-vscode: Compile, Debug, and Flash Firmware Directly in VSCode

stm32-for-vscode: Compile, Debug, and Flash Firmware Directly in VSCode

For those writing STM32 code, you must have used STM32CubeMX + CubeIDE, right? However, the IDE can sometimes be sluggish and the configuration can be quite frustrating. Today, I want to recommend a powerful tool: stm32-for-vscode, which allows you to compile, debug, and flash firmware directly in VSCode. It is lightweight and efficient, making it … Read more

FreeRTOS Makefile Explanation

FreeRTOS Makefile Explanation

Explanation of the Makefile content for the FreeRTOS demo project on Ubuntu: 1. Tool Definition Section PREFIX = arm-none-eabi- CC = $(PREFIX)gcc CXX = $(PREFIX)g++ AS = $(PREFIX)gcc -x assembler-with-cpp LD = $(PREFIX)g++ OBJCOPY = $(PREFIX)objcopy OBJDUMP = $(PREFIX)objdump SIZE = $(PREFIX)size GDB = $(PREFIX)gdb Defines the prefix for the cross-compilation toolchain and various tools … Read more

Essential Kernel Course for BSP Engineers: 2.5. Inter-Module Dependency Issues and the Principle of EXPORT_SYMBOL

Essential Kernel Course for BSP Engineers: 2.5. Inter-Module Dependency Issues and the Principle of EXPORT_SYMBOL

Adhering to high-quality original content, rejecting content piling, if you like it, click the star above to receive updates promptly, thank you for your attention! We previously learned how to compile and run kernel modules, but in reality, many driver modules are quite complex. Most driver modules consist of multiple files, and there are dependencies … Read more

Makefile: Why Modifying Only the .h Header File Doesn’t Work During Compilation?

Makefile: Why Modifying Only the .h Header File Doesn't Work During Compilation?

Have you ever encountered a situation like this: A .c file includes another .h header file, using a Makefile to build (compile) the application. The first time you compile and execute, everything works fine! However, if you modify the .h header file and try to compile again, issues arise: The expected execution flow is: make … Read more

Essential Tools for Embedded Development: A Step-by-Step Guide to Mastering Makefile

Essential Tools for Embedded Development: A Step-by-Step Guide to Mastering Makefile

Hello everyone, welcome to <span>LiXin Embedded</span>. In the development era, tasks like code compilation, linking, and cleaning can be quite tedious. Makefile acts like a project manager, helping you automate these cumbersome tasks. Many people may find Makefile a bit mysterious when they first encounter it, but it is not complicated. Today, we will take … Read more

Makefile Basics + Practical Application: A One-Stop Guide to Automated Builds

Makefile Basics + Practical Application: A One-Stop Guide to Automated Builds

In a makefile, we can generate specified target files from our source code based on a series of rules defined in the makefile. This helps us automate various operations such as compiling and packaging programs. 1 Basic Principles of Makefile: Any version of the shell will include the make command. When we execute the make … Read more

Introduction to Makefile Basics: From Compilation Novice to Automation Build Expert

Introduction to Makefile Basics: From Compilation Novice to Automation Build Expert

Introduction: Why Do We Need Makefile? In Windows IDEs, we can simply click the “Build” button to complete the compilation, but behind large projects often lies complex build logic. Makefile is the core tool for achieving automated builds in Linux/Unix environments, acting like a precise conductor that coordinates: Optimization of compilation order Incremental compilation (only … Read more

Using Makefile to Depend on Other Makefiles in Linux

Using Makefile to Depend on Other Makefiles in Linux

Hello everyone, I am the Intelligence Guy~ <span>$(MAKE) -C is very useful in building multiple packages, today I will detail its usage:</span> <span><span>1. Usage of $(MAKE) -C</span></span> <span>$(MAKE) -C</span> is a commonly used command combination in Makefile, which allows you to execute another Makefile in a specified directory. This is very useful when building complex … Read more

In-Depth Understanding of the GCC Toolchain: The Cornerstone and Advanced Guide for Embedded Development

In-Depth Understanding of the GCC Toolchain: The Cornerstone and Advanced Guide for Embedded Development

In embedded system development, the GCC toolchain is an indispensable core tool. It is not just a set of compilers but also supports the entire process of building, debugging, and optimizing programs. This article will systematically introduce you to the various components of the GCC toolchain, its working mechanisms, debugging and optimization techniques, along with … Read more

Writing Ruby Extension Libraries: Steps for Implementing C Language Extensions and Ruby Calls

Writing Ruby Extension Libraries: Steps for Implementing C Language Extensions and Ruby Calls

Writing Ruby Extension Libraries: Steps for Implementing C Language Extensions and Ruby Calls In Ruby, while most development work can be accomplished with pure Ruby code, there are times when we need higher performance or access to low-level system resources. In such cases, we can use C language to write extension libraries. This article will … Read more