版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章EL-ARM-830实验系统的资源介 第2章基于ARM系统资源的实 实验 ADS1.2开发环境创建与简要介 实验 基于ARM的汇编语言程序设计简 实验 基于ARM的C语言程序设计简 实验 基于ARM的硬件BOOT程序的基本设 实验 ARM的I/O接口实 实验 ARM的中断实 实验 ARM的DMA实 实验 ARM的UART实 实验 ARM的A/D接口实 实验 模拟输入输出接口的实 实验十 键盘接口和七段数码管的控制实 实验十 LCD的显示实 实验十 触摸屏实 实验十 音频录放实 实验十 USB设备收发数据实 实验十 SD卡测试实 实验十 PS2接口键盘鼠标实 附:烧写程序Jflash-s3c2410的使 第3章基于uCOSII操作系统的ARM系统实 实验 uCOSII的内核在ARM处理器上的移植实 实验 基于uCOSII的串口驱动编写实 实验 基于uCOSII的LCD驱动编写实 实验 基于uCOSII的键盘驱动编写实 实验 第4章基于linux操作系统的ARM系统实 实验 Linux的实验环境的搭 实验 BootLoader引导程 实验 linux的移植、内核、文件系统的生成与实验 linux驱动程序的编 实验 linux应用程序的编 实验 基于linux的键盘驱动程序的编 实验 基于linux的LCD驱动程序的编 实验 基于linux的键盘应用程序的编 实验 基于linux的基本绘图应用程序的编 实验 基于linux的跑马灯应用程序的编 实验十 利用实验箱上网的实 实验十 USBmp3的实 1EL-ARM-830ARM实验箱硬件资源概述ARM7ARM9Tech_V丰富的实验接口板。用户在了解Tech_V标准后,更能研发出不同用途的实验接口板。除此之外,在实验板上有丰富的扩展资源(数字、模拟信号发生器,数字量IO输入输10M10M256色5.7寸320X240摸USB设备USB设备主A/DE_LABSD1.1实验系统的硬件资源总揽☆动态器:64MB,☆海量器:32MB,☆USB单元 ☆网络单元:10/100M以太网,☆UART单元:2☆语音单元:IIS格式,UDA1341TS,采样频率最高☆LCD单元 ☆触摸屏单元:四线电阻屏,320X240,5.7☆SD卡单元:通信频率最高25MHz,W86L388D,兼容MMC卡☆键盘单元 ☆模拟输入输出单元:☆信号源单元:输出☆标准的IDE☆达盛公司的☆20☆CPLD☆1.2板的资源介1.板的硬件资源(ARM920T核名数功板上标号名数功板上标号121海量器115V15V11标名功AREFARM-INTERFACEINTERFACEINTERFACE表1-3 标名功LED表1-4 标名功2.板资源的具体介电源模块在S3C2410CPU板上由于其内核采用1.8V,I/O接口采用3.3V供电,因此需要将通用的5V转换成1.8V和3.3V。图1-1-2为使用LM1117电源转换把5V转成3.3V和1.8VNAND_FLASH海 器单设置成00b,当板上电复位时,系统首先将Nand_Flash开始的0~4K的程序映射到同步动态器单该单元在板卡上标号为HY57V561620。选用两片8MB字节的HY57V561620,32位数据总线。片选NSCS6接两片HY57V561620单元作为片选信号,CPU分配给这两片S3C2410CPU的Bank6Bank7RS232串口单该单元在板卡上标号为UART0(CROSS/F),选用了MAX3232电压转换,进行PC机与CPU板的串口通讯。它采用收、发、地,三线连接,无握手信号。通过S3C2410内部的串口0控制器进行控制。主/从USB单元和USB设备控制器进行控制。6)网络单元该单元在板卡上标号为AX88796,选用了ASIX公司的AX88796网络,传输速率为10/100M自适应,16位数据总线传输,片选NGCS2接网络单元。CPU分配给AX88796单元的地址空间为0x10000000—0x18000000,也就是S3C2410CPUbank2S3C2410CPU的外部中断ExINT2响应该中断。RJ45插座上面自带数据传输的指示灯。为清楚显示板上各区及单元,见表1-5。区7)JTAG单元JTAG(JointTestActionGroup,联合测试行动小组)是一种国际标准测试协议,主片内部封装了专门的测试电路TAP(TestAccessPort,测试口通过的JTAG通过JTAG接口,可对内部的所有部件进行,因而是开发调试嵌入式系统的一种简洁高效的。目前JTAG接口的连接有两种标准,即14针接口和20针接口,EL-ARM-830板上使用的是201-6。引名 123、、、579在板上,JTAG的第1脚用一黄色的方框标注,当串口、USB口、网络口向左摆放时,第1脚下面的管脚为第2脚,它左面的管脚依次为3,5,…,19;第2脚左面的管脚依次为4,6,…,20。8)CPU板上的外接接口单CPUINTERFACEA、INTERFACEB、INTERFACEC,3序代含备123O4O5O6O7O8O9OO地地OO序代含备OOOOOOOOOOOO地地空空空空空空空空空空空空空空空空序代含备地地地地地地OOOI空O地地序代含备12-3地序代含备4地567地8地9空空空空空空空空OIOO地地空空空空地地空空钟OO地地序代含备O空空I地地O定时器时钟输空I定时器时钟输地地I空空O空空O空地地空空空空IIO序代含备O空空空空空地地空地地序代含备12序代含备123I4I5I6I7I8I9IIIOOIIIIOO序代含备OOOOOOOOOIOIOOOOOOOIIOOOOOOOOOO序代含备OOOOOOOOOOOVM-IVF-OVL-OOOOOOOOOO地地实验箱底板的资源介绍
概实验箱底板上的资源丰富,具体的实验单元有:LCD模块,触摸屏模块,语音单元模块,串口2模块,USB设备模块,电源模块,模拟输入输出模块,键盘模块,CPLD烧写模块,键盘数码管模块,SD(MMC)卡模块,A/D转换模块,信号源发生器模块。以及PS2鼠标键盘接口,IDE硬盘接口,Tech_V总线接口,E_LAB总线接口等等。单元名称关键控制功备320X240,5.7色ARM9实验不使用改芯最高串行通信率为115200的USB通信控制1085V,+12V,-留有扩展接口,有扩展PS2键盘鼠标控制底板资源的具体介绍模拟输入输出接口单元字量输出(LED74LS273键盘数码管模块键盘接口是由HD7279A控制的,HD7279A是一片具有串行接口的,可同时驱动8位共阴式数码管或(64只独立LED)的智能显示驱动,该同时还可连接多达64键的键盘矩阵,单片即可完成LED显示,键盘接口HD7279A内部含有译,可直接接受BCD码或16进制码,并同时具有2种译码方式。此外,还具有多种控制指令,如消隐、闪烁、左移、右移、段寻址等。HD7279A864USB设备模块USB设备模块,采用了飞利蒲的USB设备控制PDIUSBD12,该遵从USB1.112Mbps,该单元位于实验箱的左下角。D3用外部中断4来响应中断请求。串口1模块实验箱可以使用的信号,它的最高串行通信波特率为115200bps.音频模块语音的模拟信号的编采用了UDA1341TS。该有两个串行同步变换通道D/A转换前的差补滤波器和A/D变换后的滤波器。其他部分提供片上时序和控制功能。语音处理单元由UDA1341TS模块、输出功率模块组成。语音的模拟信号经过偏置和滤波处理后输入到语音的编芯UDA1341TS中,UDA1341TS以IIS的语音格式送入S3C2410中,S3C2410可以处理也可以不处理该信号,把它保存起来,也可用DMA控制而不经过CPU处理,直接实时,然后实时的出去。音频信号通过D/A转换后输出,经过一次功率放大,然后可以推动功率为0.4W的板载扬声器,也可以接耳机输出。如图1-3。语音处理单元接口说明:“SPEAKER_R:“SPEAKER_L:LCD模块“VR2:S3C2410CPUSD(MMC)卡单元卡的各种中断请求,CPU只须其状态,就能判断对SD(MMC)卡进行如何处理。其原理如图1-4。D12,通信状态指示灯,D13卡识别指示灯。SD卡A/D转换单元A/D转换单元,采用S3C2410内置的A/D转换器,它包含一个8路模拟输入混合A/DS3C24101-5。模输输拟模输输拟入入信信信号号号输降偏入压置1-13:SW3:拨码开关码备12345678信号源单元据传输指示灯。控制为AT2051。CPLD单元一些串口的信号,以及一些寄存器的地址等等,这样一来,S3C2410的I/O资源是不能满足的,因此该实验箱通过加入了一片CPLD,用来完成各资源所需的地址译CPLD元使用S3C2410的片选NGCS4,地址0x—0x;由于CPLD平的产生,所以,应给CPLD的地址里写入相应的数据以产生相应的信号。表1-21列出#defineclrcs1(*(volatileunsigned*)0x)=0x01;#definesetcs1(*(volatileunsigned*)0x)=0x02;利用宏定义来代替置高、置低;给相应的地址里写1,表示该CPLD的相应引脚输出低电平,给相应的地址里写2,表示该CPLD的相应引脚输出高电平。有的地址需要写入8位数据。====HD7279DATAPIN方向为输入HD7279DATAPIN方向为输出SD#definerCMD_PIPE_REG (*(volatileunsignedshort*)0x #define (*(volatileunsigned #definerCON_REG (*(volatileunsignedshort*)0x #definerRCE_DAT_BUF (*(volatileunsignedshort*)0x #definerTRA_DAT_BUF (*(volatileunsignedshort*)0x #definerINT_STA_REG (*(volatileunsignedshort*)0x #definerINT_ENA_REG (*(volatileunsignedshort*)0x #definerGPIO_DAT_REG (*(volatileunsignedshort*)0x #definerGPIO_CON_REG (*(volatileunsignedshort*)0x #definerGPIO_INT_STA_REG(*(volatileunsignedshort*)0x #definerGPIO_INT_ENA_REG(*(volatileunsignedshort*)0x #definerIND_ADD_REG (*(volatileunsignedshort*)0x #define (*(volatileunsigned 输入输出74ls244地址 74ls273地址 =0x03-L3MODE =0x04-L3MODE =0x01-L3CLOCK =0x02-L3CLOCK12)其它接口说标名功LEDSW2:拨码开关,扩展中断选择码功24标功IO-IO-设使用的中断设使用的中断SW4:拨码开关,ARM系列的CPU板卡选择。功12Tech_V总线的介总线的接口定义说明见表1-26,1-27。J3:J3扩展信号是地址、数据总线和读写、片选信号:见表1-序代含备123O4O5O6O7OCPUA158OCPUA149OCPUA13OCPUA12地地OCPUA11OCPUA10OCPUA9OCPUA8OCPUA7OCPUA6OCPUA5OCPUA4OCPUA3序代含备OCPUA2OCPUA1OCPUA0OO地地地地空空空空空空空空空空空空空空空空地地CPUD15CPUD14CPUD13CPUD12CPUD11CPUD10CPUD9序代含备CPUD8地地CPUD7CPUD6CPUD5CPUD4CPUD3CPUD2CPUD1CPUD0地地OOOIOO地地J5:J5扩展信号外设信号接口:见表1-27序代含备12-3地4地567地8地9空序代含备空空空空空空空O空空空IO地地空空空I地地空空钟OO地地O空空I地地O空序代含备空I空空地地I空空O空空O空地地空空空空空空OO空空空空I地地空地序代含备地E_Lab总线的介在实验箱的左下部,有一对扩展接口,JP3JP4E_Lab总线接口。在深入ARME_Lab总线的接口定义说明见表1-28,1-29。值得注意的是E_Lab总线接口使用双排插座,每个插JP1:JP1扩展信号是地址总线和读写、片选信号:见表1-序代含备OOOOOOOOOOOOOOOOJP2:JP2扩展信号是外设信号(数据)接口:见表1-29序代含备地OOOO序代含备OOOO-ARMSDT2.5ADS,其JTAGCPUADSARMARMS3C2410HARDWAREADS1.2开发环境创建ARMARMCARM验、ARM的A/D接口实验、七段数码管和键盘的控制实验、LCD的显示实验、触摸屏实验、音频录放实验、USBSD,PS2和软件的启动过程、运行过程,真正理解ARM的应用。实验一ADS1.2环境一、实验目的三、实验设备四、实验步骤ADS1.2下建立工ADS1.2(CodeWarriorforARMDeveloperSuite,点击File|New,在New框中,选择Project栏,其中共有7项,ARMExecutableImageARMARM2-1-12-1-6ARMCComplilerArchitectureorARM920TCPU栏中填写程序数据存放的起始地址。该地址是属于SDRAM的地址。 其他保持不变,如果是在SDRAM中运行,则可在0x—0x33ffffff中选值,这是64MSDRAM的地址,但是这里用的是起始地址,所以必须的程序空间给留出来,并且还要留出足够的程序使用的数据空间,而且还必须是4字节对齐的地址(ARM状态。通常点Imageentrypoint为0x,ro_base也0x。在Layout栏中,如图2-1-9,在ceatbeginningofimage框内,需要填写项目的程序的目标文件名,如,整个工程项目的程序是2410init.s,那么应在Object/Symbol处填写其目标文件名2410init.o,在Section处填写程序入项,在Outputfilename栏中设置输出文件名*bin在Outputformat栏中选择inbinary,这是设置要到flash中的二进制文件。图2-1-10中使用的是test.bin.到此,在ADS1.2S3C2410ARM.mcpADS1.2软件安装的下的Stationary下新建一个合适的模板名,如,S3C2410ARMExecutableImage,再将刚刚设置完的S3c2410ARM.mcp2-1-10新建项目工程后,就可以执行菜单Project|AddFiles把和工程所有相关的文件加入,ADS1.2不能自动进行文件分类,用户必须通过Project|CreateGroup填加区,,即出!如图2-1-11移入文件夹内。读者可根据自己习惯,更改Edit|Preference窗口内关于文本编辑的颜色、字体大小,形状,变量、函数的颜色等等设置。如图2-1-12。ADS1.2下仿真、调试AXDDebuggerFile|loadimage加载文件ADS.axf(\实验程序\HARDWARE\ADS\实验一\ADS\ADS_data下)。打开超级终端,设置其参数为:运行,出现图2-1-13的界面:实验ARM言程一、实验目的二、实验内容三、实验设备四、汇编语言简介ARM汇编的一些简要的书写规范均不能顶格书写。ARM写要一致。在ARM汇编中,ARM指令、伪指令、寄存器名等可以全部大写或者全详细的汇编语句及规范请参照ARM汇编的相关书籍、文档,也可参照我们提供的ARM汇编语言程序的基本结构在ARM汇编语言程序中,是以程序段为单位来组织代码。段是相对独立的指令或数 简单的小例子 R0, R1, R1, R0, R1, R1,……AREA义了一个名为Init的代码段,属性为只读。ENTRY伪指令标识程序的,程序的末尾为END指令,该伪指令告诉编译器源文件的结束,每一个汇编文件都要以END结束。AREADataArea,DATA,NOINIT,ALIGN=2 RCVBUFSPACE……五、实验步骤编译通过后,进入ADS1.2调试界面,加载\实验程序\HARDWARE\ADS后,在ADS调试环境下全速运行映象文件,应出现图2-2-1界面:……bUARTldrr1,=0x2afaaastrr1,ldrr0,=GPHUPldrr1,strr1,[r0] ldrr0,=UFCON0ldrr1,=0x0strr1,ldrr0,UMCON0AFCldrr1,=0x0strr1,ldrr0,=ULCON0 ldrr1,=0x3;//正常模式,无奇偶校验,一个停止位,8个数据位strr1,[r0]strr1,ldrr0=UBRDIV0ldrr1,=0x1a /16/115200)-1=26strr1,[r0]movr1,#100subr1,r1,#0x1bneDelayldrr0,=INTMSKldrr1,[r0]andr1,r1,#0xefffffffstrr1,[r0]MOVR5,#127;//设置要打印的字符的个数MOVR1,#0x0 LDRR3,=UTRSTAT0LDRR2,[R3]TSTR2,#0x04; BEQLOOP;//为空则执行下边的语句,不为空则跳转到LOOPLDRR0,=UTXH0STRR1,[R0] ADDR1,R1,#1SUBR5,R5,#0x01 CMPR5,#0x0BNE 察结果,比如0xaa,0x01等等。实验ARM的C一、实验目的二、实验内容三、实验设备四、ARMC语言简介与使用规ARM使用C语言编程是大势所趋易等等。因此,C语言的在ARM编程中具有重要地位。在ARM程序的开发中,需要大量读写硬件寄存器,并且尽量缩短程序的执行时间的代码一般使用汇编语言来编写,比如ARM的启动代码,ARM的操作系统的移植代码等,除此之外,绝大多数代码可以使用C语言来完成。C语言使用的是标准的C语言,ARM的开发环境实际上就是嵌入了一个C语言的集成开发环境,只不过这个开发环境和ARM的硬件紧密相关。过ATPCS的规定与C程序相用与。ATPCS,就是ARM、Thumb的过程调用标准(ARM/ThumbProcedureCallStandard在C程序和ARM的汇编程序之间相用必须遵守ATPCS。而使用ADS的C语言编译器编译的C语言子程序满足用户指定的ATPCS的规则。但是,对于汇编语言来说,完全要依赖用户保证各个子程序遵循ATPCS的规则。具体来说,汇编语言的子程序应满足下面3个条件:汇编程序调用C程序在汇编程序中使用IMPORT伪指令将要调用的C程序函数。C程序调用汇编程序在汇编程序中使用EXPORT伪指令本子程序,使其他程序可以调用此子在C语言中使用extern关键字外部函数(要调用的汇编子程序。启动程序,跳到C语言下的主程序,然后,执行C程序,在C环境下读写硬件的寄存器,一般是通过宏调用,在每个项目文件的Startup2410/INC下都有一个2410addr.h的头文件,那里面定义了所有关于2410的硬件寄存器的宏,对宏的读写,就能操作2410的硬件。简单的小例子IMPORT Init,CODE,READONLY; R1,=0x245R1,Main()函数标识的#definerGPGCON(*(volatileunsigned*)0x )//PortGcontrol#definerGPGDAT(*(volatileunsigned*)0x )//PortGdata#definerGPGUP (*(volatileunsigned*)0x if(flag==0)rGPGCON=rGPGCON&0xfff0ffff|0x rGPGDAT=rGPGDAT&0xeff|0x200;for(i=0;i<100000;i++);//延时flag=}elserGPGCON=rGPGCON&0xfff0ffff|0x rGPGDAT=rGPGDAT&0xdff|0x100;for(i=0;i<100000;i++);//延时flag=}}五、实验步骤频的左右声道开关、AD通道选择开关、触摸屏中断选择开关等均应处在关闭状态。编译通过后,进入ADS1.2调试界面,加载\实验程序\HARDWARE\ADS打开/实验软件/tools/115200,校验位无,数据位为8,停止位为1。不要选十六进制显示。之后,在ADS调试环境下全速运行映象文件,应出现图2-3-1界面。本程序连续发送55。#include unsignedchar void{ data=0x55; {Uart_Printf("%xdata0}}一、实验目的1.掌握ARM二、实验内容三、实验设备四、实验步骤本实验仅使用实验教学系统的CPU板。在进行本实验时,LCD电源开关、音频的左右声道开关、AD通道选择开关、触摸屏中断选择开关等均应处在关闭状态。ARM的启动。该实验不是演示实验,是学习启动流程的实验基于ARM的应用系统,多数为复杂的片上系统,该复杂系统里,多数硬件模块ARM求中断向量表必须放置在0x地址开始,连32字节的空间内。每当一个中断发生后,ARM处理器便强制把PC指针指向对应中断类型的向量表中的地址。因为每个中断只占据向量表中4个字节的空间,只能放置一条ARM指令,所以,通常放一条跳转指令让程序跳转到器的其他地方,再执行AREAInit,CODE,READONLY 其中关键字ENTRY是指定编译器保留这段代码,的时候要确保这段代码被在整个程序的地址,该地址也就是RO的连接地址。当ARM启动时,PC4中断时从对应的中断向量表跳到器的某个地方,一般可选择让其跳到SDRAM初始化器系器类型,的容量以及时序配置、总线宽度等等。通常Flash和SRAM同属于静态器类型,可以合用同一个器端口;而DRAM因为有动态刷新和地址线复用等特性,通常配有的器端口。除器外,网络的器为一般系统运行的速度瓶颈都存在于器,所以器时序应尽可能初始化堆栈SP再操作CPSR回到别的模式了,可能会对接下去的程序执行造成影响。 mrsbicorrmsrcpsr_cxsf,r1 ldrsp,=UndefStackorrmsrcpsr_cxsf,r1 ldrsp,=AbortStackorrmsrcpsr_cxsf,r1 ldrsp,=IRQStackorrmsrcpsr_cxsf,r1 ldrsp,=FIQStackorrr1,r0,#SVCMODEmsrcpsr_cxsf,r1 ldrsp,=SVCStack初始化应用程序执行环境映像一开始总是在ROM/Flash里面的,其RO部分即可以在ROM/Flash里面执行,也可以转移到速度更快的RAM中执行;而RW和ZI这两部分是必须转移到可写的RAM里去。所谓应用程序执行环境的初始化,就是完成必要的从ROM到RAM的数据传输和内容。 ZI区在RAM里面的起始地址 LDRCCr2,[r0],#4STRCCr2,[r1],#4 STRCCr2,[r3],#4 |Image$$RW$$Base|:RW区在RAM|Image$$RW$$Base|开始的地址,当RAM这边的目标地址到达|Image$$ZI$$Base|后就表示RW区的结束和ZI区的开始,接下去就对这片ZI区进行操作,直到改变处理器模式断控制器,比如三星的S3C2410,这么做总是安全的。呼叫主应用程序IMPORTMain BARM实验程序\HARDWARE\ADS\实验四\boot.mcp在ADS的开发环境的AXDDebugger中运行,运行之前,首先配options\configuretarget\ARMUL,ARMUL是使用实验五ARMI/O一、实验目的了解S3C2410I/O二、实验内容三、实验设备四、实验原理416I/O(PORTC、PORTD、PORTE、PORT211I/O(PORTB和PORT18I/O(PORT123I/O(PORT剩下的PORTB、PORTC、PORTD、PORTE、PORTF、PORTG均可作为输入输出口使用。配置这些端口,是通过一些寄存器来实现的,这些寄存器均有各自的地址,位长32GPACON )//PortAGPADAT )//PortAGPBCON )//PortBGPBDAT )//PortBGPBUP )//Pull-upcontrolGPCCON )//PortCGPCDAT )//PortCGPCUP )//Pull-upcontrolGPDCON )//PortDGPDDAT )//PortDGPDUP )//Pull-upcontrolGPECON )//PortEGPEDAT )//PortEGPEUP )//Pull-upcontrolGPFCON )//PortFGPFDAT )//PortFGPFUP )//Pull-upcontrolGPGCON )//PortGGPGDAT )//PortGGPGUP )//Pull-upcontrolGPHCON )//PortHGPHDAT )//PortHGPHUP )//Pull-upcontrol也就是说,在地0x0x中32的每一位赋值,那么CPU管脚上就定义了管脚的功能值。当G口某管脚配置成输出端口,则在PDATG对应的地址中1,0,则该管脚输出为低电平。若也就是说,在地址0x中32一位赋值,那么,在CPU管脚HGPHDAT中的对应位上,得到1,则该管脚的输入为高电平,得到0,则该管脚的输入为低电管脚变成具体的功能脚。其他端口配置请参见PDF文挡。#definerGPACON (*(volatileunsigned*)0x )//PortAcontrol#definerGPADAT (*(volatileunsigned*)0x )//PortAdata#definerGPBCON (*(volatileunsigned*)0x )//PortBcontrol#definerGPBDAT (*(volatileunsigned*)0x )//PortBdata)//Pull-B)//Port)//Port)//Pull-C)//Port)//Port)//Pull-D)//Port)//Port)//Pull-E)//Port)//Port)//Pull-F)//Port)//Port)//Pull-G)//Port)//Port)//Pull-HrGPGCONrGPGCON&0xfff0ffff| 五、实验步骤右声道开关、AD通道选择开关、触摸屏中断选择开关等均应处在关闭状态。编译通过后,进入ADS1.2调试界面,加载实验程序\HARDWARE\ADS\的闪烁!这是对GPIO口操作的结果。具体实现见程序。实验六ARM一、实验目的二、实验内容CPULEDLED1、LED2闪烁。三、实验设备 四、ARM的中断原理ARMIRQFIQ,IRQFIQ速中断,在进行大批量的、数据转移等工作时,常使用此类中断。FIQ的优先IRQ。同时,它们都属于ARM的异常模式,当一旦有中断发生,不管是外部IRQPC0x18FIQ0x1C量地址处,一般存有中断服务子程序的地址,所以,接下来PC指针跳入中断服务子程序中。当完成中断服务子程序后,PC指针会返回到被打断的程序的下一条地址处,继续执行程序。这就是ARM中断操作的基本原理。但是,通常由于生产ARM处理器的各厂家都集成了很多中断请求源,比如,串口中断、AD中断、外部中断、定时器中断、DMA中断等等,所以,很多中断可能同时请五、三星的2410ARM处理器的中断的使用首先,ARM920TCPUPSRF位为1,CPU响应中断控制器INTMSK寄存器中的相应位置0。共用3个中断控制器,ADC和触摸屏共用一个中断控制器。见表2-6-2由寄存器PRIORITY[6:0]决定,每个判优器下面有4~6个中断源,这些中断源对应着REQ0~REQ56PRIORITY[20:7]的相应位决定。位RINTPND为向量IRQ中断服务挂起状态寄存器,当向量IRQ中断发生时,该寄存器内只INTPND位,以使CPU不再响应中断,其实,CPU响应中断是看中断挂起寄存器中的请求标志位有没有置位,若置位,又位打开,ARM920T的PSR的F或I为也打开,那么,CPU就响应中断,否则,有一个条件不成立,则CPU无法响应中断。六、中断编程实例
在ADS1.2的开发环境下,打开HARDWARE/ADS/实验六下的Interrupt.mcpApplication/SRC/Main.cStartup2410/src/target.C使用的中断控制器的初始化程序,CPU响应了该中断后的中断服务子程序。序,而中断服务子程序会把LED1和LED2灯熄灭或点亮象中看到LED1和LED2voidTimer1INT_Init(void)if((rINTPND&BIT_TIMER1)){rSRCPND|=}pISR_TIMER1=(int)Timer1_ISR;rINTMSK&=~(BIT_TIMER1);//开中断;}()函数已在 七、实验步骤频的左右声道开关、AD通道选择开关、触摸屏中断选择开关等均应处在关闭状态。打开ADS1.2开发环境,从里面打开\实验程序\HARDWARE\ADS\编译通过后,进入ADS1.2调试界面,加载\实验程序\HARDWARE\ADS在ADS调试环境下全速运行映象文件。观察LED1和LED2的变化!LED1和LED2灯会由于定时中断的1秒钟发生一次,而一秒钟闪烁一次!也可以改变闪烁的频率,即改变Startup2410\target.c文件内的voidTimer1_init(void)函数里的 TB1=48828;的这是对GPIO口操作的结果。具体实现见程序。实验七ARMDMA一、实验目的二、实验内容三、实验设备四、实验原理(DirectMemoryAcess,可以确保外设和计算机系统进行高速信息交换。这种方个操作,CPU不参与管理。 INC[0]0:1:位描010:DREQ和DACK与APB1:DREQ和DACK与AHB时钟当计数器到达0时是否使能中断0:中断1:使能中0:单位传输1:长度为40:单服务模1:整服务模100:USBdevice100:USBdevice100:USBdevice100:USBdevice0:软件请求模式,DMA通过设置DMASKTRIG寄存E1:硬件请求模式,DMA通过本寄存器的HWSRCSEL0:自动加载1:DMA0:字节12:3:保位描1:通道打的N_FF位置1才能生效。当DMA操作开始后,本位自动清0 五、实验步骤右声道开关、AD通道选择开关、触摸屏中断选择开关等均应处在关闭状态。打开ADS1.2开发环境,从里面打开\实验程序\HARDWARE\ADS\实验七\DMA.mcp项目文件,进行编译。打开/实验软件/tools/下的串口调试助手工具,配置为波特率为115200,校验位无,数据位为8,停止位为1。编译通过后,进入ADS1.2调试界面,加载\实验程序\HARDWARE\ADS在ADS调试环境下,在主程序Main函数中的rDMASKTRIG0=(1<<1);处设置断点,接器的功能得以实现。实验结束。实验八ARMUART一、实验目的二、实验内容三、实验设备四、UART的工作原理通用的串行I/O接口有许多种,最常见的一种标准是电子工业推荐的一种标准,即,RS—232C。这种标准在PC系列中大量采用9ARM的处理S3C2410的UART(UniversalAsynchronousReceiverand S电平转换成EIA(ElectronicindustriesAssociation)电平,送进PC的串口。 0正常模式, ParityMode:奇偶校验模式选择: 0XX无奇偶校Numberofstopbit:停止位选择: 01个停止位 12个停止Word 5016,107118Clock 0:使用PCLK1:使用UCLK引脚引入的时钟Txinterrupttype发送中断请求类型 01Rxinterrupttype 01Rxtimeoutenable允许/不允许Rx 0=1=使Rxerrorstatusinterruptenable允许/不允许UART =不允许1Loop-back 1UARTloopback 01Loop-back 01 00=0110BDMA011BDMA100=0110BDMA011BDMA1TxFIFOTriggerLevel:这两位确定发送FIFO[7:6]0001=410=811=12RxFIFOTriggerLevelFIFO[5:4]0001=410=811=12[3] 0=正常 1=TxFIFO复 0=正常 1=RxFIFO复FIFO 0= 1=FIFO模AFC(AutoFlowControlAFC 0=1=使RequesttoSend:如果AFC 0=高电平( 1=低电平(激活TX/RXUARTUARTFIFOUARTMODEM状态寄存器,UART接收缓冲寄存器和FIFO寄存器。UBRDIVnint)(PCLKbpsx161UBRDIVn=(int)(UCLK/(bpsx16))当波特率取115200时,UBRDIVn= /115200/16)–1=详细具体设置应用,请参见HARDWARE\ADS\实验八 五、实验步骤本实验使用实验教学系统的CPU板,串口。在进行本实验时,LCD电源开关、音频的左右声道开关、AD通道选择开关、触摸屏中断选择开关等均应处在关闭状态。在PC机并口和实验箱的CPU板上的JTAG接口之间,连接仿真调试电缆。使用串口线连接PC机串口1和实验箱CPU板的串口,使用直连线连接底板串口2和PC机上的串口2之间的电缆。编译通过后,进入ADS1.2调试界面,加载实验程序\HARDWARE\ADS\打开超级终端0,超级终端1,进行设置(115200,8位数据,1位停止位,无奇;0,1理就是把键盘敲击的字符通过PC机的串口发送给实验箱上的ARM的CPU板的串口0,ARM的CPU板上的串口得到字符后,通过ARM把它送给CPU板上的串口0输出给PC,以及通过底板上的串口1,送给PC机。这样,就完成了串口间的收发数据。实验九ARMA/D一、实验目的学习A/D二、实验内容三、实验设备四、实验原理A/DCPU制和及许多其他领域中,A/D转换是不可缺少的。Ti压Vc,然后将Vc与输入模拟电压Vx进行比较。如果Vx大于等于Vc,说明输入的模拟五、三星2410的A/D的工作介S3C2410的A/D8路模拟输入混合器,可以将模拟输入信号转换成 2-9-12-18A/D转换寄存器的配置说明。ECA/D转换状态标志(只读[15]0=A/D转换 1=A/D转换结PRSCENA/D(预定值)[14]0=1=使PRSCVL 000=AIN0001=AIN1010=AIN2011=100=AIN4101=AIN5110=AIN6111=STDBM模式选择 0=普通模 1=待命模READ_ 0=通过读操作关 1=通过读操作启ENABLE_STARTA/D(READ_START 0=关闭 1=A/D转换开始,之后该位自动清除表2-9-2为A/D转换器转换模式的配置说明,intGet_AD(unsignedcharch){inti;intif(ch>7)return for(i=0;i<16;i++){ rADCCON|=0x1; //启动A/D转换rADCCON=rADCCON&0xffc7|(ch<<3);while(rADCCON&0x1); while(!(rADCCON&0x8000));//避免第二个标志出错val+=(rADCDAT0&0x03ff);}return(val>>4);16}void = //ADCStartorInterval 0;//设置成为ADC}详细具体的应用,请参见HARDWARE\ADS\实验九 六、实验步骤本实验使用实验教学系统的CPU板,串口、AD通道选择开关、LCD单元。在进行在PC机并口和实验箱的CPU板上的JTAG接口之间,连接仿真调试电缆。使用串口线连接PC机串口1和实验箱CPU板的串口,使用直连线连接底板串口2和PC机上的串口2之间的电缆。检查连接是否可靠,可靠后,接入电源线,系统上电。拨码开关SW3为选中的A/D转SW3开关ON状态SW31ONAD转换器的通道1,如果,8个通道全部选择为ON,则表示用8个通道。本实验程序使用通道1数据,所以,SW3的1应该拨到ON状态。要给ADIN一个输入信号,可以是底板上的SQUARE信号和SINE信号,也可是外部信号,但是必须注意,接外部电压信号时,要共地,0—2.5VADS1.2HARDWARE\ADS\实验九\AD.mcp编译通过后,进入ADS1.2调试界面,加载\实验程序\HARDWARE\ADS在ADS调试环境下,全速运行映象文件。打开LCD电源开关,检查SW3上选择的是通道几。确认后,观察LCD上1通道当前的情况。由于液晶的显示速度比波型慢许多,使得的ARMCPU板所到的电压值的变化范围不足0—2.5V,故而到的数字值,不实验十模拟输入一、实验目的二、实验内容示电平的高低,同时,LCD上显示相应的数据值。三、实验设备四、实验原理及程序分析本实验为模拟输入输出接口的实验,其基本原理就是使用一片缓冲74LS244锁存74LS273保留,CPU通过选中锁存,并预先设给锁存器地址内的内在C程序中的实现,如下程序所示:while(1)rrr(*(volatileunsigned d0=rrr>>7&1;d1=rrr>>6&1;d2=rrr>>5&1;d3=rrr>>4&1;d4=rrr>>3&1;d5=rrr>>2&1;d6=rrr>>1&1;d7=data=(*(volatileunsigned if(data!=data_pre){Set_Color(GUI_YELLOW);data_pre=data;}}详细具体的应用,请参见HARDWARE\ADS\实验十 五、实验步骤道开关、触摸屏中断选择开关、AD通道选择开关等均应处在关闭状态。编译通过后,进入ADS1.2调试界面,加载实验程序\HARDWARE\ADS\在ADS调试环境下全速运行映象文件。LCD上有图形显示后,按下实验箱下部一排中的任一模拟输入的带锁键值,观察8位数码管上方的8个LED灯的亮灭情况,以及LCD上12550,2在不按下时12;4;8;16;32;64;128。按下时均代表0。该实验是从数据总线上把检测到的数据变化,锁实验十一键盘接口和七段一、实验目的二、实验内容三、实验设备四、实验原理HD7279S3C4104(时钟信号CLDTA#KY),EL-AM-830I/HD727AS3C241HD779#KYIOHD279AHD2794X48 下的五、实验步骤本实验使用实验教学系统的CPU板,键盘、8位数码管。在进行本实验时、AD通道选择开关、LCD均应处在关闭打开ADS1.2开发环境,从里面打开\实验程序\HARDWARE\ADS\实验十一编译通过后,进入 实验十二LCD一、实验目的学习LCDARMLCD二、实验内容三、实验设备四、实验原理S3C2410中具有内置的LCD控制器,它能将显示缓存(在SDRAM器中)中的LCD图像数据传输到外部的LCD驱动电的逻辑功能。它支持单色、4级、16级灰度(time-basedditheringalgorithm)和帧率控制(FrameRateControl)方法,在的相应寄存器写入不同的值,来配置不同的LCD显示板。VFRAMELCDLCDLCD屏开始显示新的一帧,LCD控制器在一个完整帧的显示后发出VFRAME信号。VLINELCDLCD,LCDLCDVLINEVCLKLCDLCD,LCDVCLK的上升沿发送数据,LCD驱动器在VCLK的下降沿采样数据。VMLCDLCDVM闭象素的行和列电压的极性。VM的VLINE信号后触发。VD[23:0]:LCD象素数据输出端口。LCDREGBANK,LCDCDMA,VIDPRCSTIMEGEN和LPC3600。REGBANK有17个可编程寄存器,用于配置LCD控制器。LCDCDMA为的DMA,它可以自动地入的情况下显示数据。VIDPRCSLCDCDMA接收数据,将相应格式(比如4/8位单含可编程的逻辑,以支持常见的LCD驱动器所需要的不同接口时间和速率的要求。TIMEGEN部分产生VFRAME,VLINE,VCLK,VM等信号。以及彩像数据在LCD液晶屏上是如何显示的规则。320x240像素的8位数据的256彩色LCD格式,这因硬件而定。在彩像显示时,首先要给显示缓存区一个首地址,这个地址要在4字节对齐的边界上,而且,需要在SDRAM的4MB字节空间之内。它是通过配置相应的寄存器来实现的。之后,接下来的76800字节,就为显示缓存区,这里的数据会直接显示到LCD屏上去。屏上图像的变化是由于该显示缓存区内数据的变化而产生的。在了解了8位彩色LCD显示原理之后,通过正确配置S3C2410的LCD控制器相应的寄存器,就能正确启动LCD的显示。请仔细阅读各寄存器的配置项。 STN:VCLK=HCLK/(CLKVALx2)(CLKVAL≥2TFT:VCLK=HCLK/[(CLKVAL+1)x2](CLKVAL≥0 0=每一帧 1=由MVAL定
11TFT 0LCDFIFO1为[13:[5:为 之间的延时00=16HCLK,01=3210=48HCLK,11=64HOZVAL:[18:8]确定LCD,HOZVAL节数4倍数120LCD的水X=120不支持,因为一行包含15个字节,而X=128可以被支持(16个字节),额外的8点将被LCD驱动器放弃.LINEBLANK10,VCLK10表2-12-4为LCD的控制寄存器4的的配置说明。VMRate=VLINERate/(2*MVAL) 高电平的宽度[7:2] 00=16HCLK,01=3210=48HCLK,11=64为0=在VCLK下降沿数据被取1=在VCLK上升沿数据被取INVVLINE9STN/TFT:0=1=INVVFRAME8STN/TFT:这个位设置VFRAME0=1=INVVD[7]STN/TFT:这个位设置VD(data)脉冲的极0=1=VDisINVPWREN5STN/TFT:这个位设置PWREN0=1=BSWP1STN/TFT:0=Swap1=SwapHWSWP0STN/TFT:0=Swap1=SwapLCDBANK: LCDBASEU: LCD表2-12-7为LCD的帧缓冲区开始地址寄存器2的的配置说明。LCDBASEL=LCDBASEU(PAGEWIDTHOFFSIZE)xLINEVAL注:用户通过改变LCDBASEU和LCDBASEL的值来滚动屏幕,但在帧结束时,不能改变LCDBASEU和LCDBASEL的值,因为预取下一帧的数据优先于改变帧,如果这时改变帧, T,中断应当被,否则如果在 T后,任意中断刚好执行,因为ISR的执行 T的值可能是旧的。OFFSIZE: 注:PAGEWIDTHOFFSIZEENVID=0S3C2410 ((n)&0x1fffff)#defineMVAL(13)#define #defineMODE_CSTN_8BIT #defineLCD_XSIZE_CSTN(320)#defineLCD_YSIZE_CSTN#defineSCR_XSIZE_CSTN(LCD_XSIZE_CSTN*2) #defineSCR_YSIZE_CSTNLCD_YSIZE_CSTN*2)//#defineHOZVAL_CSTN(LCD_XSIZE_CSTN*3/8-1)//ValidVDdatalinenumberis8.#defineLINEVAL_CSTN #define #define #defineLINEBLANK_CSTN (16&0xff)#defineCLKVAL_CSTN //130hz@50Mhz,WLH=16hclk,WDLY=16hclk,LINEBLANK=16*8hclk,VD=8#defineLCDFRAMEBUFFER0x voidLCD_Init(inttype)//SavethewastedpowerconsumptiononGPIO.rIISPSR=(2<<5)|(2<<0);//IIS_LRCK=44.1Khz@384fs,PCLK=50Mhz.rGPHCON=rGPHCON&~(0xf<<18)|(0x5<<18);caseframeBuffer8Bit=(U32(*)[SCR_XSIZE_CSTN///PackedType:TheL.C.Mof12and32is96.//8-bitsinglescan,8bppCSTN,ENVID=offrLCDCON5=rLCDSADDR3=(((SCR_XSIZE_CSTN-LCD_XSIZE_CSTN)/2)<<11)|(LCD_XSIZE_CSTN/2);rREDLUT=0xfdb96420;rBLUELUT=0xfb40;}}一下绘图的API函数,具体的使用介绍见第4章实验五。U32GUI_Init voidDraw_Point(U16x,U16 //绘制点U32Get_Point(U16x,U16y); voidDraw_HLine(U16y0,U16x0,U16 voidDraw_VLine(U16x0,U16y0,U16y1); voidDraw_Line(I32x1,I32y1,I32x2,I32y2); voidDraw_Circle(U32x0,U32y0,U32 voidFill_Circle(U16x0,U16y0,U16r); //填充圆APIvoidFill_Rect(U16x0,U16y0,U16x1,U16y1);//填充区域APIvoidSet_Color(U32 voidSet_BkColor(U32 voidSet_Font(GUI_FONT*pFont); voidDisp_String(constI8*s,I16x,I16 五、实验步骤编译通过后,进入ADS1.2调试界面,加载\实验程序\HARDWARE\ADS实验十三触摸屏实验一、实验目的二、实验内容三、实验设备四、实验原理4两导电层在触摸点处接触。如图2-13-1。当给Y电极对施加电压,而X电极对不加电压时,通过测量X+电极的电压,通过A/D转YMON,nYPON,XMONXPCPUA[7]口相连,YPCPUA[5]S3C2410nYPON,YMON,nXPON,XMON输出YMON,nYPON,XMON进而内部中断。触摸屏XP口需要接一个上拉电阻。==模式将X的位置写入ADCDAT0寄存器的XPDATA位。当ADCTSC寄存器的AUTO_PST0和XY_PST=2时进入Y位置转换模式,这种模式将Y的位置写入ADCDAT1寄存器的ExternalExternalADCDAT1。位1:启动ADC0AD转换触摸屏控制寄存器位0YMON输出0YMHi-1YMON1(YM0nYPON输出0YPExternal1nYPON输出1YPisconnectedwith0XMON输出0XMHi-1XMON1(XM0nXPON输出0XPExternal1nXPON1XPisconnectedwith0XP1=XP上0=普通AD1XY00=01X10Y11=AD转换开始延时寄存器
位位0=触笔按下状 1=触笔抬起状010001X10Y11X或Y转换后的数 数据值:0~ =(0x5000);//ADCStartorInterval =rADCCON=(1<<14)|(49<<6)|(7<<3)|(0<<2)|(1<<1)|(0);intDat0,intCount=5; unsignedintx,y; unsignedintAD_XY=0;//存放最终XY的转换结果Dat0= while((rADCDAT0&0x8000)|(rADCDAT1&rGPGUP= //设置GPIO,GPG上for(i0;iCount;iYCountrADCCON=while(rADCCON&0x1); while(!(0x8000&rADCCON)); //测试EC位,转换是否结束Dat0(rADCDAT0)& }if(Dat0!=0){ x=Dat0/Count;Dat0=for(i0;iCount; rADCCON=while(rADCCON&0x1); while(!(0x8000&rADCCON));//测试EC位,转换是否结束Dat0(rADCDAT1& }y=Dat0/}rGPGUP= AD_XY=(x16)| while(!((rADCDAT0&0x8000)&(rADCDAT1& 下的Touch.mcp项五、实验步骤编译通过后,进入ADS1.2调试界面,加载\实验程序\HARDWARE\ADS实验十四音频录放实验一、实验目的二、实验内容三、实验设备四、实验原理S3C2410IIS(Inter-ICSound)8/16CODEC。IIS总线接口对FIFO存取提供DMA传输模式代替中断模式,它可以同时发送数16,32,48fs(fs)对主时钟和外部CODEC时钟的可编程的频率分频器FIFO1,FIFO发送和接收FIFO的存取来发送和接收数据。志来自动请求DMA的服务。IIS-BUS(IISDI知道发送方正发送多少位的数据。当系统字长度大于发送放的字长度时,字被切断(最低数据位设置为0)来发送。如果接收方发送比它的字长度的位时,多的位0。所以有固定的位置,而低位的位置依赖于字长度。发送器总是在IISLRCK变化的下一个时钟周期发送下一个字的。发送器的串行数据发送可以在时钟信号的上升沿或下降沿被同步。可是串行数据必须在串行时钟信号的上升沿锁存进,所以当发送数据用上升沿来同步时有一些限制。LR通道选择线指示当前正发送的通道。IISLRCK即可号在串行时钟的上升沿锁存。IISLRCK在发送前变化一个时钟周期,这允许从发送方可以同步发送串行数据,更进一步,它允许接收方先前的字和清除输入来接对IIS音频接口的正确使用,首先,要正确对IIS相关寄存器的进行配置:见表Left/Right 01TransmitFIFOreadyflag:FIFO(只读 1FIFO准备好(不空)ReceiveFIFOreadyflag:FIFO(只读 1FIFO准备好(不满)TransmitDMAservicerequestenable:DMA(只读 ReceiveDMAservicerequestenable:DMA TransmitchannelidleCommand 0=产生IISLRCK1IISLRCKReceivechannelidleCommand 0=产生1=不产生IISprescaler 01IISinterface 0=IIS不允许(停止 1=IIS允许(启动Master/slavemodeselect Transmit/receivemodeSelect:发送/接收模式选择[7:6]00=不传输 01=接收模式10=发送模 11=发送/接收模Activelevelofleft/rightChannel Serialinterface 0IIS1MSB(Left)-justifiedSerialdatabitper 0=8 1=16 0256fs,1384fs(fsSerialbitclockfrequency [1:0]00=16fs01=10=48fs11=01DMA01DMA01=使能01FIFO[5:0]0-IIS到的数据从这里发出去,同时,也把数据收进来,送入FIFO中。 五、实验步骤开关、LCD电源开关、触摸屏中断选择开关等均应处在关闭状态。如果喇叭声音过大,顺时针调小LCD下方的音量旋钮到合适音量。ADS1.2\HARDWARE\ADS\实验十四\IIS.mcp编译通过后,进入ADS1.2调试界面,加载\实验程序\HARDWARE\ADS此时,在喇叭中应有音乐实时。停止运行ADS调试软件。音乐停止,运LCDADS实验十五USB一、实验目的二、实验内容三、实验设备四、实验原理USB(UniversalSerialBus)即通用串行总线,是现在非常流行的一种快速、PDIUSBD12;PDIUSBD12,PDIUSBD12接收到令牌包后就给S3C2410发中断。S3C2410PDIUSBD12的。PDIUSBD12令字分为三种:初始化命令字、数据流命令字和通用命令字。详细具体的应用,请参见HARDWARE\ADS\实验十五 五、实验步骤音频的左右声道开关、A/DLCD均应处编译通过后,进入ADS1.2调试界面,加载\实验程序\HARDWARE\ADS入设备USB设备。此时,打开随箱提供的/实验软件syrj/tools/目录下的上层应用程序usbhidio.exe文件2-15-2,在BytestosendWriteReportSendandReceiveDataOnceContinuous,OnceContinuousBytesReceive实验十六SD一、实验目的理解SD二、实验内容三、实验设备四、实验原理SD卡(SecureDigitalMemoryCard)是近它的SDMI标准使得它存时,它也兼容MMC卡。SD9CMD,工作频率25MHz。通信协议属于
在本实验中,S3C2410通过几根控制线和一条中断请求线与一片SD卡(MMC卡)的桥接控制W86L388D相连,利用W86L388D控制完成对SD卡令的发送和数据的传输功能。也就是说,给SD卡送命令,之后,从SD卡上数据,把数据送到数据总线上。写数据也是先送到数据总线上,经W86L388D送给SD卡。SD卡的协议命令,均由CPU给W86L388D编程实现。具体令操作,及协议请参见文档W86L388D_prog.PDF和SD卡.PDF。详细具体的应用,请参见\实验程序\HARDWARE\ADS\实验十六\SD_CID五、实验步骤CPU,SDLCD频的左右声道开关、A/D均应处在关闭状打开ADS1.2开发环境,从里面打开\实验程序\HARDWARE\ADS\实验十六编译通过后,进入 卡槽中拔出时,D12灯灭。这是通过中断检测SD卡有无。在ADS1.2开发环境下打开\实验程序\HARDWARE\ADS\实验十六 下编译通过后,进入 \SD_Data\Debug中的映象文件程序映像SD_check.axf。插入SD卡,打开LCD的电在ADS调试环境下全速运行映象文件。则LCD屏上会显示出SD卡的ID。这是通过给SD卡发送读卡命令后,SD卡把其ID号送回给CPU处理,ARM把得到的ID实验十七PS2一、实验目的二、实验内容三、实验设备四、实验原理PS/2模块单元将到的键盘或鼠标发来的数据包,首先在AT89C2051的P1S3C2410响应中断后,在其中断服务子程序中,要先读(*ps2_cs)中的值,它的值代表着鼠标、键盘的识别码,然后设S3C2410的一IO为输出端口并PS/2模块发送一个下降沿信号,该信号为AT89C2051的中断信号。PS/2模块在收到该触发中断的信号后,进入其中断服务子程序,程序中将标志flag1PS/2模块程序检测flag1后,将P1口准备好第二个数据(扫描码长度),然S3C2410的那IO端口发送一个高电平信号,表AT89C2051的P1S3C2410IO端口的高电平后,就开始读然后等待…….S3C2410的中断处理中读完整个数据包,PS/2模块在发最后一位时给INT1一个低电平。详细具体的应用,请参见\实验程序\HARDWARE\SDT\实验十七 下的五、实验步骤本实验使用实验教学系统的CPU板、PS2接口模块、PS2键盘、PS2鼠标。在进行本实验时、AD通道选择开关、LCD电源开关、音频的左右声道开关、触摸屏中断选孔,将PS2鼠标的电缆线插入下面一个PS2插孔。为“115200-8-N-1(。 ADS1.2调试界面,加载\实验程序\HARDWARE\SDT PS2D1可以看到D1灯闪烁,同时串口调试助手收到键盘的按键码。见图2-48。附:烧写程序Jflash-s3c2410的使用一、相应的bootloader映像文件\实验软件\startup_code\hardboot.bin,到NANFLASH里。该文件是一个HARDWAREucosII到NANFLASH里的,该文件是一个做linux实验的启动代码。二、用Jflash-s3c2410软件烧写bootloader映像文 下的Jflash-文件和vivi、hardboot.bin等文件拷贝到你的linux操作系统的同一 下 下的终端输入./Jflash-s3x2410vivi/t=4,如检测到CPU,会出现S3C2410X. detected的字样。同理,当做HARDWARE或ucosII实验时,则要首先确认NANDFlash中是否存在hardboot.bin用./Jflash-s3x2410hardboot.bin/t=4命令来到NANDFlash中。时间,待烧写完成。此时,有提示,输入2即可完成bootloader的。校验。给系统上电,请快速按任意键进入VIVI。这是因为系统默认的延时时间较短的缘故。可以在进入到vivi下,使用命令paramsetboot_delayvivi以后,输入如下命令:vivi>bonpart0128k192k2m14m:m该命令用于NANDFlash分区,建立好分区以后,不关掉电源
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 回转窑石灰煅烧工岗位技术规范考核试卷含答案
- 冬季高温预警应急预案(3篇)
- 公路渗井施工方案(3篇)
- 冷再生处理施工方案(3篇)
- 保险大灾应急预案模板(3篇)
- 亲子蛋糕游戏活动方案策划(3篇)
- 1-2-4-5-Tetra-1H-tetrazol-5-yl-benzene-生命科学试剂-MCE
- 医院仓库安全应急预案(3篇)
- 厂外作业安全应急预案(3篇)
- 吉祥驾校国庆活动方案策划(3篇)
- 2025年北京证券交易所招聘笔试专项练习含答案
- 2026年四川省卫生事业单位招聘考试(医学影像)历年参考题库含答案
- 肝脓肿治疗方案及监测要点
- 太阳纸业采购制度
- 2025四川成都职业技术学院四季度编制外(考试)招聘工作人员23人考试笔试备考试题及答案解析
- 《高风亮节》教学课件-2025-2026学年湘美版(2024)初中美术八年级上册
- 2024年12月贵州高中学业水平考试化学试卷真题(含答案详解)
- DB42∕T 2266-2024 建筑消防设施年度检测技术规程
- DB45∕T 2954-2024 农田建设项目概预算定额及其编制规程
- 施工孔洞安全管理制度
- JG/T 24-2000合成树脂乳液砂壁状建筑涂料
评论
0/150
提交评论