嵌入式实验报告计算机专业类课程_第1页
嵌入式实验报告计算机专业类课程_第2页
嵌入式实验报告计算机专业类课程_第3页
嵌入式实验报告计算机专业类课程_第4页
嵌入式实验报告计算机专业类课程_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机专业类课程试验汇报日期:

电子科技大学实验报告一、试验室名称:计算机学院软件试验室二、试验项目名称:试验系统介绍及入门汇编程序实现stycopy复制学号三、试验课时:4课时四、试验原理NUC951开发板介绍:NUC951开发板MCU为基于ARM企业ARM926EJS关键32位低功耗RISC处理器,带MMU,提供8K-byte指令Cache和8K-byte数据Cache,内置10/100M以太网控制器。NUC951开发板外观如图所表示。ADS1.2集成开发环境介绍:ADS是ARM企业集成开发环境软件,他前身是SDT,SDT是ARM企业曾经开发环境软件,现在SDT早已经不再升级。ADS包含了四个模块分别是:SIMULATOR;C编译器;实时调试器;应用函数库。ADS编译器调试器较SDT都有了非常大改观,ADS1.2提供完整WINDOWS界面开发环境。C编译器效率极高,支持c以及c++,使工程师能够很方便使用C语言进行开发。提供软件模拟仿真功效,使没有Emulators学习者也能够熟悉ARM指令系统。ADS1.2提供强大实时调试跟踪功效,片内运行情况尽在掌握。ADS1.2需要硬件支持才能发挥强大功效。ADS由命令行开发工具,ARM实时库,GUI开发环境(CodeWarrior和AXD),适用程序和支持软件组成。有了这些部件,用户就能够为ARM系列RISC处理器编写和调试自己开发应用程序了。uC/OS-II介绍:uC/OS-II是一个抢占式实时多任务内核。uC/OSuC/OSuC/OS-II是用ANSIANSIANSIC语言编写,语言编写,包含一小部分汇编语言代码,使之能够提供给不一样架构微处理器用。至今从8位到64位,uC/OSuC/OSuC/OS-II已经在40多个不一样架构微处理器上使用。在各个领域中使用uC/OSuC/OSuC/OS-II,这些领域包含:摄影机行业、航空医疗器械、网络设备自动提款机以及工业人等。uC/OSuC/OSuC/OS-II全部以源代码方式提供给读者,大约有550055005500行。CPU相关部分使用相关部分使用是针对ARMCortexARMCortexARMCortexARMCortexARMCortex-M0关键代码。即使关键代码。即使uC/OSuC/OSuC/OSuC/OS-II能够在PC机上开发和测试,不过能够很轻易地移植到不一样架构嵌入式微处理器上。五、试验目标1.经过此试验系统,读者能够了解嵌入式实时操作系统uC/OS-II内核机制和运行原理。本试验系统展示了uC/OS-II各方面管理功效,包含信号量、队列、内存、时钟等。在各个试验中详细介绍了uC/OS-II相关函数。读者在做试验同时能够结合理论知识加以分析,了解各个函数作用和嵌入式应用程序设计方法,最终对整个uC/OS-II和嵌入式操作系统应用有较为清楚认识。掌握嵌入式软件开发环境建立过程;初步掌握嵌入式程序编译和调试过程。2.编写一个完整汇编函数,实现strcopy复制学号,并在以上搭成环境上运行,达成现学现用目标。六、试验内容将嵌入式软件开发环境搭建起来,并运行试验提供用例程序;编写一个完整汇编函数,实现strcopy复制学号,并在以上搭成环境上运行。七、试验器材(设备、元器件)NUC951开发板、ADS1.2、J-Link调试器、BSP、PC一台八、试验步骤ADS工程建立:在CodeWarrior工具栏"File"菜单中选择"New"菜单。这么就会打开一个对话框,如图所表示。选择默认标签project下第一个选项ARMExecutableImage,在Projectname中填写工程名称,Location中填写工程保留路径,点击“确定”即可创建对应工程。创建工程文件完成后,会在CodeWarrior窗口中打开创建工程*.mcp,有三个标签,默认第一个标签file,如图所表示。单击工具栏NewTextFile按钮,能够新建文件,编写试验代码,如图。试验代码编辑完成后,选择File-Save或者单击工具栏上图标保留为指定格式,如图。此时在*.mcp窗口中点击右键,选择AddFiles„选项,在弹出框中选择保留程序文件,然后单击确定添加,在弹出对话框中勾选DebugRel选项,如图所表示。配置、编译和链接工程:在进行编译和链接前,首先进行生成目标配置。选择Edit\DebugRelSettings命令或直接单击工具栏上DebugRelSettings图标,弹出DebugRelSettings窗口,能够对生成目标文件进行配置,如图所表示。TargetSetting选项:在这个选项中,我们仅需要将Post-Linker选项设置为ARMfromELF。选择在链接完成后,还要对输出文件进行操作。通常情况下,希望生成一个能够烧写到Flash中去二进制代码(bin文件),所以在这里选择ARMfromELF,表示在链接生成映像文件后,再调用FromELF命令将含有调试信息ELF格式映像文件转换成包含但不限于plainbinary(BIN格式映像文件)格式文件。LanguageSettings选项:在本工程源代码中,使用到了ARM汇编语言和C语言,而这些源代码在编译过程中,都必须与对应处理器型号对应。所以,需要将ARMAssembler和ARMCCompiler这两个选项中Target下ArchitecutreorProcessor选择为ARM926EJS。其余保持为默认值即可。Linker选项:在TargetSettingPanels列表框中选择Linker选项,再选择其下ARMLinker,即可得到连接器设置选项对话框。如图1-17所表示,该对话框中选项较多,而且对最终生成目标文件有直接影响。选择Simple模式,ROBase默认值为0x8000,采取默认设置。R0Base地址是开发板上SDRAM真实地址,是由系统硬件决定。在Options选项卡中,需要注意是Imageentrypoint文本框,它指定了映像文件初始入口点地址值,当映像文件被加载程序加载时,加载程序会跳转到该地址处开始执行。这里填入值与ROBase中地址值相同0x8000。ARMfromELF选项:在该对话框中,我们能够指定经过ARMfromELF工具将.AXF文件转化为那种格式文件,以及转化后得到文件名称及保留路径。在outputformat下拉列表框中,我们使用默认值Plainbinary,表示生成二进制格式可执行文件;在Outputfilename文本框中,我们能够重新指定生成二进制文件名称及保留路径,假如不填写,表示默认生成在工程路径下..\*_Data\DebugRel中。到此,工程文件设置完成,点击OK保留设置。接下来单击Project下make即可完成对工程编译和链接,如图所表示。在工程Demo所在目录下,会生成一个名为Demo_data目录,在这个目录下不一样类别目标对应不一样目录。在本例中因为我们使用是DebugRel目标,所以生成最终文件都应该在该目录下。进入到DebugRel目录中去,读者会看到编译链接后生成映像文件和二进制文件,映像文件用于调试,二进制文件能够直接烧写到FLASH中运行。调试运行工程:将J-Link调试器一端经过USB线连接到PC,另一端连接到NUC951开发板JTAG口。在CodeWarrior工程窗口中单击debug按钮开启AXD进行调试,如图所表示。(注意:因为Win7系统兼容性问题,可能会报错误“errorstartingexternalprocess,Processerrorcode87(0x57)”(参数错误),此时需要设置ADS兼容模式)首次使用AXD+J-LINK调试时,需要对AXD进行以下配置。单击AXD窗口Options-ConfigureTarget选项,弹出一个TargetEnvironment选项窗口。这个窗口中有几个系统加载选项,如图所表示。单击右上角Add按钮,在弹出对话框中选择J-Link驱动安装文件夹下JLinkRDI.dll文件,在默认安装路径情况下,JLinkRDI.dll文件在C:\ProgramFiles\SEGGER\JLinkARM_V434文件夹。此时单击右侧Configure按钮,在弹出对话框中选择CPU标签进行配置,其余标签选择默认配置。CPU标签配置如图所表示。配置完成后,即可在AXD环境下进行调试运行。调试时,能够单击上对应按钮选择单步运行、设置断点等操作。而且能够经过存放器窗口和内存窗口查看对应存放器值和内存值。九、试验数据及结果分析试验提供实例运行部分截图:实现strcopy复制学号汇编程序:AREASCopy,CODE,READONLY EXPORTSTART ENTRYSTART LDRr0,=str LDRr1,=str1strcopy LDRBr2,[r1],#1 STRBr2,[r0],#1 CMPr3,#0 BNEstrcopy MOVpc,lr END strDCB"" str1DCB"0"下面是程序运行截图:学号能够在ASCII码中很直观看出来,依照存放器r1地址,也能够查出来学号对应八进制表示。十、试验结论经过几个实例程序和自己写strcopy程序,发觉ADS集成开发环境加上NUC951开发板硬件支持,能够提供强大实时调试跟踪功效,能够很清楚看出片内存放器等运行情况,做到了很真实地模拟仿真。十一、总结及心得体会了解了嵌入式软件开发环境建立过程;初步掌握了嵌入式程序编译和调试过;对整个uC/OSuC/OSuC/OS-II和嵌入式操作系统应用有了初步认识。对于strcopy复制学号试验,观察存放器地址改变时要仔细点,最好使用单步调试,一步步观察。十二、对本试验过程及方法、伎俩改进提议Strcopy复制学号试验不够通常化,只能针对这个试验,而且试验结果不易发觉,代码需要做深入优化。汇报评分:指导教师签字:电子科技大学实验报告学生姓名:宋林锐学号:指导教师:丁旭阳试验地点:主楼A2-412试验时间:.5.10一、试验室名称:计算机学院软件试验室二、试验项目名称:UART串口通讯试验三、试验课时:4课时四、试验原理UARTUARTUART英文全称为UniversalAsynchronousReceiver/Transmitter,即通用异,即通用异步收发传输器,是一个通用串行数据总线,简称串口,用于异步通信。该总线双向通信,能够实现全双工传输和接收。在嵌入式设计中,UART用来主机与辅助设备通信,如汽车音响与外接AP之间通信,与PC机通信包含与监控调试器和其余器件,如EEPROM通信。串口通信概念非常简单,串口按照位bit发送和接收字节,经管比按字节并行通信慢,不过串口能够在使用一根发送数据同时用另一根线接收数据。他很简单而且能够实现远距离通信。比如IEEE4888定义并行通行状态时,要求设备线总长不得超出20米,而且任意两个设备间长度不得超出2米,而对于串口而言,长度可达1200米。经典地,串口用于ASCII码字符传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。因为串口通信是异步,端口能够在一根线上发送数据同时在另一根线上接收数据。其余线用于握手,不过不是必须。串口通信最主要参数是波特率、数据位、停顿位和奇偶校验位。五、试验目标能够在开发板上一个无操作系统简单程序;握基于轮询模式串口通讯程序编写;六、试验内容本试验经过使用试验系统提供串口操作函数,完成初始化、数据发送以及接收完整通信过程。经过将目标机串口与开发宿主机串口进行连接,修改目标机端串口驱动软件所使用参数,主机端完成串口通信参数设置,就能够实现二者串口通信过程,了解和掌握参数含义及设置方法,以深入掌握串口初始化函数编写。串口数据发送和接收可主要采取两种方式:轮询或中止。在轮循工作方式下,设备操基本步骤如:1)查询设备接口状态存放器;2)依照数接收或发送要求,检验状态存放器中对应标识是否满足数据传输条件;3)假如状态标识不满足工作条件,回到第1)步继续查询;4)假如状态标识满足工作条件,则由处理器从设备接口数据存放器读数据或写数据,完成单次数据接收或发送,并将对应状态标识去除,以准备好下一次传输;5)判断是否满足传输结束条件,假如满足则退出,假如不满足则回到第1步进行下一次数据传输。七、试验器材(设备、元器件)NUC951开发板、ADS1.2、J-Link调试器、BSP、PC一台八、试验步骤调试运行及观察存放器:按照本试验手册第一部分所描述方法建立应用项目并完成编译。打开PC超级终端或者SecureCRT程序,将波特率设置为115200,连接到对应com口。将开发板经过调试器与PC连接,单击Run按钮经过调试器运行程序。或者将编译好bin文件经过文件经过USB下载到开发板运行。详细过程以下,将开发板上JP1JP1跳线帽设置为跳线帽设置为H,JP2JP2跳线帽设置为L,即选择USBISP模式,然后将开发板miniusb口连接到口连接到PC,将UART0经过串口线连接到PC。打开PC超级终端或者SecureCRT程序,将波特率设置为115200,连接到对应com口。运行turbowriter.exe,点击窗口右上角Re-Connect按钮,将开发板与PC连接,连接成功会在Re-Connect按钮左边窗口中显示::Connected。单击。单击Choosefile右侧Browse按钮,选择编译生成二进制bin文件,默认路径为…Experiment5\Experiment5_Data\DebugRel\Experiment5.bin。Option选项中择Downloadandrun选项。配置完成后,选项。配置完成后,turbowriter.exe窗口如图所表示。此时单击Download按钮,turbowriter.exe程序会自动将编译连接好bin文件下载到开发板上运行,下载过程中因为版本兼容问题可能会弹出Ackerror!错误,能够忽略不论。Download完成后,程序开始运行。开始运行时,在串口输出字符提醒能够输入20个字符保留在内存,输入完成后会提醒按“Enter”输出保留在内存中字符。运行结果经过串口显示结果,如图所表示。九、试验数据及结果分析UART串口程序:#include<stdio.h>#include<string.h>#include”wblib.h”#include”nuc900-uart.h”#defineuartprintfsysprintf#defineuartgetcharsysGetChar#defineSIZE20//设置接收字符数量StaticUINT8RX-Testt[500];StaticUART-Tparam;INTmain(VOID){Intrectal,ch;/*configureUART*/Param.uFreq=15000000;Param.uBaudRate=115200;Param.ucUartNo=0;Param.ucDataBits=DATA_BITS_8;Param.ucStopBits=STOP_BITS_1;Param.ucParity=PARITY_NONE;param.ucRxTriggerLevel=LEVEL_1_BYTE;retval=uartOpen(¶m);if(rectal!=0){Uartprintf(“OpenUARTerror!\n”);Return0;}/*setTXpollmode*/Retval=uartloctl(0,UART_IOC_SETTXMODE,UARTPOLLMODE,0);if(retval!=0){Uartprintf(“SetTXpollmodefail!\n”);Return0;}/*setRXpollmode*/Retval=uartloctl(0,UART_IOC_SETRXMODE,UARTPOLLMODE,0);If(retval!=0){Uartprintf(“SetTXpollmodefail!\n”);Return0;}While(1){/*RXtest*/Uartprintf(“\nPressAnykeystarttoRX

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论