Setting Up an Embedded Linux Environment on RK3568

Setting Up an Embedded Linux Environment on RK3568

1. Background To develop an embedded Linux application based on the MPU, it is necessary to configure the cross-compilation toolchain and port uboot + kernel. Development Environment: Windows 11 + VM16 + Ubuntu 16 2. Installation Steps 2.1 Install VMware 16 2.2 Install Ubuntu System ubuntu-16.04.5-desktop-amd64.iso 2.3 Install VMware Tools Shared Folder sudo vmhgfs-fuse .host://mnt/hgfs … Read more

Linux – Block Device Drivers

Linux - Block Device Drivers

1.What is a Block Device Driver A block device driver is used to operate storage devices such as hard disks. 1.1 Concept of Block Device DriversDevices that can randomly access fixed-size data chunks (1 block = 512 bytes) are called block devices. Block device files are generally used in a way that mounts a file … Read more

Mastering Linux on MCU Series Part 18: New Boot Design to Load and Start Linux (5) – Loading from SPIFLASH

Mastering Linux on MCU Series Part 18: New Boot Design to Load and Start Linux (5) - Loading from SPIFLASH

1. Introduction Previously, we completed the design and source code implementation of the storage layout and loader. Now we will practice and test loading the image from SPIFLASH into SDRAM for execution. Of course, during debugging, we can also directly transfer the image to SDRAM using xmodem for direct execution. See the code at:https://github.com/qinyunti/stm32f429-boot.git Please … Read more

Miscellaneous Devices in Linux Drivers

Miscellaneous Devices in Linux Drivers

1. The Three Major Types of Linux Device Drivers 1. Character Devices: The IO transfer process is done in characters without buffering, such as I2C and SPI, which are character devices. 2. Block Devices: The IO transfer process is done in blocks, related to storage, such as TF cards. 3. Network Devices: Unlike the previous … Read more

Locating Members of C Language Structures in the Kernel

Locating Members of C Language Structures in the Kernel

When examining kernel code, there is a small trick regarding the C language that can be shared to facilitate code reading. 1. Directly Finding the Parent Pointer of a Structure We know that kernel header files define structures, and when defining structures, the first item of important structures is typically set as a sub-structure. As … Read more