基于arm的五子棋游戏设计内容摘要:
于 PC 上调试区别很大,必须及时测试。 才能及时发现错误。 2.由于经常使用 C 高级语言,随时定义变量,从而导致了很多错误,带来了不少麻烦。 3.在嵌入式平台上开发,需经常考虑到嵌入式平台的性能。 尽量少用 for循环等复杂度较高的结构。 4. 开发嵌入式软件有基本固定的流程,并需要软硬件平台的相互配合。 设计过程中出现的问题有可能是硬件设置的不合理引起的,也有可能是软件代码设计的不合理 引起的。 5..在嵌入式软件开发过程中,工具链的制作扮演了十分重要的角色。 一个好的开发工具可以加快软件的开发速度,提高软件的质量。 反之,则不但有可能会延长整个产品的开发时间,降低产品质量,严重的话还可能导致整个项目的失败。 6.由于 不太熟悉 ARM9 开发平台及开发环境,时间方面也比较紧张,在开发游戏期间遇到很多困难,不过还好在老师的指导下,加上和同学的交流沟通,最后完成了设计。 参考文献 1 《 EVC 高级编程及其应用开发》 王兵 李存斌 陈鹏 等编著 中国水利水电出版社 2 《 270RP_wince 实验指导书》 嵌入式系统原理与应用课程设计 15 附:设计程序代码 1) LCD 的驱动程序 /*******************************。 * 北京精仪达盛科技有限公司。 * 研 发 部。 *。 *。 *。 * 文件信息。 *。 * 文件名称 :。 * 文件功能 : 该文件为 S3C2410 硬件平台配置具体函数的初始化。 * 补充说明 :。 * 最新版本信息。 * 修改作者 : ARM 开发小组。 * 修改日期 : 2020/01/08。 * 版本声明 :。 * 历史版本信息。 * 文件作者 : ARM 开发小组。 * 创建日期 : 2020/04/20。 * 版本声明 :。 *。 ****************************************************************************/ include linux/ include linux/ include linux/ include linux/ include linux/ include linux/ include linux/ include linux/ include linux/ include linux/ include linux/ include linux/ include linux/ include linux/ include linux/ include linux/ include linux/ include asm/ include asm/ 16 include asm/ include asm/ include asm/ include asm/proc/ include linux/ include asm/ include asm/arch/ include define MVAL (13) define MVAL_USED (0) define M5D(n) ((n) amp。 0x1fffff) // To get lower 21bits define CLKVAL_TFT_640480 (1) define HOZVAL_TFT_640480 (639) define LINEVAL_TFT_640480 (479) define LCD_XSIZE_TFT_640480 (640) define LCD_YSIZE_TFT_640480 (480) define LCDFRAMEBUFFER vLCD_BASE //_NONCACHE_STARTADDRESS define VBPD_640480 ((331)amp。 0xff) define VFPD_640480 ((101)amp。 0xff) define VSPW_640480 ((21) amp。 0x3f) define HBPD_640480 ((481)amp。 0x7f) define HFPD_640480 ((161)amp。 0xff) define HSPW_640480 ((961)amp。 0xff) typedef unsigned long tOff。 define XY2OFF(x,y) (tOff)((tOff)y*(tOff)640 + (x)) define READ_MEM(Off, Data) Data = LCD_READ_MEM(Off) define WRITE_MEM(Off, Data) LCD_WRITE_MEM(Off, Data) define GETPIXEL(x, y) GetPixelIndex(x, y) define SETPIXEL(x, y, c) SetPixel(x, y, c) U32 save_rGPCUP,save_rGPCDAT,save_rGPCCON。 U32 save_rGPDUP,save_rGPDDAT,save_rGPDCON。 U16 LCD_COLOR。 U16 LCD_BKCOLOR。 define LCD_MAJOR 60 /************************************************************************************************************ 函数名称 : void CloseLCD(struct inode * inode, struct file * file) 函数说明 : LCD 关闭 输入参数 : struct inode * inode, struct file * file 输出参数 : 0 ******************************************************************************/ 嵌入式系统原理与应用课程设计 17 static void CloseLCD(struct inode * inode, struct file * file) { printk(LCD is closed\n)。 return。 } /******************************* 函数名称 : static int OpenLCD(struct inode * inode, struct file * file) 函数说明 : LCD 打开 输入参数 : struct inode * inode, struct file * file 输出参数 : 0 ******************************************************************************/ static int OpenLCD(struct inode * inode, struct file * file) { printk(LCD is open\n)。 return 0。 } /******************************* 函数名称 : static int LCDIoctl(struct inode *inode,struct file * file,unsigned int cmd,unsigned long arg) 函数说明 : LCD 控制输出 输入参数 : 输出参数 : 0 *******************************/ static int LCDIoctl(struct inode *inode,struct file * file,unsigned long cmd,unsigned long arg) { struct para { unsigned long a。 unsigned long b。 unsigned long c。 unsigned long d。 }*p_arg。 switch(cmd) { case 0: printk(set color\n)。 Set_Color(arg)。 LCD_FillRect(0,0,639,479)。 printk(LCD_COLOR =%x\n,LCD_COLOR)。 return 1。 case 1: printk(draw h_line\n)。 Set_Color(0xFF)。 LCD_FillRect(0,0,639,479)。 18 Set_Color(0xFF0000)。 p_arg =(struct para *)arg。 LCD_DrawHLine(p_arga,p_argb,p_argc)。 // draw h_line LCD_DrawHLine(p_arga,p_argb+30,p_argc)。 // draw h_line LCD_DrawHLine(p_arga,p_argb+60,p_argc)。 // draw h_line LCD_DrawHLine(p_arga,p_argb+90,p_argc)。 // draw h_line LCD_DrawHLine(p_arga,p_argb+120,p_argc)。 // draw h_line LCD_DrawHLine(p_arga,p_argb+150,p_argc)。 // draw h_line LCD_DrawHLine(p_arga,p_argb+180,p_argc)。 // draw h_line LCD_DrawHLine(p_arga,p_argb+210,p_argc)。 // draw h_line LCD_DrawHLine(p_arga,p_argb+240,p_argc)。 // draw h_line LCD_DrawHLine(p_arga,p_argb+270,p_argc)。 // draw h_line LCD_DrawHLine(p_arga,p_argb+300,p_argc)。 // draw h_line LCD_DrawHLine(p_arga,p_argb+330,p_argc)。 // draw h_line LCD_DrawHLine(p_arga,p_argb+360,p_argc)。 // draw h_line LCD_DrawHLine(p_arga,p_argb+390,p_argc)。 // draw h_line LCD_DrawHLine(p_arga,p_argb+420,p_argc)。 // draw h_line return 1。 case 2: printk(draw v_line\n)。 p_。基于arm的五子棋游戏设计
相关推荐
humb C编译器 Armcpp属于 ARM C++编译器 Tcpp属于 Thumb和 C++共有的 编译器 Armasm属于 ARM和 Thumb共有 的汇编器 : armlink 是 ARM 的 链接器。 该命令 能够对任意数量的 目标文件 进行编译 和 任意数量数据 库文件 的 链接 关系 , 然后得到 可执行 的 文件, 还能是众多 目标文件 指向的目标文件的局部。 [3] :
荡器,使用方便,可靠性高。 只需外接不同阻值和电容值的电阻电容即可实现不同宽度的脉冲输出。 具体电路如图 22 所示。 图 22 发射脉冲产生电路 低通滤波器的设计 超声波在人体内传播的过程中,遇到不同的界面时,就会发生部分反射和部分 透射。 当两个反射的分界面的性质相同时,反射和透射的百分率是相同的。 因此,相同性质的分界面处于相同深度时,反射回来的超声能量是相等的。
aScript 部分 将 构成网页发送到 终端 用户的浏览器 上 [3]。 总的来说, 有下列几处优点: 基于 的个人博客网站设计与实现 4 ( 1) 编辑代码意味着应用程序能 够更快地运行,设计时能够捕捉更多错误在开发阶段。 ( 2) 重要的是它改进了运行时错误的处理,用 trycatch 代码块来进行异常处理。 ( 3) 大量的控件和类库便于应用程序的快速创建,加上在 Web
硬件主要由 GPRS 无线通讯模块、 GPS 全球卫星定位系统模块、 ARM 控制器、按键组成。 (2) 软 件模块:软件模块包括 主程序; GPS 模块,实现定位; GPRS 模块,实现通信;主模块,实现串口初始化等。 可行性分析 经济可行性 实验中选用的 ARM9 芯片为三星公司的 S3C2410X 芯片,这是三星公司推出的一款基于ARM920T 内核的 RISC 处理器
工作的,能显示工作运行主流程 error exit fatal show it 2:更进一显示信息 3:完全跟踪。 Makefile 文件 Makefile 文件为整个工程的管理文件 ,作用是连接各个头文件、 c 文件,最终编译成可执行文件。 由于使用 qt 开发环境,程序可以在 x86 平台上与 arm平台上分别运行。 只需要修改 Makefile 文件中的编译期即可。 地图文件( 文件)
_cells[m][n] = 9。 updatasurround( m1 , n1)。 //左上 updatasurround( m1 , n)。 //上 updatasurround( m1 , n+1)。 //右上 updatasurround( m, n1)。 //左 updatasurround( m, n+1)。 //右 毕业设计说明书 (论文 ) 第 9 页 共 34 页