newlib: An Open Source C Standard Library Tailored for Bare-Metal and Small Systems

newlib: An Open Source C Standard Library Tailored for Bare-Metal and Small Systems

Let’s start with the background of newlib. It is an open-source C standard library (libc) that originated from Cygnus and was later maintained by Red Hat. Unlike the “heavyweights” like glibc, newlib is specifically designed for bare-metal and small systems, allowing it to run without an operating system. In simple terms, it provides you with … Read more

Building an Embedded Linux Environment on Raspberry Pi 4B: A Complete Guide from Scratch

Building an Embedded Linux Environment on Raspberry Pi 4B: A Complete Guide from Scratch

Building an Embedded Linux Environment on Raspberry Pi 4B: A Complete Guide from Scratch Introduction The Raspberry Pi 4B, with its powerful performance and rich interface resources, has become an ideal platform for embedded Linux development and IoT applications. As a single-board computer supporting Linux on an ARM architecture, mastering the setup of its development … Read more

Compiling GStreamer 1 for OpenWRT on RK3568 Platform

Compiling GStreamer 1 for OpenWRT on RK3568 Platform

• To utilize the RKMMP hardware decoding feature on the OpenWRT system for the RK3568 platform, we will use the customized GStreamer 1 source code from the RK3568 Buildroot SDK to cross-compile the relevant components of GStreamer 1, aiming to adapt it for the OpenWRT target board. The compilation process is for reference only. Source … Read more

Porting OpenWrt System to rk3568 with RKMMP Hardware Decoding

Porting OpenWrt System to rk3568 with RKMMP Hardware Decoding

• This article attempts to compile ffmpeg from source on an OpenWrt host, as the OpenWrt version of ffmpeg does not support hardware decoding for rk3568 using RKMMP. After resolving several compilation issues, the process is documented here for reference. Configuration First, refer to the native compilation options in the wrt SDK and add support … Read more

How to Develop Your Own Kernel Driver and Device Tree on Linux ARM

How to Develop Your Own Kernel Driver and Device Tree on Linux ARM

IntroductionI only have a basic understanding of Linux, and this document serves as my personal memo. If there are any errors, I hope the experts will kindly provide guidance! Thank you!===========================================Source Code Downloadhttps://mirrors.edge.kernel.org/pub/linux/kernel/It is best to use a release version that is permanently maintained.I am using version 5.10Device TreeLocated in the directory arch/arm/boot/dtsYou can create … Read more

Building x264 and FFmpeg with Buildroot for RK3568 Platform

Building x264 and FFmpeg with Buildroot for RK3568 Platform

• To develop audio and video capture and streaming functionality on the RK3568 platform, compile and install FFmpeg and its dependency, the x264 library. Dependency Installation x264 Compilation and Installation Extracting Source Code tar xf x264-snapshot-20191217-2245-stable.tar.bz2 cd x264-snapshot-20191217-2245-stable/ Modify Configuration File vi config.mak # Modify content to support cross-compilation CC=aarch64-linux-gcc LD=aarch64-linux-gcc -o AR=aarch64-linux-ar rc RANLIB=aarch64-linux-ranlib … Read more

Running Qt on VxWorks: A Powerful Combination for Embedded Development

Running Qt on VxWorks: A Powerful Combination for Embedded Development

With the widespread application of embedded systems in industries such as aerospace, automotive, and industrial automation, developers are increasingly demanding high-performance real-time operating systems (RTOS) and modern graphical user interfaces (GUIs). VxWorks, as a mature RTOS, is known for its high reliability, low latency, and high security, while Qt is favored by embedded developers for … Read more

Configuring Buildroot for QT, Remote Deployment, and Landscape Display

Configuring Buildroot for QT, Remote Deployment, and Landscape Display

1.Configuring QT in Buildroot 1.Open the configuration interface. ./build.sh buildroot-config 2.Use the arrow keys ↑↓ to navigate and select Target packages Press Enter to enter 3.Use the arrow keys ↑↓ to navigate and select Graphic libraries and applications (graphic/text) Press Enter to enter 4.After entering, use the arrow keys ↑↓ to find Qt5, press the … Read more

Developing QT with Yocto File System on Linux | I.MX6ULL

Developing QT with Yocto File System on Linux | I.MX6ULL

01 The Yocto file system supports QT by default. So how do we run our QT programs on the Yocto file system? In this chapter, we will learn how to develop QT programs in a Yocto file system + Ubuntu environment. Note that the development environment is based on “qtcreator-3.5.1” (Ubuntu 16.04.6), and the library … Read more

How to Remotely Log into a Development Board?

How to Remotely Log into a Development Board?

In the company, some development environments (network environments, remote login environments, etc.) are set up by system engineers, and we just need to use them. However, when playing around on my own, I still have to tinker with it myself. Recently, I set up the network environment and remote login environment for my board, and … Read more