CMake: The Superior Choice for Software Building

CMake: The Superior Choice for Software Building

1. The Role of CMake in Real Life In modern software development, CMake plays a crucial role. It is a cross-platform build tool that helps developers efficiently manage and build software projects. First, CMake provides a unified way to describe the build process of a project, ensuring consistency regardless of whether the project is developed … Read more

Managing Multiple Modules in CMake

Managing Multiple Modules in CMake

Background CMake CMake is a cross-platform open-source build tool used to manage and automatically generate the build process of software projects. CMake automatically generates build system files suitable for different compilers and operating systems, such as Makefile and Visual Studio solutions, based on the descriptions in the CMakeLists.txt file. Multiple Modules Typically, a project will … Read more

Introduction to Multicore Debugging and Basic Operations with IAR

Introduction to Multicore Debugging and Basic Operations with IAR

In the process of project development, different chip platforms may use different compilation and debugging environments. Taking compilers as an example, commonly used ones include Tasking, Hightec, GreenHills, and IAR. In addition, there are various types of debuggers and emulators. Therefore, familiarizing oneself with the software/hardware environment used is a fundamental skill for software development … Read more

What Does an Embedded BSP Engineer Do?

What Does an Embedded BSP Engineer Do?

Scan to FollowLearn Embedded Together, learn and grow together What exactly is a BSP engineer? Let’s take a look at this article. 1. Embedded Systems To understand what an embedded software engineer is, we first need to discuss embedded systems (embedded devices). Wikipedia defines embedded systems as follows: An <span>Embedded System</span> is a computer system … Read more

Which Has Greater Core Competitiveness: Embedded Applications or BSP?

Which Has Greater Core Competitiveness: Embedded Applications or BSP?

Click below【Learn Embedded Together】 to follow, learn together, and grow together To answer this question, let’s first look at what embedded applications and embedded BSP (Board Support Package) each do. Embedded Applications Embedded applications, on the surface, seem to involve software development, but essentially, they involve business work. The software developed is determined by the … Read more

Building the ‘Library’ Concept for Embedded Device Drivers

Building the 'Library' Concept for Embedded Device Drivers

How to write excellent C code? Excellent code is undoubtedly the crystallization of various programming techniques and design philosophies, so it requires step-by-step accumulation. Here I share this article on building the ‘library’ concept, and everyone can experience it. What if device programs were perfectly library-based? 1. All engineers would spend minimal effort when porting … Read more

The Myth of Rust Being Difficult to Learn

The Myth of Rust Being Difficult to Learn

Organized by Noah In recent years, the presence of Rust has been increasing, but its steep learning curve seems daunting. However, an internal survey by Google suggests that the notion of Rust being “difficult to learn” may just be a rumor. Is Rust really hard to learn? Why does Google support Rust when it has … Read more

Google Programmer Finds Learning Rust Easy

Google Programmer Finds Learning Rust Easy

Produced by | OSC Open Source Community (ID: oschina2013) Based on Google’s internal experiences with using Rust, they shared their insights on this “popular” programming language, including clarifications on common Rust myths. 1. Rust Requires At Least 6 Months to Learn Google refuted this claim. According to an internal survey, over 2/3 of respondents felt … Read more

Rust Training Camp

Rust Training Camp

Friends who follow me may know that I previously launched a column titled “Rust Programming First Lesson” on Geek Time. The goal of this column is to help you deeply understand the Rust language system, master the essence of Rust development, and appreciate the charm of Rust’s design philosophy. For example, I will explain how … Read more

Switching From C++ to Rust: Doubling Development Efficiency

Switching From C++ to Rust: Doubling Development Efficiency

Google’s Android Engineering Director Lars Bergstrom recently shared the company’s experience migrating projects written in Go or C++ to the Rust programming language at the Rust Nation conference. Bergstrom stated that although there were cases of rewriting code in the memory-safe Rust language as early as 2016 with Dropbox and 2018 with Figma, and the … Read more