跳转至

站点简述(Introduction)

目标

当你想实现某个功能时,先到百问网的代码中心,看看有没有参考的代码。百问网代码中心,汇集各类代码,加快开发速度:
涉及单片机、RTOS、Linux 囊括从上到下全栈开发:应用组件、C程序、驱动程序、系统(bootloader和内核等)
提供教程链接:如果我们编写了某个模块的教程,会提供链接
教程适用于只想快速做出成果的同学,更适用于毕设,我们正在不断丰富完善,支持更多硬件芯片及模块,提供更丰富的demo.

如何阅读此站?

建议使用PC端浏览器访问,分辨率1080p为最佳阅读。

嵌入式开发流程简述

在进入嵌入式Linux开发之前,我们需要先了解一下嵌入式系统的开发框架以及流程,如下图所示,左侧为我们常用的PC电脑主机,右侧为嵌入式系统,因为嵌入式芯片的性能内存存储条件等原因 无法直接在嵌入式芯片上进行程序开发,此时我们就需要借助性能强大的PC主机,一般为X86电脑,通过交叉编译的方式生产 嵌入式芯片可以运行的程序,在这里,我们一般叫PC主机为Host端,对于我们的嵌入式开发板,我们一般成为Target端。我们需要在Host端使用针对于Target端芯片架构生成的工具链进行交叉编译,最后将输出的可执行文件存放至Target(目标开发板)内运行。 eLinuxHostAndTarget

通过上图可以看出,实际的嵌入式开发是通过两部分组成的,那么对于嵌入式Linux设备开发也是如此。通过Host端的交叉编译工具链编译 Target(目标开发板)的程序,然后放在Target开发板上运行。 cross-gcc-sandwich

既然Target(目标开发板)上运行的程序是通过Host(PC主机)端交叉编译工具链生成,那么交叉编译工具链又是从哪里而来?这里就涉及到了一个BuildSystem(构建系统)的概念,所有的程序都不可能是直接凭空出现,而是通过编程开发,最后再编译得出。下面这张图演示了,交叉编译工具链的生成以及如何使用交叉编译工具链编译生成一个可以在Target(目标开发板)上运行的c++程序。这里主要告诉大家,所有的程序都是从源码编译得出,不管是交叉编译工具链还是 Target上运行的程序。 gcc-cross-compiler

  • 如果看了上述的介绍还是不太理解 嵌入式的开发流程框架可以看我们之前专门录制的一套基于buildroot开发的嵌入式基础知识科普类视频教程。

代码库使用步骤

Note

详细的各个部分开发步骤请查看 左侧导航 LinuxC基础 Linux组件开发 Linux设备驱动开发 Linux系统开发 页面,在页面内会有详细的各部分开发流程介绍。

graph LR
A[0.准备硬件]-->B[1.获取Ubuntu虚拟机系统]-->2.配置Host开发环境-->3.获取Target工程示例-->4.Host端编译开发-->5.上传至Target开发板运行

网站资源汇总

我们将本站所有的资源通过思维导图的方式罗列出来,大家可以根据自己的需要直接点击最右侧的链接,即可跳转到代码工程区域。

如何参与编辑?

愿景:我们正在不断地支持更多的硬件模块,代码示例,加入到这个站点内,如果您感兴趣,欢迎加入。

您将获得什么?

快速实现您需要实现的功能,我们提供专门的开发板硬件,配套的模块硬件,设备驱动 系统源码SDK工程源码,常用组件开发示例,以及LinuxC基础,让大家可以在最短的时间内实现自己需要的功能。

关于开源协议

此页面使用了开源的Mkdoc文档框架,文档站点托管在GitHub上,每个页面都会有编辑按钮,大家可以一起参与编辑或者提问改进此文档。 * 图片引用: https://preshing.com/20141119/how-to-build-a-gcc-cross-compiler/