arm嵌入式课程设计

上传人:第*** 文档编号:56882068 上传时间:2018-10-16 格式:DOCX 页数:38 大小:1.61MB
返回 下载 相关 举报
arm嵌入式课程设计_第1页
第1页 / 共38页
arm嵌入式课程设计_第2页
第2页 / 共38页
arm嵌入式课程设计_第3页
第3页 / 共38页
arm嵌入式课程设计_第4页
第4页 / 共38页
arm嵌入式课程设计_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《arm嵌入式课程设计》由会员分享,可在线阅读,更多相关《arm嵌入式课程设计(38页珍藏版)》请在金锄头文库上搜索。

1、通信与信息工程学院 2015/2016 学年 第一学期 课程设计 实验报告 模 块 名 称 ARM 嵌入式开发 专 业 电子信息工程 学 生 班 级 B120110 学 生 学 号 B12011031 学 生 姓 名 钱 晨 指 导 教 师 余雪勇 设计题目 (1)蜂鸣器测试 (2)流水灯实验 (3)RGB配色原理实验 (4)按键显示6张图片 (5)自动循环显示6张图片 (6)动态图片测试 (7)歌曲测试1 (8)歌曲测试2 任务要求 基本要求基本要求 根据开发板及内容选做 TQ2440 测试程序中的 8 个实验。 提高要求提高要求 根据学生自己掌握嵌入式系统及 linux 操作系统知识,设计

2、一个小 应用程序 A、B 通过 UDP 发送文件,A 发,B 收并保存 实验设备 及软件 硬件:TQ2440 嵌入式实验平台开发板、Windows 系统 PC 机、串 口线、网线、电源、USB 线。 软件:PC 机操作系统、ADS1.2 开发环境。red hat enterprise linux 虚拟机环境。 同组人员 学号及姓 名 B12011032 黄艺 参考文献【1】(英)马修,斯通斯,译者:陈健,宋健建,Linux 程序设计 (第 4 版),北京:人民邮电出版社,2006 【2】薛园园,21 天学通 ARM 嵌入式开发(第二版),电子 工业出版社 实验内容实验内容 一、基本要求 在基本

3、要求中,需要从 11 个测试程序中选做 8 个,以下是对 8 个程序 的实验过程的叙述,包括实验前的硬件连接准备、软件环境配置(串口工具、 dnw、ADS、交叉编译环境等)、每个实验的关键代码以及简单分析。 1、硬件连接 用 USB 线、串口线把开发板连到电脑相应的端口,再将电源线插好。 2、软件环境配置 设置串口工具 SecureCRT 解压在“windows 平台开发工具包”目录下的“SecureCRT.rar”后, 即可使用 SeureCRT, 双击图标,打开 SecureCRT,如下图所示: 点击图中红色方框图标,出现下图的设置窗口: 在 Ptotocol 里面选择 Serial,出现

4、如下图所示的对话框,详细设置 参考下图,超级终端设置部分,不再重复。 注意:Port 选项部分根据您实际使用的端口进行配置,其他选项请一 定配置如下图所示。 配置完毕后,点击上图的“Connect”选项即可连通串口。 DNW 设置 DNW 在这里是我们的.bin 文件下载软件,可实现我们向 flash 或者内 存当中烧写程序的功能。 直接双击“Windows 平台工具DNW”目录下的DNW 软件,出现下图: (1) 点击“Configuration”菜单的“Options”,出现“UARTUSB Options”配置 (2) 配置如下图: 3、实验前准备 串口工具和开发板连接成功后,将选择开关

5、打到norflash,并按一下重启 键,开发板则自动按照选择从norflash 启动。此时,如果 SecureCRT 界面显 示如下,则表示串口工具已经工作正常: 一般出厂光盘里面已经有许多bin 文件了,其中包括我们此处所说的 TQ2440_Test 的bin 文件。我们也可以参考以下步骤,使用ADS1.2 生成自己的“*.bin”文件。 (1)、安装ADS1.2(ARM Developer Suite v1.2,一款针对ARM 的开发套 件),并使用ADS打开天嵌科技的出厂自带的测试程序。 (2)、点击compile 键进行编译,点击make 键生成我们此处所需要的 “*.bin”文件生成

6、自己的 bin 文件之后,就可以使用SecureCRT 配合dnw 来 实现对bin 文件的下载了:操作步骤其实和上面烧写出厂程序一样,在此再详 细叙述一下: a,打开串口工具,使开发板从norflash 启动,再串口工具中出现的信息 中,选择a,进入等待下载状态; b,双击打开dnw,然后选择USB Port Transmit找到相应的需要烧写的 bin 文件,双节即可完成烧写。 (3)、按照以上步骤进行操作,则我们此时基本已经完成了一次完整的程 序的从编译到烧写的过程了。同时,至此天嵌的出厂测试程序已经被我们烧写 到了nandflash 中。此时,我们再将选择开关打到nandflash 中

