CEO 亲自写代码登上热榜,从零开始打造“裸金属”树莓派
消息来源:baojiabao.com 作者: 发布时间:2026-02-17
10 月 10 日消息 CEO 亲自写的代码是啥样?来自 RealVNC 公司的 CEO 说,自己常年当管理者,代码生疏了,所以决定重拾一下程序员工作,写一点树莓派的代码。
结果,一不小心就上了技术论坛 Hacker News 热门。
这串代码究竟是什么?打开这位 CEO 的 Twitter 一看,是一段小游戏。
花了一年时间就写了个这?当然不是,这位 CEO 可是从零开始打造的这款游戏,连系统启动文件都是自己写的。
通常我们使用树莓派都会在 SD 卡上刷写好操作系统,其实树莓派还能从零开始打造成一款"裸金属"(Bare Metal)计算机。
所谓"裸金属"就是没有操作系统的计算机,直接在逻辑硬件上执行指令。这位 CEO 说,打造一个裸金属系统是他儿时的志向。
所以就有了这串,从零开始到成功运行 Hello World,再到运行小游戏的程序。
从启动硬件到 Hello World
目前,该项目已经完成了 12 章,仍在 GitHub 上继续更新中,截至今天已经收获了 1.6k 星。
项目内容有:启动、构建基本代码、运行 HelloWorld、调用蓝牙声音硬件等。
在编写代码之前先要准备树莓派 4 的周边硬件:HDMI 线、micro-SD 卡以及 USB 转 TTL 线。
由于编译过程是在电脑上进行,而程序是在树莓派上运行,因此还要在电脑上安装交叉编译器。
接下来开始引导树莓派启动:
树莓派 4 运行的第一个代码需要用汇编语言编写,之后由 C 语言来编写内核。
写好启动代码后,再制作 makefile 文件进行交叉编译。
CFILES = $(wildcard *.c)FILES = $(CFILES:.c=.o)GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfilesGCCPATH = ../../gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf/binall: clean kernel8.imgboot.o: boot.S$(GCCPATH)/aarch64-none-elf-gcc $(GCCFLAGS) -c boot.S -o boot.o%.o: %.c$(GCCPATH)/aarch64-none-elf-gcc $(GCCFLAGS) -c $< -o $@kernel8.img: boot.o $(OFILES)$(GCCPATH)/aarch64-none-elf-ld -nostdlib boot.o $(OFILES) -T link.ld -o kernel8.elf$(GCCPATH)/aarch64-none-elf-objcopy -O binary kernel8.elf kernel8.imgclean:/bin/rm kernel8.elf .o .img > /dev/null 2> /dev/null || true
运行 make 后构建内核映像 kernel8.img,将镜像文件复制到 SD 卡中,这样就可以启动树莓派了。
不过树莓派在这一通操作后只能运行启动画面,之后只剩下一个空的黑屏。
然后就是让树莓派程序员熟悉的"Hello World"程序,但是在一台黑屏的机器上如何运行呢?这就需要用到 UART 串行通信。
刚刚准备的 USB 转 TTL 线这时候就派上了用场。
将 TTL 的 RX 引线(白色)链接到 GPIO 的 TXD 引脚上,TX 引线(绿色)链接到 GPIO 的 RXD 引脚上,地线(黑线)连接到 Ground 引脚上。
电脑上还要安装 PuTTY,将链接方式选择为"Serial",Speed 设置为 115200
#include"io.h"void main(){uart_init();uart_writeText("Hello world!\n");while (1);}这里的头文件 io.h 也不存在,需要自己定义。
但是此时的树莓派还有没字体文件,也就是屏幕无法正常显示英文字母,也需要自定义。经过一系列操作后,这位 CEO 终于在屏幕上成功显示了"Hello world!"和几个几何图形。
编程并没有到此截止,这位 CEO 后面又实现了蓝牙互传信息、播放音频文件等操作。他还表示,项目还在持续更新中。
关于作者
"裸金属"树莓派的作者 Adam Greenwood-Byrne 毕业于牛津大学,2009 年加入 RealVNC 担任销售经理,2018 年成为这家公司 CEO。
他的 GitHub 主页上目前只有一个项目,第一章内容是他在疫情隔离期间完成的,之后项目就处于休眠状态。
不过从今年的活跃度来看,他从今年开始又重拾了该项目,开始认真写代码了。
项目 GitHub 链接:点击打开
2022-05-08 03:41:27相关文章
炒港股要补交多少税?我也接到催交补税特别行动的电话了2025-07-23 17:36:43
淘宝天猫仅退款属于诈骗吗?淘宝天猫开始部分取消仅退款2024-10-01 13:01:28
哈啰app借钱|哈啰借钱app下载安装免费小小上当和电话骚扰2024-10-01 11:22:38
白嫖党|山西大同大学学生网购申请“仅退款”被拒骂客服一小时2024-09-27 09:10:44
北大数学教授袁新意《姜萍事件的疑点分析》点评姜萍板书 阿里巴巴竞赛受质疑2024-06-28 10:07:40
天猫新规可以无条件申请“仅退款”了?淘宝天猫又离狗多多零元购近了一步2024-06-28 09:27:13
美国法院裁定阿里须为Squishmallows玩具侵权案答辩2023-12-28 19:59:34
小米汽车传员工3700人 雷军称小米汽车不可能卖9万92023-12-28 19:41:57
国家新闻出版署:认真研究《网络游戏管理办法(草桉徵求意见稿)》关切 实行前进一步完善2023-12-28 19:14:56
印度以打击金融犯罪为由逮捕了两名 vivo 高管2023-12-26 16:49:01
在国外微信收不到国内信息?微信和WeChat将被拆分2023-12-15 10:40:15
苹果iPhone15 系列手机发布最新消息 预计上市发布时间9月2023-08-06 23:21:02
华为将发布鸿蒙HarmonyOS4操作系统 功能五大升级支持设备清单2023-08-06 23:17:37
整治自媒体网红账号 400万粉丝网红发布擦边视频被无限期封禁2023-07-12 09:56:09
网传微信文件传输助手是真人是真的吗?微信官方回应2023-06-27 15:53:32
电信移动送手机成了“信用购”?你上了运营商的贷款套路了吗?2023-06-12 17:18:55
中国电信广东地区崩了无信号 客服回应已在核实处理2023-06-08 15:39:04
消息称小米新能源汽车价格表正讨论定价区间:双版本不同配置,高配或超 35 万元2023-03-06 12:56:03
华为因制裁被传或分拆剥离手机业务? 内部人士回应:可能性不大.2023-03-05 23:26:41
OPPO正式发布安第斯智能云,让终端更智能2023-02-24 16:02:27














