1 Star 0 Fork 56

山药 / quard_star_tutorial

forked from Quard / quard_star_tutorial 
Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
Clone or Download
contribute
Sync branch
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README

Linux ci Windows ci Macos ci Documentation Status CodeFactor GitHub tag (latest SemVer) GitHub All Releases GitHub stars GitHub forks Gitee stars Gitee forks

Building Embedded Linux System based on QEMU

English | 简体中文

Logo

video.webm

Introduction

This project aims to build an Embedded Linux System. In order to analyze the chip from power-on to execute the first instruction to the entire system running, related application services are started, so the real board on the market is not used, based on the qemu simulator Development board, and does not use the fast loading elf file method provided by qemu, so we need to download the qemu source code, write our own (or use qemu's own) hardware ip-core simulation code to customize our own hardware board. This project is synchronously produced Blog(Temporarily Only Chinese)(2021.8.11: Now I start building the documentation using readthedocs, the content is the same as the blog), so the project should try to ensure that it is submitted every time a feature is added, so that the index can track the development process and correspond to the specific chapters of the blog.

Environment Setup

Ubuntu20.04 needs to use apt to install the package:

sudo apt install ninja-build pkg-config libglib2.0-dev libpixman-1-dev libgtk-3-dev libcap-ng-dev libattr1-dev libsdl2-dev device-tree-compiler bison flex gperf intltool mtd-utils libpulse-dev libalsa-ocaml-dev libsdl2-dev libslirp-dev

Hardware Architecture

The figure below shows the current virtual hardware architecture, which will be continuously updated as the project progresses.

Hardware Architecture

Software Flow

The following figure shows the current software flow, which will be continuously updated as the project progresses.

Software Flow

Memory Distribution

The following figure shows the current memory distribution, which will be continuously updated as the project progresses.

Memory Distribution

Development Note

Develop Note (Temporarily Only Chinese)

More

The main branch of the project is currently a stable branch, which is used for supporting tutorial documents. The next-kernel branch is used to learn the latest functions on the experimental kernel. Periodically sync with linux-next.

Empty file

About

本项目旨在真正从0开始构建嵌入式linux系统,为了剖析芯片从上电开始执行第一条指令到整个系统运行,相关应用服务启动,因此不使用市面上真实的板子,基于qemu定制模拟器开发板,且不使用qemu提供的快速加载elf的文件方式,因而我们需要下载qemu源码... expand collapse
Cancel

Releases

No release

Contributors

All

Activities

Load More
can not load any more
C
1
https://gitee.com/zen0fpy17/quard_star_tutorial.git
git@gitee.com:zen0fpy17/quard_star_tutorial.git
zen0fpy17
quard_star_tutorial
quard_star_tutorial
main

Search