您好,欢迎访问三七文档
1实习日记班级:软升本12-1姓名:王玉学号:122098012222014年2月20日上午,校内嵌入式软件实训今天开始,首先老师带领我们复习以前做过的实验,第一周先做ARM实验,一共12个实验,将在第一周内完成这些实验。首先熟悉下ADS1.2操作环境,按照实验指导书的引到,我一步步的完成了ADS1.2的配置工作,并新建了一个LCD实验,实验结果为系统启动后,八盏LED灯就会向右点亮。在flash调试时,需要修改ROBASE为0x00000000,其他不用修改,重新编译下载就可运行。在sdram调试时,需要修改ROBASE为0xa0000000,其他不用修改,重新编译下载就可运行。通过本次上机实验,我掌握了汇编语言程序设计的基础知识。ADS运行环境的使用,通过本次实验也要求我们对于ARM汇编实验要有认真仔细的态度,一个空格就可能导致程序结果的运行错误。2014年2月21日这次试验室上机,了解了直入键盘与矩阵键盘的原理,了解键盘寄存器的功能本次实验结合实验二的八段数码管,通过对键盘的操作,实现对八段数码管控制。当按1键的时候,LED1数码管就会亮,同理,按相应的键,相应的数码管就会亮。在EELiod中,使用了直入键盘与矩阵键盘结合的方式。在EELiod中,系统可以支持八个直入键盘,或者六个直入键盘和一个旋转译码器(两个管脚组成一个旋转译码器),或者四个直入键盘和二个旋转译码器。矩阵键盘接口支持自动扫描与手动扫描的方式进行对矩阵键盘按键的检测。最多可以支持八个输入/输出,总共64个矩阵键盘。KP-MKINx自动或者手动发出信号检测矩阵键盘的的按键情况。KPC(KeypadInterfaceControlregister)键盘接口控制寄存器是一个可读写的寄存器,它可实现对键盘的全局控制操作。包括对直入、矩阵键盘的使能、中断、自动扫描等。32014年2月22日今天,在实验一的基础上进一步了解ARM体系结构和编程方法,了解8段码的知识本程序在实验一的基础上增加了对8段码显示的支持,在系统开机后,会在4个八段管上分别显示1到4的数字,每隔一定的时间,数字递增一次。每个LED上升到9时回到0。8段管是由8个LED灯(每个灯我们称为一个段)组合成的形状为数字8带小数点的图形,通过控制每个段的开启和关闭来形成数字图形0到9。每个段通过一个缓冲器和数据总线相连,在本系统中如果数据为0则对应的该段点亮。打开ADS,执行Project-Make,也可以直接用快捷键F7进行编译、连接生成映像文件。编译、连接后就生成映像文件,我们可以把它下载到FLASH或者SDRAM运行和调试。2014年2月23日本次实验主要通过CANBUS程序发送特定信息,利用CAN232MB智能协议转换器,把发送的信息转换到串口输出。本程序主要为了让读者能够清晰了解CANBUS是如何初始化,发送信息的过程。本程序得到的结果是CANBUS不断向发送数据“11111111”出去,在发送过程中,同时注意CAN232MB智能协议转换器的显示灯是不断闪亮的。CAN是ControllerAreaNetwork的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。通信是通过以下5种类型的帧进行的:数据帧、遥控帧、错误帧、过载帧、帧间隔另外,数据帧和遥控帧有标准格式和扩展格式两种格式。标准格式有11个位的标识符(Identifier:以下称ID),扩展格式有29个位的ID。MCP2515是一款独立CAN控制器,可简化需要与CAN总线连接的应用。CAN模块的功能是处理所有CAN总线上的报文接收和发送。MCP2515在CAN总线上的数据接收是通过两个接收缓冲器、两个接收屏蔽器、六个接收过滤器的组合来实现的。CAN总4线上的帧只有同时满足至少任意一个接收屏蔽器和一个接收过滤器的条件才可以进入接收缓冲器。MCP2515可与任何带有SPI接口的单片机直接相连,并且支持SPI1,1和0,0模式。单片机通过SPI接口可以读取接收缓冲器数据。MCP2510对CAN总线的数据发送则没有限制,只要用单片机通过SPI接口将待发送的数据写入MCP2515的发送缓存器,然后再调用RTS(发送请求)命令即可将数据发送到CAN总线上。2014年2月24日了解RTC应用及相关概念,实际控制使用Realtimeclock(RTC),显示系统时间本次例子是一个使用HZ时钟来显示系统时间的程序,还利用实验六的串口传输实验的知识,通过串口打印系统的时间。首先设置超级终端的波特率为38400,数据流控制设为无。打开超级终端,根据选择项进行操作,按1时,显示当前的系统时间。按2时,会对系统时间重设。Real-timerclock(RTC),RTC是一个配置时钟的机制,通过从外部的晶振送入时钟信号到MCPU,利用倍频或分频产生所需的时钟信号。可以通过配置RTC相关的寄存器,让RTC提供一个持续不断的频率,用来反映现实世界使用的时、分、秒时间。通常,RTC还可以设计成产生一个1HZ输出(HZ时钟名称的由来)。它的闹钟功能体现在当RTC增量到预定时间后便产生中断或唤醒事件。为了能够产生系统时间,RTC提供了一个32位的计数器RTCCounterRegister(RCNR),该计数器在系统复位后为0,并在外部时钟源的信号上升沿到来时加1,可在RDCR、RYCR寄存器写入期望值,然后该计数器便开始递增。另外,通过在另一寄存器RTCAlarmRegister(RTAR)设置数值(也可以说是时间),当RCNR增加到RTAR时,便可产生中断。具体来说,当RCNR与RTAR匹配时,还需要以下条件满足时才能产生中断。首先在寄存器RTCStatusRegister(RTSR)对中断的允许位必须设为1,RTC提供了两种可以产生中断的事件:HZ中断和RTCAlarm中断。当HZ时钟的上升沿被检测到或RCNR和RTAR匹配相等时,RTSR上相应的状态位就会标示1,该位会被发送到中断控制器,在中断控制器的InterruptController。52014年2月25日今天进行了LCD控制器的实验。本次例子是一个使用LCD控制器的演示程序,结合了LCD控制器和DMA控制器的原理,能够将字符集里的字符显示在屏幕上。具体实验步骤如下:配置GPIO寄存器,将与LCD连接的引脚定义为所需的功能引脚。将帧描述符定义在SDRAM里,在DMAC被初始化后,供DMAC提取。配置LCD控制器的各寄存器。建立LCD屏幕上的每一象素与FRAMEBUFFER对应位置的映射关系。将字符位图转换成字符矩阵数据并且写入到FRAMEBUFFER里。显示屏的整个显示区域,在系统内会有一段存储空间与之对应,通过改变该存储空间的内容,从而改变显示屏的内容,该存储空间被称为FrameBuffer,或显存,显示屏上的每一点都必然与FrameBuffer里的某一位置对应,所以解决显示屏的显示问题,首先需要解决的是FrameBuffer的大小以及屏上的每一象素与FrameBuffer的映射关系。按照显示屏的性能或显示模式区分,显示屏可以以单色或彩色显示,单色用1位来表示(单色并不等于黑与白两种颜色,而只是说只能以两种颜色来表示,通常取允许范围内颜色对比度最大的两种颜色),彩色又分为2位色(4种颜色),4位色(16种颜色),8位色(256种颜色),16位色(65536种颜色),24为色(16777216种颜色)这些色调代表整个屏幕所有象素的颜色取值范围,究竟应该采取什么显示模式,首先必须根据显示屏的性能,然后再由显示的需要来决定。这些因素会影响Framebuffer空间的大小,因为Framebuffer空间的计算大小是以屏幕的大小和显示模式来决定的,另外还有另一影响因素,就是显示屏的单/双屏幕模式。单屏幕模式代表屏幕的显示范围是整个屏幕,这种显示模式只需一个FameBuffer来存储整个屏幕的显示内容,并且只需一个通道来将FameBuffer内容传输到显示屏上(FrameBuffer的内容可能需要被处理后再传输到显示屏)。双屏幕模式则将整个屏幕划分成两部分,上半部和下半部,它有别于将两个独立的显示屏组织成一个显示屏,单看上半部或下半部,它们的显示方式是与单屏幕的方式一致,并且上半部与下半部都是同时扫描,工作方式是独立的,同时这两部分都各自有FrameBuffer,且他们的地址无需连续(这里指的是下半部的FrameBuffer的首地址无需紧跟在上半部FrameBuffer的地址末端),并且6同时具有独立的两个通道将FrameBuffer的数据传输到显示屏。2014年2月26日学习编写中断处理程序。本次例子主要使用按键实现外部中断,执行中断服务子程序。系统启动后,按12345678任意键,相应的八段数码管就会点亮。当异常中断发生时,系统执行完当前指令后,将跳转到相应的异常中断处理程序处执行。处理器能够准确无误地响应中断,是因为ARM体系结构里有一个中断向量表,该中断向量表将系统能够响应的7种异常中断类型的“入口地址”登记在一块连续的字节空间内,每种异常中断的“入口地址”占据4个字节,这里“入口地址”实质是一些跳转指令或者是让PC指针赋值的指令,通常使用B或ldr指令。简单地说,异常中断发生首先会跳转到中断向量表,此时跳转的位置会由系统根据中断类型来判断,由于中断向量表实质也是跳转指令所组成的指令序列,所以系统会再进行一次跳转,这次跳转便跳到中断处理程序(中断服务例程)的入口。系统复位后,IRQ和FIQ中断都是被禁止的,所以即使建立了中断向量表,当有中断请求也是不会响应的,因此在系统复位后,必须通过程序控制来打开IRQ和FIQ中断。2014年2月27日本次例子是一个驱动触摸屏控制器芯片UCB1400BE的程序,将来自触摸屏输出端的电压值转换为数字量,并将点击的位置通过串口打印出来。触摸屏是一套透明的绝对定位系统,从技术原理来区别触摸屏,可分为四个基本种类:电阻技术触摸屏、电容技术触摸屏、红外线技术触摸屏、表面声波技术触摸屏。本实验使用的触摸屏属于电阻式触摸屏。电阻触摸屏的屏体部分由多层复合薄膜构成,按结构和实现原理来划分可以分为四线、五线、七线和八线式,由于本实验所使用的设备为四线电阻摸屏,故以下内容仅适合4线电阻触摸屏。电阻触摸屏通常由五层薄膜叠合在一起,最外面两层分别为基层和塑料层,主要是为保护屏体而设计,触摸屏的工作主要是靠在中间两层互相绝缘的导电层来完成。基层是一层玻璃或有机玻璃,塑料层则是一层外表面硬化处理、光滑防刮的塑料,塑7料层必须具备一定的弹性,当受到外来挤压时可以出现一定程度的凹陷。而在基层的上面紧贴两层互相绝缘透明导电层(ITO,氧化铟),这两层导电层是通过中间的透明隔离点隔开。当外力施加在塑料层上时,会造成外表面的凹陷,导致两层导电层接触,当触摸屏控制器测得输入端(四线触摸屏的其中一条输出线)的有电压输入时,便知道触摸屏被点击。2014年2月28日本次例子是PXA270的串口传输程序,并以两种方式实现:程序查询状态寄存器和中断处理。本章例子根据PXA270开发板的串口硬件连接,不加入Moden传输协议,紧紧利用UART引脚TXD和RXD进行数据接收和发送。实验目标是通过配置FFUART(串口1),将字符显示在PC机上超级终端上,并且将键盘输入内容回显在超级终端上。实现步骤:配置GPIO寄存器,实现CPU引脚34,39接收发送功能。配置寄存器POWERManagerSleepStatus(PSSR)。配置全功能UART的寄存器。编写接收字符和输出字符函数。编写FFUART的中断服务例程。PXA270处理器有四个UART,分别是:全功能UART(FFUART),蓝牙UART(BTUART),标准UART(STUART),硬件UART(HWUART)。UART即universalasynchronousreceiver/transmitter的简写。每个UART能将从RXD端接收的串行数据转变为并行的数据,并且能够将来自处理器的并行数据转化串行数据,然后通过TXD端发送出去。根据UAR
本文标题:软件实习日记-王玉
链接地址:https://www.777doc.com/doc-5618680 .html