版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式系统设计试验汇报班级:0612学号:061208姓名:李晓虹成绩:指导教师:武俊鹏、刘书勇1.试验一1.1 试验名称博创UP-3000试验台基本构造使用措施1.2 试验目的1.熟悉嵌入式系统开发式流程概述。2.熟悉UP-net3000试验平台的关键硬件电路和外设。3.熟悉ARMJTAG的安装与使用。1.3 试验环境硬件:ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上、串口线。软件:PC机操作系统win98、Win或WinXP、ARMSDT2.51或ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序。1.4试验内容及规定1.熟悉嵌入式系统开发式流程概述。2.熟悉UP-net3000试验平台的关键硬件电路和外设。3.熟悉ARMJTAG的安装与使用。1.5试验设计与试验环节新建超级终端选择ARM开发试验台串口。完毕新建超级终端的设置后来,可以选择超级终端文献菜单中的保留,将目前设置保留为一种特定超级终端到桌面上,以备后用。用串口线将PC机串口和平台UART0对的连接后,就可以在超级终端上看到程序输出的信息了。启动开发板,按住任意键,使开发板进入BIOS设置状态。在超级终端的界面上,显示BIOS版本信息,以及对应的测试指令。操作时,要在PC机上输入小写的字母快捷键,进入到对应的功能中去。按照超级终端上的提醒信息,进行功能的测试。1.6试验过程与分析本次试验操作起来并不困难,由于本次试验属于验证型试验,按照试验资料所给的提醒信息,以上面的环节,即可得到试验的成果。进入到BIOS界面后,按照超级终端上的提醒信息来进行功能1.7试验成果总结在试验过程中,我们进行的很顺利,没有碰到什么问题,在超级终端界面,按提醒的快捷键来测试对应的功能。如e:测试由ZLG7289驱动的LED显示,共分3步,请看超级终端提醒按任意键继续,同时观测LED的变化,最终返回主菜单。b:引导FLASH中的应用程序system.bin。执行该功能将退出BIOS状态,把控制交给应用程序,等。1.8心得体会通过本次试验,我对于试验环境有了初步的理解与认识,对于嵌入式也有了更深一步的认识。同步试验过程中,我学会了第一次接触的超级终端的使用措施,并可以纯熟掌握,懂得其工作的原理。2.试验二2.1 试验名称ADS1.2软件开发环境使用措施2.2 试验目的1.熟悉ADS1.2开发环境,学会ARM仿真器的使用。2.使用ADS编译、下载、调试并跟踪一段已经有的程序,理解嵌入式开发的基本思想和过程。2.3 试验环境硬件:ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上、串口线。软件:PC机操作系统win98、Win或WinXP、ARMSDT2.51或ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序。2.4试验内容及规定掌握AXDDebugger的使用措施,学习串行通讯原理,理解串行通讯控制器,阅读ARM芯片文档,掌握ARM的UART有关寄存器的功能,熟悉ARM系统硬件的UART有关接口。编程实现ARM和计算机之间的串行通讯:ARM监视串行口;将接受到的字符再发送给串口(计算机与开发板是通过超级终端通讯的);即按PC键盘通过超级终端发送数据,开发板将接受到的数据再返送给PC,在超级终端上显示。2.5试验设计与试验环节(1)新建工程,选择菜单中的Project
|
Add
Files
把和工程有关的所有文献包括init和startup
子目录加入到工程中。ADS1.2
不能自动按文献类别对这些文献进行分类,需要的话可以执行菜单Project
|
Create
Group
创立文献组,然后分别将不一样类的文献加入到不一样的组,以以便管理。(另一种措施是,在新建工程时ADS
创立了和工程同名的目录,在该目录下按类别创立子目录并寄存工程文献。选中所有目录拖动到任务栏上的ADS
任务条上,不要松开鼠标当ADS
窗口恢复后再拖动到工程文献窗口,松开鼠标。这样ADS
将以子目录名建立同名文献组并以此对文献分类。)
(2)双击Main.c
打开该文献,可以看到Main()函数的内容如下所示。
int
main(void)
{
ARMTargetInit();
//开发版初始化
LCD_Init();
LCD_ChangeMode(DspTxtMode);//转换LCD
显示模式为文本显示模式
LCD_Cls();//文本模式下清屏命令
LCD_printf("Hello
world!\n");//向液晶屏输出
Uart_Printf("\nHello
world!\n");//向串口输出
while(1);
}
(3)运用上个试验中的通讯软件超级终端来将生成的文献放到嵌入式开发平台中。(4)重启试验台即可看到LCD上显示的"Hello
world!"2.6试验过程与分析新建工程,然后将所需的工程文献加载打工程目录下,编译生成system.bin文献,将文献导入到试验台中,然后重启试验台,即可得到试验成果。2.7试验成果总结超级终端输出某些相对应的代码的执行成果。熟悉了ADS1.2开发环境以及学会了ARM仿真器的基本使用。使用ADS编译、下载、调试并跟踪一段已经有的程序,并大体理解了嵌入式开发的基本思想和过程。心得体会通过本次试验,我对于嵌入式开发的基本思想有了一定的理解,嵌入式开发采用的是交叉编译环境,因此在某些方面会有所限制。对于初学者来说,通过一两次试验成果的演示就可以对试验台有深入的理解不也许的,因此在后续的试验中,我要好好努力,认真做好课程试验为后续的课程设计试验打下基础。3.试验三3.1 试验名称键盘及LED试验3.2 试验目的1.学习键盘及LED驱动原理。2.掌握ZLG7289芯片串行接口的使用措施,用ZLG7289芯片驱动17键的键盘和8个共阴极LED。3.3 试验环境硬件:ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上、串口线。软件:PC机操作系统win98、Win或WinXP、ARMSDT2.51或ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序。3.4试验内容及规定编写出一段程序,规定能在LED上显示出小键盘上按下的4位数字。3.5试验设计与试验环节1.新建工程,将“Exp3键盘及LED驱动试验”中的文献添加到工程。2.定义ZLG7289寄存器(ZLG7289.h)。3.编写ZLG7289驱动函数(ZLG7289.c)。4.定义键盘映射表:(Keyboard16.c)。5.定义键值读取函数。6.编写主函数,将按键值在数码管上显示。3.6试验过程与分析本次试验中,我们根据已经有试验,进行调试,查看程序的运行效果。根据效果,我们又回到试验代码中,然后对代码进行深入的研究,查看每部分功能所对应的代码,通过不停的调试编译,我们最终对该试验用到的代码有了更深的认识。从而可以按照规定,完毕我们自己试验。3.7试验成果总结通过小键盘的按键,键值可以在LED上显示出来。并学习了键盘及LED驱动原理以及掌握了ZLG7289芯片串行接口的使用措施,用ZLG7289芯片驱动17键的键盘和8个共阴极LED。3.8心得体会在这次试验中让我对嵌入式的试验箱有了深入的认识,并且深入理解的ARM试验的原理和试验状况,可以对源代码进行对的了理解。并且能修改这些源代码可以使其工作在自己的预期的工作状态和输出自己想要的成果4.试验四4.1 试验名称电机转动控制及中断试验4.2 试验目的1.熟悉ARM自身自带的六路即三对PWM,掌握对应寄存器的配置。2.编程实现ARM系统的PWM输出和I/O输出,前者用于控制直流电机,后者用于控制步进电机。3.理解直流电机和步进电机的工作原理,学会用软件的措施实现步进电机的脉冲分派,即用软件的措施替代硬件的脉冲分派器。4.理解44B0处理器上中断的应用。5.学习在44B0处理器上中断的应用。6.深入熟悉平台外围硬件及其驱动程序的编写。4.3 试验环境硬件:ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上、串口线。软件:PC机操作系统win98、Win或WinXP、ARMSDT2.51或ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序。4.4试验内容及规定编程实现ARM芯片的一对PWM输出用于控制直流电机的转动,通过A/D旋钮控制其转动方式。编程实现ARM的四路I/O通道,实现环形脉冲分派用于控制步进电机的转动,通过A/D旋钮控制步进电机的转角。通过键盘控制直流电机与步进电机的切换。设置并启动定期器。设置中断,编写定期器中断服务程序,对中断次数进行计数并在LED上显示成果。4.5试验设计与试验环节添加并打动工程。进行直流电机初始化设置和代码编写。进行步进电机初始化设置和代码编写。对Timer3编程,编写定期器中断服务程序,完毕对中断次数的计数。编写LED计数显示函数,使LED能对的计数并显示0-9999。编写中断初始化函数和中断响应函数。终端下载测试。4.6试验过程与分析对直流电机进行编程和测试,掌握转速和旋转方向的设定措施。对步进电机进行编程和测试,掌握ARM的四路I/O通道,实现环形脉冲分派用于控制步进电机的转动,通过A/D旋钮控制步进电机的转角。对主函数进行编程,用键盘响应直流电机与步进电机的切换控制。掌握中断有关语句的应用,弄清定义的中断向量、中断向量号,编写中断响应函数,并完毕中断响应控制。4.7试验成果总结实现了直流电机与步进电机的基本设置和控制,可以通过键盘控制电机之间的切换。完毕了中断的响应和定期中断。在通过本次试验,我初步理解的试验的目的所在,并且运用所给的源代码可以,调试出所预期的成果,并且可以根据已给的源代码修改得到所需的成果。4.8心得体会通过本次试验,掌握了电机工作原理,理解了中断的意义和实现措施,实现了简朴了中断处理程序,愈加理解了中断的意义。5.试验五5.1 试验名称LCD驱动控制试验及触摸屏驱动试验5.2 试验目的1.理解触摸屏的基本概念与原理。2.理解触摸屏与LCD的关系。3.编程实现对触摸屏的控制。5.3 试验环境硬件:ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上、串口线。软件:PC机操作系统win98、Win或WinXP、ARMSDT2.51或ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序。5.4试验内容及规定理解触摸屏基本原理,理解对触摸屏进行输出标定、与LCD显示屏配合的过程。通过编程实现触摸两点自动在两点间划直线。通过编程实目前触摸屏上动态画出曲线。5.5试验设计与试验环节添加并打动工程。在头文献中定义宏和常量及驱动函数。校准触摸屏坐标,进行坐标转换。实现触屏取点并显示功能。实现两点间自动划线功能。实现触摸屏动态划线功能。5.6试验过程与分析在定义触屏响应功能的函数中对点击触屏进行响应函数的修改,在其中添加修改点颜色的函数,修改得到的触摸点的颜色,并显示在LCD上。获取第一种点坐标并储存,获取第二个点坐标并储存,编写划线函数,获得两点间直线上所有点的坐标,并对其变化颜色,显示在LCD上,即完毕划直线功能。将划线函数应用到响应触屏移动消息的函数下,即可对持续获得的触摸坐标进行持续的画短直线,连接成曲线,完毕动态划线功能。5.7试验成果总结理解了触摸屏响应动作消息的函数的工作原理,通过修改实现了触摸屏响应不一样动作进行画点、划线、动态划线的功能。5.8心得体会通过本次试验,使我理解了怎么在一块嵌入式试验箱通过编程控制试验箱上得硬件,例如在本次试验中的控制LCD屏幕就是,在屏幕上点击,然后得到在LCD屏上点击的位置。本次试验初步完毕了试验成果。6.试验六6.1 试验名称UCOS-Ⅱ在ARM微处理器上的裁剪6.2 试验目的1.理解UCOS-Ⅱ内核的重要构造。2.掌握UCOS-Ⅱ裁剪的基本原理与嵌入式编程实现措施。3.学习怎样根据详细状况对UCOS-Ⅱ操作系统进行裁剪。4.通过对UCOS-Ⅱ配置文献(OS_CFG.H)中有关的配置常量进行设置,实现对UCOS-Ⅱ的裁剪。6.3 试验环境硬件:ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上、串口线。软件:PC机操作系统win98、Win或WinXP、ARMSDT2.51或ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序。6.4试验内容及规定对UCOS-Ⅱ内核进行裁剪并移植到ARM7微处理器上。6.5试验设计与试验环节编辑OS_CFG.H文献。OS_CFG.H文献中的内容可分为两大类:服务功能的配置和数据构造的配置。一.服务功能的配置:根据程序中的实际状况,保留自己要用的系统服务功能,删除自己不需要的服务功能。进行合理配置后,是我们自己系统的目的代码比较紧凑,从而减少了对程序代码存储空间的规定。假如代码存储空间足够大的话,那就将所有系统服务功能所有配置为1。不需要考虑功能裁剪。二.数据构造功能的配置:与任务有关的数据构造1.OS_MAX_TASKS作用:设置顾客程序中可以使用的最多任务数。阐明:该值不能超过62.举例:若程序中用到了三个任务,则该值的最小值2.OS_LOWEST_PRIO作用:设置程序中最低任务的优先级。阐明:设定该值可以节省操作系统使用RAM的空间。任务的最低优先级和最大任务数是没有直接关系的。6.6试验过程与分析按照试验指导书上的环节进行,得到了规定的系统。6.7试验成果总结按照规定进行了裁剪,得到了满足需要又紧凑的应用软件系统。6.8心得体会理解了UCOS-Ⅱ内核的重要构造,掌握了UCOS-Ⅱ裁剪的基本原理与嵌入式编程实现措施,学会了怎样根据详细状况对UCOS-Ⅱ操作系统进行裁剪7.试验七7.1 试验名称ucos-II移植试验7.2 试验目的1.理解UCOS-Ⅱ内核的重要构造。2.掌握将UCOS-Ⅱ内核移植到ARM7处理器上的基本措施。7.3 试验环境硬件:ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上、串口线。软件:PC机操作系统win98、Win或WinXP、ARMSDT2.51或ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序。7.4试验内容及规定1.将UCOS-Ⅱ内核进行移植到ARM7微处理器上。2.编写两个简朴任务,在超级终端上观测两个任务的切换。7.5试验设计与试验环节1.该试验的文献分为两类,其一是STARTUP目录下的系统初始化、配置等文献,其二是uCOS-II的所有源码,arch目录下的3个文献是和处理器架构有关的。2.设置os_cpu.h中与处理器和编译器有关的代码3.用C语言编写6个操作系统有关的函数(OS_CPU_C.C)4.用汇编语言编写4个与处理器有关的函数(OS_CPU.ASM)5.编写一种简朴的多任务程序来测试一下移植与否成功。为了使uCOS-II可以正常运行,除了上述必须的移植工作外,硬件初始化和配置文献也是必须的。STARTUP目录下的文献还包括中断处理,时钟,串口通信等基本功能函数。在文献main.c中给出了应用程序的基本框架,包括初始化和多任务的创立,启动等。任务创立措施如下:①在程序开头定义任务堆栈,任务函数申明和任务优先级②在main()函数中调用OSStart()函数之前用下列语句创立任务③编写任务函数内容6.编译并下载移植后的uCOS-II所有的源代码都准备好后就可以进行编译了。在ADS环境下需要设置工程的访问途径。从菜单Edit|DebugSettings进入设置对话框,在Target|AccessPaths中选择UserPaths并选上Alwayssearchuserpaths。然后点Add按钮添加途径ucos-ii和arch。这重要是设置编译器处理文献包括时的搜索范围。按照试验一的措施可以对编译后的代码进行调试或下载到平台的电子硬盘中。这个试验从构造上看和其他的试验没有多大区别,同样生成可执行文献system.bin。可以在平台BIOS中激活电子硬盘,然后把system.bin拷贝进去,重启平台,然后在超级终端上观测成果。7.6试验过程与分析操作系统有关的函数:(1)OSTaskStkInitOSTaskCreate()和OSTaskCreateExt()通过调用OSTaskStkInit()来初始化任务的堆栈构造。因此,堆栈看起来就像刚发生过中断并将所有的寄存器保留到堆栈中的情形同样。图12A-2显示了OSTaskStkInt()放到正被建立的任务堆栈中的东西。这里我们定义了堆栈是从上往下长的。在顾客建立任务的时候,顾客传递任务的地址,pdata指针,任务的堆栈栈顶和任务的优先级给OSTaskCreate()和OSTaskCreateExt()。一旦顾客初始化了堆栈,OSTaskStkInit()就需要返回堆栈指针所指的地址。OSTaskCreate()和OSTaskCreateExt()会获得该地址并将它保留到任务控制块(OS_TCB)中。(2)OSTaskCreateHook当用OSTaskCreate()和OSTaskCreateExt()建立任务的时候就会调用OSTaskCreateHook()。该函数容许顾客或使用移植实例的顾客扩展uCOS-II功能。当uCOS-II设置完了自己的内部构造后,会在调用任务调度程序之前调用OSTaskCreateHook()。该函数被调用的时候中断是严禁的。因此顾客应尽量减少该函数中的代码以缩短中断的响应时间。当OSTaskCreateHook()被调用的时候,它会收到指向已建立任务的OS_TCB的指针,这样它就可以访问所有的构导致员了。函数原型:voidOSTaskCreateHook(OS_TCB*ptcb)(3)OSTaskDelHook当任务被删除的时候就会调用OSTaskDelHook()。该函数在把任务从uCOS-II的内部任务链表中解开之前被调用。当OSTaskDelHook()被调用的时候,它会收到指向正被删除任务的OS_TCB的指针,这样它就可以访问所有的构导致员了。OSTaskDelHook()可以来检查TCB扩展与否被建立(一种非空指针)并进行某些清除操作。函数原型:voidOSTaskDelHook(OS_TCB*ptcb)(4)OSTaskSwHook当发生任务切换的时候就会调用OSTaskSwHook()。OSTaskSwHook()可以直接访问OSTCBCur和OSTCBHighRdy,由于它们是全局变量。OSTCBCur指向被切换出去的任务OS_TCB,而OSTCBHighRdy指向新任务OS_TCB。注意在调用OSTaskSwHook()期间中断一直是被严禁的。因此顾客应尽量减少该函数中的代码以缩短中断的响应时间。函数原型:voidOSTaskSwHook(void)(5)OSTaskStatHookOSTaskStatHook()每秒钟都会被OSTaskStat()调用一次。顾客可以用OSTaskStatHook()来扩展记录功能。例如,顾客可以保持并显示每个任务的执行时间,每个任务所用的CPU份额,以及每个任务执行的频率等。函数原型:voidOSTaskStatHook(void)(6)OSTimeTickHookOSTimeTickHook()在每个时钟节拍都会被OSTaskTick()调用。实际上OSTimeTickHook()是在节拍被uCOS-II真正处理,并告知顾客的移植实例或应用程序之前被调用的。函数原型:voidOSTimeTickHook(void)7.7试验成果总结在超级终端上输出轮番交替runtask1和runtask2,表明系统正在不停交替运行2个任务。7.8心得体会在这个试验中我们初步理解和测试了试验的内容和源代码试验成果基本上符合预期的规定。理解了µC/OS-II内核的重要构造和ARM7处理器构造,掌握了将µC/OS-II内核移植到ARM7处理器上的基本原理与嵌入式编程实现措施。8.试验八8.1 试验名称各接口模块互相衔接综合试验8.2试验目的运用前7次试验所学的知识,综合设计一种至少具有5个模块的试验。8.3 试验环境硬件:ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上、串口线。软件:PC机操作系统win98、Win或WinXP、ARMSDT2.51或ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序。8.4试验内容及规定回忆串口、键盘、LED接口、A/D、电机转动、定期器中断、LCD接口及触摸屏驱动控制接口模块驱动设计及开发措施。综合应用以上所有或者部分模块,实现一种嵌
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论