近日,有人在 GitHub 上开源了一个关于树莓派的教程。不同于以往的树莓派开发,这篇教程的核心内容是讨论如何在树莓派上进行裸机编程。 教程地址:https://github.com/bztsrc/raspi3-tutorial
在树莓派 3 上进行裸机编程
该系列教程面向那些想要编译自己的树莓派裸机应用程序的人,具体目标受众是那些对树莓派硬件不熟悉,但在业余时间又爱好 OS 的开发人员。在这篇教程里,作者给出了一些示例来完成基本的操作,比如:将代码写入串行控制台、从串行控制台中读取按键、设置屏幕分辨率并绘制到线性帧缓冲区。此外,作者还展示了如何获取硬件的序列号、硬件支持的随机数,以及如何从启动分区读取文件。
需要注意的是:这篇教程没有涉及编写 OS。诸如内存管理、虚拟文件系统、实现多任务处理之类的主题也不会介绍。该教程将重点介绍与硬件的接口,而不是关于 OS 的理论。此外,该教程假设你具有一定的 GNU/Linux 知识,对编译程序、创建磁盘和文件系统镜像有一定的了解。
对于为何选择树莓派 3,作者给出了解释:首先,它既便宜又容易买到。第二,它是 64 位的,拥有非常大的地址空间。第三,它只使用 MMIO,这使得编程更容易。
该教程使用 C 语言进行开发。
摘自:机器之心编译