7、并重启开发板, 使开发板进入我们刚刚烧写的出厂程序中,我们会看到在SecureCRT 界面会出 现以下信息: TQ2440 Test Program B12011031-钱晨 Please input 1-11 to select test! 1 : BUZZER_PWM_Test,蜂鸣器测试 2 : LED_Test,流水灯测试 3 : RGB_Test,RGB配色测试 4 : Lcd_TFT_Test,按键显示6张图片 5 : Lcd_TFT_Test2,自动循环显示6张图片 6 : Lcd_TFT_Test3,测试动态图片 7 : PWM_Music1_Test,测试歌曲1 8 : PW

8、M_Music2_Test,测试歌曲2 9 : RTC_Display,RTC time display 10 : Test_Adc,Test ADC 11 : KeyScan_Test,Test interrupt and key scan 截图如下: 4、 8个测试程序分析 (1)蜂鸣器测试 按“”号,蜂鸣器声音频率逐渐减小,最小 Freq = 10;按“+”号,蜂 鸣器声音频率逐渐增大,最大Freq = 2000。(加号需要按住“shift”不然是 等号)。使用 ADS 打开出厂程序如下: 双击,打开 Main.c 文件,找到while(1)循环,在其中的CmdTip函数上 面右键,Go

9、 to 一下,就转到了: struct void (*fun)(void); char *tip; CmdTip = Temp_function, “Please input 1-11 to select test“ , BUZZER_PWM_Test, “Test PWM“ , RTC_Display, “RTC time display“ , Test_Adc, “Test ADC“ , KeyScan_Test, “Test interrupt and key scan“ , Test_Touchpanel, “Test Touchpanel“ , Lcd_TFT_Test, “Test

10、 TFT LCD“ , Test_Iic, “Test IIC EEPROM“ , PlayMusicTest, “UDA1341 play music“ , RecordTest, “UDA1341 record voice“ , Test_SDI, “Test SD Card“ , Camera_Test, “Test CMOS Camera“, 0, 0; 从下面struct 结构当中去寻找到BUZZER_PWM_Test , 并右键go to , 跳 转到: void BUZZER_PWM_Test( void )这个函数。 void BUZZER_PWM_Test( void ) U

11、16 freq =800;/ lci 1000 ; Uart_Printf( “nBUZZER TEST ( PWM Control )n“ ); Uart_Printf( “Press +/- to increase/reduce the frequency of BUZZER !n“ ) ; Uart_Printf( “Press ESC key to Exit this program !nn“ ); Buzzer_Freq_Set( freq ) ; while( 1 ) U8 key = Uart_Getch(); if( key = + ) if( freq 11 ) freq -

12、= 10 ; Buzzer_Freq_Set( freq ) ; Uart_Printf( “tFreq = %dn“, freq ) ; if( key = ESC_KEY ) Buzzer_Stop() ; return ; 我们仔细地分析过这个函数之后不难发现,在我们if( key = - )的时 候没有问题,是因为此处的减号就是我们键盘上的减号,但是,在我们很多键 盘上面是没有if( key = + )中的这个加号的,我们要想解决这个漏洞有两 个办法:一是,在我们调试出厂程序的时候,使用shfit 加“+”号键来组合实 现对于频率控制时候的增加功能;二是,在这里直接把if( key =

13、 = ),这样 就可以是我们在调试程序的时候更加直观了。 其实仅仅是改变按键,包括频率的变化范围、变化步长都可以在这个函数中 改变。 (2)按键显示六张照片 我们要实现在原厂程序的 Lcd_TFT_Test 实验当中实现切换六张自己喜欢 的图片,我们所需要做的工作如下: a、在TQ_LOGO.c 文件中添加数组: unsigned char tu1_320240 = ; unsigned char tu2_320240 = ; unsigned char tu3_320240 = ; unsigned char tu4_320240 = ; unsigned char tu5_320240 =

14、 ; unsigned char tu6_320240 = ; 添加方法和之前一样,按照之前的方法写在正确的位置就可以了。 b、在LCD_TFT.h 文件中添加对应数组的外部声明: extern unsigned char tu1_320240; extern unsigned char tu2_320240; extern unsigned char tu3_320240; extern unsigned char tu4_320240; extern unsigned char tu5_320240; extern unsigned char tu6_320240; 不添加这些语句的话就不

15、可以在其他文件当中引用这些数组,所以我们当然要 这个外部声明。至于有些同学不懂得这个工作怎么做?对于基础比较差的同学, 建议大家尽快培养一种思路,多去看别人代码,多去看别人的写法,多去模仿 别人的语句来书写自己的语句。添加的位置有之前的数组可以供大家参考,此 处具体做法为: 参考原代码的对应的外部数组声明的位置,我们不妨使用以下代码: “extern unsigned char tu1_320240; extern unsigned char tu2_320240; extern unsigned char tu3_320240; extern unsigned char tu4_320240; extern unsigned char tu5_320240; extern unsigned char tu6_320240;” 覆盖掉原代码段: “#if(LCD_Type = LCDW35) | (LCD_Type = LCDS35) / 3.5 寸屏 extern unsigned char TQ_LOGO_320240;/自定义的图片 #elif(LCD_Type = LCDT35) / 3.5 寸屏 extern unsigned char TQ_LOGO_240320;/自定义的图片 #elif(LCD_Type = LCDW43) / 3.5 寸屏

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号