树莓Pi4的第一段代码需要用汇编语言编写内核用C语言编写

CEO自己写的代码是什么来自RealVNC的CEO表示,自己做了很多年的经理,对自己的代码并不熟悉,于是决定恢复程序员的工作,写一些草莓派的代码 结果他不小心成了技术论坛《黑客新闻》的热门人物。 这串代码到底是什么打开CEO的推特,是个...

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链接:

高端男人网郑重声明:此文内容为本网站转载企业宣传资讯,目的在于传播更多信息,与本站立场无关。仅供读者参考,并请自行核实相关内容。

关键词:树莓Pi4的第一段代码需要用汇编语言编写内核用C语言编写
分享:
上一篇:2021全球生态文明建设推进论坛9日在云南省大理白族自治州举行
下一篇:返回列表

男神看点

发表评论