Email: BuddyZhang1 buddy.zhang@aliyun.com

目录


snake 简介

贪吃蛇游戏是一款经典的益智游戏,有 PC 和手机等多平台版本。 既简单又耐玩。该游戏通过控制蛇头方向吃蛋,从而使得蛇变得越来越长。 目前 BiscuitOS 已经支持 Game snake 的移植和实践。开发者 可用通过下面的章节进行 Game snake 的使用。


实践准备


硬件准备

BiscuitOS 对 snake 的实践分别提供了纯软件实践平台和硬件实践 平台,如果开发者需要在硬件平台上实践,那么需要准备本节提到的内容。


硬件平台

开发者需要准备一块 RaspberryPi 4B 开发板,并配有 SD 卡,SD 读卡器, TTL 转 USB 串口一个。


逻辑分析仪

逻辑分析仪能够帮助开发者快速分析数据,测试硬件信号功能,稳定性, 大量数据采样等。逻辑分析仪不是必须的,这里推荐使用 DreamSourceLab 开发的 DSLogic:

DSLogic 逻辑分析仪数据工具:


示波器

示波器能够帮助开发者对硬件总线进行最透彻的分析,示波器测量 的数据具有可靠性高,精度高的特定,是分析 I2C 问题不可或缺的 工具。示波器建议准备,这里推荐使用 DreamSourceLab 开发的 DsCope:

DSCope 示波器采用样图:


软件准备

在进行 snake 开发之前,开发者应该准备 BiscuitOS 的开发 环境,开发者应该根据不同的需求进行准备,如下:


snake 部署

snake 可以在 BiscuitOS 上实践,也可以在实际的工程实践 中使用,开发者可以参考下面的目录进行使用:


BiscuitOS 部署

BiscuitOS 以及完整支持 snake,并基于 Kbuild 编译系统,制作了一套 便捷的 snake 开发环境,开发者可以参考如下步骤进行快速开发。


snake 源码获取

开发者在准备好了 BiscuitOS 开发环境之后,只需按照下面步骤就可以 便捷获得 snake 开发所需的源码及环境, 以 RaspberryPi 4B 硬件 开发环境为例,其他 Linux 版本类似,开发者自行进行修改:

cd BiscuitOS
make RaspberryPi_4B_defconfig
make menuconfig

选择 “Package —>” 并进入下一级菜单

设置 “snake —>” 为 “Y”。设置完毕之后, 保存并退出.


snake 源码编译

snake 的编译很简单,只需执行如下命令就可以快速编 译 (以 RaspberryPi 4B 为例):

cd BiscuitOS/
make
cd BiscuitOS/output/RaspberryPi_4B/package/snake-x.x.x/
make prepare
make download
make
make install
make pack

snake 应用安装

开发者由于采用了 QEMU 方案或者硬件 RaspberryPi 方案进行实践, 应用更新采用不同的方式,两种方案的更新方式如下:

开发者如果使用 QEMU 方案,那么只需执行如下命令就能 进行软件更新:

cd BiscuitOS/
cd BiscuitOS/output/RaspberryPi_4B/package/snake-x.x.x/
make install
make pack

通过上面的命令就可以将软件更新到系统了,接下来就是运行 BiscuitOS.

开发者如果使用是硬件 RaspberryPi 方案,更新的方式多种方式, 可以参考下面方式:


工程实践部署

开发者也可以将 snake 部署到实际的工程项目中,开发者 可以根据 BiscuitOS 中部署的方法加入到工程实践中,请参考 如下章节:

接着使用如下命令 (以 RaspberryPi 4B 为例):

cd BiscuitOS/
cd BiscuitOS/output/RaspberryPi_4B/package/snake-x.x.x/
make download

在该目录下,README 和 Makefile 文档介绍了 snake 的 使用方法,以及 Makefile 编译方法,开发者可以参考以上内容 进行工程部署。


snake 使用

snake 安装完毕之后,启动 BiscuitOS,在 BiscuitOS 上, 当进入到 BiscuitOS shell 中端之后,开发者输入下面的配置贪吃蛇的 运行环境,如下:

export TERM=vt102
export TERMINFO=/usr/share/terminfo
clear
snake-0.0.1

使用 snake 如下:


snake 测试

等待更新


snake 进阶研究

等待更新


附录

BiscuitOS Home

BiscuitOS Catalogue

BiscuitOS Kernel Build

Linux Kernel

Bootlin: Elixir Cross Referencer

捐赠一下吧 🙂

MMU