An Overview of the Linux UART Subsystem

An Overview of the Linux UART Subsystem

Introduction The development of UART has matured significantly, and it is generally sufficient to directly port the 8250 driver. For example, the UART driver for Rockchip directly uses “snps,dw-apb-uart”, which corresponds to <span>Linux-4.9.88/drivers/tty/serial/8250/8250_dw.c</span> driver. uart1: serial@ff190000 { compatible = "rockchip,rk3368-uart", "snps,dw-apb-uart"; reg = <0x0 0xff190000 0x0 0x100>; clock-frequency = <24000000>; clocks = <&cru SCLK_UART1>, <&cru … Read more

Summary of Embedded Development Knowledge Points (Part 3)

Summary of Embedded Development Knowledge Points (Part 3)

Issue 1: The driver cannot load or reports an error after loading. Possible reasons: Incorrect compilation options, module information, dependencies, symbol exports, etc.; the driver is incompatible with the kernel version; the driver is incompatible with the hardware device; errors in the driver’s initialization or exit functions; issues with the driver’s permissions or path settings, … Read more

Embedded Linux Career Paths, Salaries, and Required Skills

Embedded Linux Career Paths, Salaries, and Required Skills

1. Embedded Linux BSP Engineer (1) Job Responsibilities: BSP Development and Maintenance: Develop and maintain the Board Support Package (BSP) for Linux systems, which includes bootloaders, device drivers, and file systems. In simple terms, this ensures that the Linux system can boot and run stably on specific hardware platforms. Compatibility Issue Resolution: Responsible for addressing … Read more

How to Write Your Own .NET IoT Device Driver from Scratch

How to Write Your Own .NET IoT Device Driver from Scratch

This article will detail how to write a .NET IoT device driver from scratch using the NV3030B LCD device driver as an example. We will use the Raspberry Pi as the hardware platform and refer to the official .NET IoT Ili934x TFT LCD driver library. 1. Background In the previous article “Getting Started with .NET … Read more

Embedded Linux Driver Development Secrets: Detailed Explanation of GPIO, I2C, and SPI Drivers

Embedded Linux Driver Development Secrets: Detailed Explanation of GPIO, I2C, and SPI Drivers

Do you want to delve into the Linux kernel and write your own drivers? This tutorial will take you from scratch to mastering the core skills of Linux driver development, and through rich practical cases, you will quickly acquire the ability to write various types of drivers! 1. Preparation: Environment Setup and Tool Installation This … Read more

Interview Experience for Embedded Linux Positions at Hesai Technology

Interview Experience for Embedded Linux Positions at Hesai Technology

Click on the above“Embedded Linux Charging Station”, select“Pin/Star the Official Account” Welfare and valuable information delivered promptly First Interview 1. Self-introduction 2. What kind of locks are used in interrupts? 3. What is the difference between spin locks and mutex locks? 4. If the interrupt function is threaded, what kind of locks should be used? … Read more

Six Steps to Get Started with Embedded Linux

Six Steps to Get Started with Embedded Linux

Many people often ask this question, so here is a summary for everyone’s reference. It must be stated that the following steps are targeted at Linux systems and do not focus on WinCE. You may notice that among those engaged in embedded systems, there are far more people researching Linux than those working with WinCE. … Read more

Open Source Linux Process Memory Kernel Management Module Source Code

Open Source Linux Process Memory Kernel Management Module Source Code

This article is an excellent piece from the Kanxue Forum. Author from Kanxue ForumID: abcz316 Linux is an open-source kernel system. I am also very fond of embedded Linux systems, especially its kernel source code, which is written in a style that I really appreciate. This driver was previously written during my spare time for … Read more

Getting Started with ARM and Embedded Linux Without Pitfalls

Getting Started with ARM and Embedded Linux Without Pitfalls

Word Count: 1400 Practical Index: ⭐⭐⭐⭐⭐ 01 Learn Basic Bare-Metal Programming For those learning hardware, it is essential to first have a perceptual understanding of the basic usage methods of the hardware and to deeply understand the control methods of the hardware. If you start by learning the Linux system and porting, you will quickly … Read more

Essential Knowledge for Embedded Engineers

Essential Knowledge for Embedded Engineers

1. The Engineer’s Perspective on “Embedded Systems” From an engineer’s point of view: focus on understanding the concept of “embedding” from three main aspects: 1. From the hardware perspective, integrating peripheral devices based on the CPU into the CPU chip itself. For example, early computers based on the X86 architecture only had arithmetic and accumulator … Read more