背景
嵌入式linux课设
基本信息
-
项目名称:在ARM9开发板上实现井字棋游戏
-
运行说明:代码经测试可在以下环境中运行
-
系统:Ubuntu18.04.2LTS
-
开发板:FriendlyARM Cortex-A9开发板
-
编译器:gcc version 4.4.3 (ctng-1.6.1)
运行步骤
-
sudo ifconfig xxx 192.168.1.200
将PC端有线网IP地址改为与开发板相同的子网下,“xxx”为需要更改的端口名字。 -
telnet 192.168.1.230
telnet连接开发板,不同开发板IP地址不同,此处仅作参考。 -
mount -o nolock -t nfs 192.168.1.200:/home/stk-yaoyao/nfs /mnt
nfs挂载,将PC端文件夹/nfs挂载到开发板mnt/,这样在/nfs中编译的代码在/mnt中就可以运行了 。 -
cd mnt/
-
cd Arm_Cheese/
-
上面两条指令运行于开发板终端。
-
cd nfs/
-
cd Arm_Cheese/
-
arm-linux-gcc Arm_cheese.c -o Arm_cheese
-
上面三条指令运行于PC终端,每次修改源码都需要跑一遍9。
-
./Arm_Cheese
开发板终端运行编译好的代码,同理,每次修改源码11要再跑一遍。 -
开发板出现井字棋棋盘,点击键盘上数字键盘不同数将在棋盘上同样的位置出现蓝色或红色的棋子,直到一方三子成线或棋盘塞满,游戏结束。终端显示两名玩家实时分数,并提示是否再来一局,用while循环重复。
-
实际运行时开发板图
-
实际运行时PC开发板终端图
源代码(Arm_Cheese.c)
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <linux/fb.h>
#include <sys/mman.h>
#include <sys/ioctl.h>
#include "linuxbmp.h"
#define RED_COLOR 0x00FF0000
#define GREEN_COLOR 0x0000FF00
#define BLUE_COLOR 0x000000FF
#define len 800
#define wid 1280
char *fbp = 0;
/*
* framebuffer application code, the start code of Linux GUI application
* compile :
* $/usr/local/arm/4.6.5/bin/arm-linux-gcc -o Arm_cheese Arm_cheese.c
* $cp Arm_cheese /tftpboot/examples
* run in target:
* #mount 192.168.1.200:/tftpboot/ /mnt/nfs
* #cd /mnt/nfs/examples
* #./Arm_