基于嵌入式系统的2048工程实训报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
工程实践训练
项目名称物联网应用
专业班级自动化1301
姓名黄奎伦
学号************
指导教师汪超,谢一峰(粤嵌)
2016年12月24日
目录
第1章实训目的与任务 (1)
1.1 工程实践训练目的 (1)
1.2 实训项目要求 (1)
第2章知识点总结 (1)
2.1 嵌入式系统 (1)
2.2 Linux操作系统介绍 (1)
2.3 交叉开发 (2)
2.4 SecureCRT的设置与连接 (2)
2.5 C程序的交叉编译及运行 (2)
2.6 函数的定义 (3)
2.7 Linux文件IO函数 (3)
2.8 LCD显示原理 (4)
第3章2048游戏的设计流程图 (4)
第4章相关的c语言游戏程序 (5)
第5章2048游戏展示 (21)
第6章游戏测试 (22)
6.1 测试的意义 (22)
6.2 测试过程 (22)
心得体会 (22)
电气信息学院工程实践训练评分标准 (23)
第1章实训目的与任务
1.1 工程实践训练目的
本次自动化工程实践训练第一部分是实训装置的使用说明,讲述了系统的组成、硬件的特点和技术指标、软件的使用介绍。第二部分是实训项目部分,叙述了实训的原理、步骤及注意事项等。通过对实训装置各个仪表的原理、工作情况及实验原理、软硬件的详细介绍,通过实际操作让我们对复杂过程控制系统实训装置有一个充分的认识,又有益于我们对工业生产现场控制系统的了解。培养学生的工程实践能力,进一步提高学生分析和解决实际问题的能力。
1.2 实训项目要求
轻松的益智游戏对缓解生活压力调节情绪具有重要的意义。《2048》这款小游戏是一款流行的数字游戏,游戏设计初衷是一款益智类的游戏,其特点在于轻松,简单,有趣。因此,开发要求做到各项功能要完备、操作要简便、易学易用。所以本周的工程实训要求自己设计一个2048小游戏,以及学习关于嵌入式的基本入门知识。
第2章知识点总结
2.1 嵌入式系统
嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁减,以适应应用系统对功能、可靠性、成本、体积和功耗等有严格要求的专用计算机系统。
2.2 Linux操作系统介绍
Linux是一套免费使用和自由传播的类UNIX操作系统,其创始人为美国著名黑客 --林纳斯·托瓦兹。它能运行主要的UNIX工具软件、应用程序和网络协议,且支持32位和64位硬件,是一个性能稳定的多用户网络操作系统。
操作系统:操作系统是计算机系统中最基本的系统软件,它用于有效地管理系统资源,并为用户使用计算机提供了便利的环境。
ubuntu是一个基于linux的免费开源桌面PC操作系统。
2.3 交叉开发
一般来说,研发嵌入式产品,由于从产品成本及功能专用性角度出发考虑。嵌入式产品一般只有程序的运行环境,而并没有程序的编译开发环境。
所以,我们一般在通用电脑上用各种编译开发软件把程序编译调试好后,再下载到开发板或相关产品上去运行。
这个过程,我们称之为交叉开发。
2.4 SecureCRT的设置与连接
(1)获取连接上的端口号
用串口线连接好开发板后,启动开发板。
在设备管理器中,查找识别出的端口。
若不能正确识别端口(有感叹号),则需要安装驱动。
(2)SecureCRT的设置
点击快速连接,并进行设置
a.协议: Serial
b.端口: 你电脑识别出的端口号
c.波特率: 115200
d.把数据流控制中的RTS/CTS(R)勾去掉
其它保持默认设置
2.5 C程序的交叉编译及运行
由于ARM处理器与Inter处理器其设计架构有本质区别。所以要在arm开发板上运行的程序,则必须要用专用的编译器来编译。
(1)在文本编辑软件中编写好C源代码文件,并保存到共享文件夹中。
===> hello.c
(2)在Ubuntu系统的共享目录中,用arm-linux-gcc编译器对hello.c进行编译,使生成一个可执行程序。
arm-linux-gcc hello.c –o hello
===> hello
(3)下载到开发板中
rz
(4)运行hello这个程序
chmod +x hello
./hello
2.6 函数的定义
返回类型函数名(输入参数列表)
{
函数语句;//指令序列
。。。
}
"返回类型":函数返回值(return语句后面那个表达式值的类型)一般是"单值"类型,函数也可以没有返回值(void)
"函数名":C语言标识符。把一个名字与特定的功能模块相关联
"输入参数列表":功能模块的输入。格式如下:
参数类型参数名1 ,参数类型2 参数2,……函数也可以没有参数。
主调函数:调用其他函数的函数
被调函数:被别人调用的函数
“实际参数”:
在函数调用过程中,主调函数传递给被调函数的输入参数值,我们称之为“实际参数”,简称”实参”。
“形式参数”:
函数定义时,参数列表中的参数。我们称之为”形式参数”,简称”形参”。
2.7 Linux文件IO函数
#include
#include
#include
open用来打开一个文件
int open(const char *pathname, int flags)
pathname: 要打开或创建的文件名(带路径名)
flags: 打开标志。告诉系统,是以何种方式打开这个文件
O_RDONLY : read only
O_WRONLY : write only
O_RDWR : read/write
以上三个标志选其一。
返回值:
如果成功返回文件描述符(>0,后续所有对文件的操作都必须
通过它,因为它代表这个文件。)
失败返回-1, 并且errno被设置。