树莓Pi4的第一段代码需要用汇编语言编写内核用C语言编写
CEO自己写的代码是什么来自RealVNC的CEO表示,自己做了很多年的经理,对自己的代码并不熟悉,于是决定恢复程序员的工作,写一些草莓派的代码
结果他不小心成了技术论坛《黑客新闻》的热门人物。
这串代码到底是什么打开CEO的推特,是个小游戏
我花了一年时间写这个当然,这个游戏是CEO白手起家创建的,连系统启动文件都是他自己写的
通常我们使用树莓Pi的时候,会把操作系统写在SD卡上事实上,树莓Pi可以从头开始做一台裸机
所谓裸机,就是没有操作系统的计算机,直接在逻辑硬件上执行指令这位首席执行官说,建立一个裸机系统是他童年的抱负
于是就有了这个字符串,从零开始,成功运行Hello World,然后运行小游戏程序。
从引导硬件到Hello World。
目前,该项目已完成12章,仍在GitHub上更新截至目前,已获得1.6k星
项目包括:启动,构建基础代码,运行HelloWorld,调用蓝牙音响硬件等。
写代码前,准备好树莓Pi 4:HDMI线,微SD卡,USB转TTL线的外围硬件。
由于编译过程是在计算机上进行的,程序是在草莓馅饼上运行的,所以应该在计算机上安装交叉编译器。
接下来开始引导树莓皮开始:
树莓Pi 4的第一段代码需要用汇编语言编写,然后内核用C语言编写。
编写启动代码后,制作makefile进行交叉编译。
CFILES=$ FILES=$GCCFLAGS=—Wall—O2—ffreestanding—nostdinc—nostdlib—nostartfilesGCCPATH=././gcc—arm—10.3—2021.07—x86 _ 64—aarch 64—none—elf/binalll : cleankernel 8 . imgboot . o : boot . s $/aarch 64—none—elf—gcc $—cbootS—oboot.o%.o:%
运行make,构建内核镜像kernel8.img,将镜像文件复制到SD卡,即可启动树莓派。
但是树莓Pi在此操作后只能运行启动画面,之后只剩下一个空黑屏。
然后就是树莓Pi程序员熟悉的Hello World程序,但是如何在黑屏机器上运行呢这需要UART串行通信
刚准备好的USB转TTL线就在这个时候投入使用了。
TTL RX引线连接到GPIO的TXD引脚,TX引线连接到GPIO的RXD引脚,地线连接到接地引脚。
电脑上也要安装PuTTY,链接模式选择Serial,速度设置为115200。
#包含io . hvoid mainuart _ init,uart_writeText,而,
这里的头文件io.h也不存在,需要自己定义。
但是此时树莓Pi仍然没有字体文件,也就是屏幕无法正常显示英文字母,需要进行自定义经过一系列操作,CEO终于成功展示了你好世界!在屏幕上和几个几何图形
编程不止于此,CEO后来实现了蓝牙信息传输和音频文件播放他还表示,该项目仍在持续更新中
目前他的GitHub主页上只有一个项目第一章是他在疫情隔离期间完成的,之后项目就蛰伏了
不过从今年的活动来看,他今年又恢复了项目,开始认真写代码。
点击打开GitHub链接:
高端男人网郑重声明:此文内容为本网站转载企业宣传资讯,目的在于传播更多信息,与本站立场无关。仅供读者参考,并请自行核实相关内容。