




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
滁州职业技术学院信息工程系XXXX届计算机应用专业毕业论文姓 名: 班 级: 设计课题:基于NE-STR750开发板的中断控制器的设计指导教师: 二一一年 月 日摘要摘要嵌入系统不同于以往的通用系统,它具有高集成度、高专用性的特点。嵌入系统的设计者不再使用通用的中断控制器芯片,而是必须设计出适应于该嵌入系统需要的中断控制器模块。中断分为增强型中断控制器(EIC)和外部中断控制器(EXTIT)。本次的实验是介绍外部中断控制器的运行环境及工作原理,在仿真器的帮助下完成对外部中断控制器的设计,通过观察实验现象,知道外部中断控制器的工作原理。本课题是在IAR EWARM集成开发环境下创建工程,向工程里添加所需的文件,设置工程项目配置,编译链接,并将生成的映像文件下载到目标板的RAM或Flash中进行调试,由于在Flash中进行调试要反复对片内Flash编程,本实验将放在RAM中执行关键字 中断 嵌入系统 增强型中断控制器(EIC),外部中断控制器(EXTIT)ABSTRACTEmbedded systems is different from the general system,it has a highly integrated,highspecific features.Embedded system designers no longer use the generic interrupt controller chip,but must be designed to adapt to the needs of embedded system interrupt controller module.Enhanced intrrupt Controller interrupts are divided into(EIC)and the extemal interrupt controller(EXTIT).The experiment is to introduce an external interrupt controller,the operating envionment and works in the emulator with the help of an external interrupt controller design,by observing the experimental results,to know the external interrupt controller works.This topic is in the integrated development environment IAR EWARM create projects,add to the project in the required file.set the project configuration,build and the resulting image file to download to the target boards RAM or Flash debug,due to Flash debugging to be repeated in the on-chip Flash programming,this experiment will be performed on the RAM.Keywords Interrupt,Emneddedsystems,EnhancedInterrupt Controller(EIC),External Interrupt Controller(EXTIT)ii引言引言随着VLSI技术进入深亚微米时代,芯片集成度得到空前的提高。不仅仅是单一的功能模块,甚至是一个完整的系统都可以被集成在芯片中。这是使得嵌入式系统(Embedded System)具备了性能高、体积小、功耗低等特点,嵌入式系统的应用也因此而迅速的发展起来。在实际的嵌入式系统应用中,异步实时交互系统占了很大一部分,这就要求系统对数据或控制信号的输入具有较高的响应速度。而中断方式相对于查询方式具有响应速度快,效率高的特点。因此中断方式为多数嵌入式系统所采用。而中断控制器的设计也由独立器件变为片上系统的一部分,因此,中断控制器的设计也就成为嵌入式系统设计的重要组成部分。什么是中断?中断系统是计算机的重要组成部分。实时控制、故障自动处理、计算机与外围设备间的数据传送往往采用中断系统。中断系统的应用大大提高了计算机效率。不同的计算机其硬件结构和软件指令是不完全相同的,因此,中断系统也是不相同的。计算机的中断系统能够加强CPU对多任务事件的处理能力。中断机制是现代计算机系统中的基础设施之一,它在系统中起着通信网络作用,以协调系统对各种外部事件的响应和处理。中断是实现多道程序设计的必要条件。 中断是CPU对系统发生的某个事件作出的一种反应。 引起中断的事件称为中断源。中断源向CPU提出处理的请求称为中断请求。发生中断时被打断程序的暂停点成为断点。CPU暂停现行程序而转为响应中断请求的过程称为中断响应。处理中断源的程序称为中断处理程序。CPU执行有关的中断处理程序称为中断处理。而返回断点的过程称为中断返回。中断的实现实行软件和硬件综合完成,硬件部分叫做硬件装置,软件部分称为软件处理程序。中断的概念:指当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执行过程。即在程序运行过程中,系统出现了一个必须由CPU立即处理的情况,此时,CPU暂时中止程序的执行转而处理这个新的情况的过程就叫做中断。35目录第一章嵌入式系统11.1嵌入式系统概论11.1.1嵌入式的基本概念11.1.2嵌入式系统的特点11.1.3 嵌入式系统的应用范围11.2 基于ARM的嵌入式系统开发21.2.1 基于ARM内核的嵌入式器件21.2.2 嵌入式系统开发流程3第二章 NE-STR750开发学习板及实验环境52.1 NE-STR750开发学习板规格介绍52.1.1 NE-STR750开发学习板简介52.1.2 NE-STR750开发学习板的硬件资源.52.2 开发板调试连接的方法及硬件布局62.2.1 开发板调试连接的方法62.2.2 NE-STR750开发学习板的硬件布局62.2.3 NE-STR750开发学习板启动模式选择介绍72.3 开发集成环境介绍82.3.1 IAR EWARM开发集成环境的介绍82.3.2 IAR EWARM集成开发环境的安装步骤9第三章 EXTIT外部中断控制器113.1 外部中断控制器EXTIT的简介113.1.1 EXTIT的概念及功能描述113.1.2 EXTIT的主要特性及结构图113.2 外部中断线的映射表及中断向量表123.2.1 外部中断线的映射表133.2.2中断向量表143.3寄存器介绍15第四章 实验环境搭建及程序介绍184.1实验环境搭建184.1.1 生成新的工作区184.1.2 给项目添加文件194.1.3设置项目选件204.2程序介绍254.2.1Main.c的介绍254.2.275xextit.c部分程序的介绍294.2.3 75x_it.c部分程序的介绍29第五章实验现象及分析315.1编译连接预处理315.2 用C-SPY调试程序315.3EXTIT实验现象32结论33致谢34参考文献35滁州职业技术学院软件技术专业毕业论文第一章 嵌入式系统嵌入式技术是当前发展最快、应用最广、最有发展前景的重要技术之一,已被广泛应用于工业控制、通信、西西家电、医疗仪器、智能仪器仪表、汽车电子、航空航天等各个领域。1.1 嵌入式系统概论1.1.1 嵌入式的基本概念国际电气和电子工程师协会(IEEE)从应用的角度对嵌入式系统的定义是:嵌入式系统是用于控制、监视或者辅助操作机器和设备的装置。另一种从系统的角度定义是:嵌入式系统是设计完成复杂功能的软件和硬件,并使其紧密耦合在一起的计算机系统。目前我们最常见、通用的定义是:“嵌入式系统”是以应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积及功耗严格要求的专用计算机系统。这是从技术的角度来定义的,更加全面,体现了嵌入式系统的“嵌入”、“专用性”、“计算机”的基本要素和特征。总之,凡是带有微处理器的专用软、硬件系统都可以称之为“嵌入式系统”。(小资料:IEEE于1963年1月1日由AIEE(美国电气工程师学会)和IRE(美国无线电工程师学会)合并而成,是美国规模最大的专业学会。IEEE是一个非营利性科技学会,该组织在太空、计算机、电信、生物学、电力及消费电子产品等领域中的都是主要的权威。)1.1.2 嵌入式系统的特点与通用的计算机系统相比,嵌入式系统具有以下特点:(1) 系统内核小;(2) 专用性强;(3) 系统精简;(4) 高实时性操作系统(Real-Time Operating System ,RTOS);(5) 嵌入式软件开发走向标准化;(6) 嵌入式系统开发需要开发工具和软环境。1.1.3 嵌入式系统的应用范围嵌入式系统可以说是无所不在,由于嵌入式系统具有体积小、性能好、功耗低、可靠性高以及面向行业应用的突出特征,目前已广泛的应用于各个领域当中。可以毫不夸张的说,我们正生活在一个到处是嵌入式的世界。(1)工业控制领域。如工业过程控制、数控机床、电网安全、污水处理系统、自动化工程、建筑设备、计算机辅助制造系统等。(2)家电领域。如机顶盒、PDA、DVD、MP3播放器、数码相机、数字电视、网络空调及家庭网关之上。(3)商业和金融领域。如自动柜员机、信用卡系统、售货端系统及公共交通智能卡之上。(4)交通运输领域。如车辆导航、流量控制、信息监控、公路运输、燃料服务、航空管理、雷达系统、交通指挥系统等方面。(5)通信领域。如电话交换系统。电缆系统、数据交换设备、手机等方面。(6)建筑领域。如电力供应、备用电源和发电机、火警控制、供热和通风、电梯、车库管理等方面。(7)环境监控领域。如水文资料实时监控、水土质量检测、地震检测网控制、实时气象信息网控制等方面。(8)医疗领域。如心脏除颤器、心脏起搏器、病员监视系统、X光设备等。1.2 基于ARM的嵌入式系统开发ARM处理器被越来越多的嵌入到各种产品中。一个基于ARM的嵌入式系统通常由以下硬件部分组成:ARM处理器、外设、控制器和总线。一个基于ARM的嵌入式系统包含以下软件组成部分:初始化代码、操作系统和应用软件。1.2.1 基于ARM内核的嵌入式器件所有基于ARM的设备都是有一些软件和硬件部件的组合。如图1.4所示为一个典型使用ARM内核的嵌入式期间框图。图中每个方框表示一个功能或接口,方框之间的连线是传送数据的总线。可以把这个器件分为四个主要的硬件部分。(1) ARM处理器:控制整个器件。有多种版本的ARM处理器,以满足不同的处理特性。(2) 控制器:协调系统的重要功能模块。(3) 外设:提供芯片与外部的所有输入/输出功能,器件之间的一些独有特性就是靠不同的外设来体现的。(4) 总线:用于在器件不同部件之间进行通信。图1-1 ARM内核的嵌入式期间框图 一个基于ARM的嵌入式系统包含以下的软件组成部分:初始化(即启动)代码、操作系统和应用程序。 初始化代码配置硬件到一个确定的状态;初始化成功后,操作系统就能够被装载和执行;操作系统提供一个通用的编程环境,以便各种应用能高效地是使用系统的硬件资源;设备驱动给外设提供一个标准的程序接口;应用程序完成嵌入式系统的某个特定任务。1.2.2 嵌入式系统开发流程嵌入式系统开发涉及到硬件、软件和人力资源等元素,以此在系统开发过程中,要综合考虑以上各个方面。如图1.5嵌入式开发的一般过程。 (1) 需求分析。确定设计任务和设计目标,并提炼出设计规格说明书,作为正式设计指导和验收的标准。系统的需求一般分功能性需求和非功能性需求两方面。(2) 系统定义与结构设计。描述系统如何实现所述的功能和非功能需求,包括对硬件、软件和执行装置的功能划分,以及系统的软件、硬件选型等。(3) 硬件、软件系统设计与实现。基于体系结构,对系统的软件、硬件进行详细设计。为了缩短产品开发周期,设计往往是并行的。(4) 系统集成与测试。把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进单元设计过程中的错误。 (5) 项目评估与总结。项目评估与总结是一个项目进行的反馈机制。图1-2 嵌入式开发流程图本章主要是介绍嵌入式系统的基础。简单地说,嵌入系统是指操作系统和功能软件集成于计算机硬件系统之中。从广义上说,凡是带有微处理器的专用软、硬件都可以称为嵌入式系统。与PC相比,嵌入式系统具有系统内核小、专用性强、系统精简等特点,被广泛应用于工业控制、家电、商业金融、交通运输、通信等各个领域。第二章 NE-STR750开发学习板及实验环境2.1 NE-STR750开发学习板规格介绍2.1.1 NE-STR750开发学习板简介NE-STR750开发学习板是基于ARM7TDMI内核的STR750xF微控制器的完全的开发平台。基于高效、灵活和开放的设计,它使得用户可以轻松快速地掌握该系列微控制器的各种外设以及其它的特性。NE-STR750开发学习板具有丰富的外设接口,包括USB和RS-232连接器、操纵杆、CAN总线接口等。NE-STR750开发学习板内嵌ST-Link硬件仿真器能够支持ST公司出产的基于ARM7、ARM9的各个系列微控制器的仿真与调试。整个开发学习板使用简单,最少只需一根USB线就可以完成开发的仿真与调试。不仅如此,本开发学习板还向外扩展了20针的JTAG口,可以用于其它微处理器的仿真与调试。2.1.2 NE-STR750开发学习板的硬件资源.NE-STR750开发学习板的硬件资源有以下特性:(1)5V或3V供电选择。(2)供电方式:可通过内嵌ST-Link仿真器供电或USB接口供电。(3)NE-STR750核心微控制器为STR50FV2T6。(4)内嵌ST-Link在线仿真器以及20针的JTAG调试接口。(5)SPI Flash编程器接口和M25P08 SPI存储器。(6)两个RS-232连接插座(DB9)。(7)一个B型USB插座。(8)一个CAN连接插座(DB9)。(9)主时钟振荡器4MHZ和32MHZ振荡器。(10)两位7段LED数码管。(11)4个LED发光管。(12)2个GPIO按键。(13)五方向开关量输入摇杆,包括上、下、左、右及选择。(14)RESET按键。(15)一路电位器输入模拟信号。(16)RTC时钟。2.2 开发板调试连接的方法及硬件布局2.2.1 开发板调试连接的方法使用开发学习板上内嵌的ST-Link进行仿真调试。将开发学习板上的JTAG跳线全部连接上,通过ST-Link连接开发学习板与宿主机PC,并且选择ST-Link为其供电,就可以进行下载调试了。2.2.2 NE-STR750开发学习板的硬件布局 NE-STR750开发学习板是围绕TQFP100引脚封装的STR75xF而设计的,其硬件框图如图2-1所示。图2-1 NE-STR750开发学习板硬件框图开发板的资源布局如图2-2所示:图2-2 NE-STR750开发学习板资源布局2.2.3 NE-STR750开发学习板启动模式选择介绍NE-STR750开发学习板可以从以下几个存储区启动:(1) 内嵌的Flash。【JP6(0),JP7(0)】(2) 内嵌的SRAM。【JP6(1),JP7(0)】(3) 有Boot Loader的系统存储器。【JP6(0),JP7(1)】(4) 外部64M位的串行存储器。【JP6(1),JP7(1)】 可以通过设置开发学习板上的TP6和JP7来设置启动的地方,如图2-3所示。本实验选择是内嵌的SRAM存储区启动方法。用到的引脚接法是JP6(1),JP7(0)的接法。图1-3启动模式选择2.2.4 NE-STR750开发学习板的电源介绍NE-STR750开发学习板提供3.3V或5V电压,通过设置跳线JP2可选择所需供电电压。图2-4 5V和3V供电选择 本实验中,整个开发学习板供电是通过USB接口供电,直接用USB线将开发板连接到USB接口。2.3 开发集成环境介绍2.3.1 IAR EWARM开发集成环境的介绍IAR EWARM(IAR Embeddeed Workbench for ARM)是IAR System 公司为ARM微处理器开发的一个集成开发环境。比较其它的ARM开发环境,IAR EWARM 具有入门容易、使用方便和代码紧凑等特点。 IAR EWARM中包含一个全软件的模拟程序(simulator)。用户不需要任何的硬件支持就可以模拟各种ARM内核、外部设备甚至中断的软件运行环境。从中可以了解和评估IAR EWARMDE的功能和使用方法。2.3.2 IAR EWARM集成开发环境的安装步骤首先,打开我的电脑D:找到IAR EWARM软件的安“EWARM-KS-WEB-440A,32KKickstart Edition.exe”安装程序并行,然后单击“Install the IAR Embedded Workbench”开始安装,如图2-5所示。图2-5 欢迎界面输入许可证号(License)和密钥(License Key),它们从软件包中的EWARM-KS-WEB-440A,32K Kickstart Edition的文本文档中提取。分别在图2-6和图2-7中输入相关信息。图2-6 License输入窗口图2-7 License输入窗口许可接受后一直按默认设置安装。安装完成后退出即可。第三章 EXTIT外部中断控制器3.1 外部中断控制器EXTIT的简介3.1.1 EXTIT的概念及功能描述(1) 外部中断的概念。外部中断一般是指由计算机外设发出的中断请求,如:键盘中断、打印机中断、定时器中断等。外部中断是可以屏蔽的中断,也就是说,利用中断控制器可以屏蔽这些外部设备的中断请求。EXTIT包括16个用于产生中断请求的边缘检测器,每个中断线能够独立地设置触发事件(上升沿或下降沿),也可以独立地被屏蔽。挂起寄存器用于保存中断请求的状态。 (2) 中断的功能描述。要产生中断,中断线就要被设置并使能。这需要将触寄存器设置成需要的极性,通过将屏蔽寄存器中的相应位置1使能中断请求。当选择的边沿在外部中断线上发生时,中断请求就产生,这个请求在挂起寄存器位置被置1后复位。中断请求也可以通过软件在软件寄存器中置1来产生。 硬件中断选择使用如下步骤将这16条线配置为中断源: 配置16条中断线的屏蔽位(EXTIT_MR); 配置中断线的出发选择位(EXTI_TSR); 配置用于控制映射到EXTIT上的EIC IRQ通道的使能位和屏蔽位,以便任何一个来自16条线的中断都可以正确的被识别。补充:挂起寄存器(EXTIT_PR);中断屏蔽寄存器(EXTIT_MR);软件中断寄存器(EXTIT_SWIR);触发选择寄存器(EXTIT_TSR) 。 软件中断线选择该16条线也可以作为软件中断线被配置,下面的过程用来产生软件中断: 配置16条中断线的屏蔽位(EXTIT_MR); 置位软件中断寄存器中需要的位(EXTIT_SWIR)。3.1.2 EXTIT的主要特性及结构图外部中断控制器EXTIT的主要特性有以下4点: 支持产生16个中断请求; 独立触发和屏蔽每根中断线; 指定每个中断线的状态位; 产生多达16个中断请求。如图3-1所示的是EXTIT控制器模块的结构图,通过设置其中的模块来控制外部中断。如图3-2所示为中断管理模块原理图,可以看出处理中断的各个模块及流程。图3-1 EXTIT控制块的结构图图3-2 中断管理模块原理图3.2 外部中断线的映射表及中断向量表3.2.1 外部中断线的映射表(1)外部中断线#14在内部连接由SUSPEND事件产生的USB Wake-up。它可以在任意活动下从STOP模式产生唤醒,所以需要做以下设置: 设置外部中断线#14上升沿有效; 设置USB; 将USB设置为挂起模式,进入STOP模式。(2)外部中断线#15连接位于P1.15引脚与RTC报警事件之间的或门输出。RTC连接可以用于在RTC报警事件中从STOP模式唤醒,所以需要做以下设置: 在P1.15引脚上使用低电平; 设置外部中断线#15上升沿有效; 设置RTC产生RTC报警。(3)为从STANDBY模式中唤醒,没有必要设置外部中断线#15。外部中断线的映射表如表3-1所示。表3-1 外部中断线映射表EXTIT Line(#)EXTIT Line Source0P0.02(TIM2_OC1)1P0.05(SSP0_SCLK)2P0.07(SSP0_MOSI)3P0.08(I2C_SCL)4P0.10(UART0_RX)5P0.14(CAN_RX)6P0.19(SSP1_NSS)7P1.058P1.079P1.0910P1.10(PWM_EMERGENCY)11P1.1112P1.1213P1.1314(1)USB Wake-up from SUSPEND15(2)(3)P1.15(WKP_STDBY PIN)or RTC_ALARM3.2.2 中断向量表 ARM7内核提供两种中断级别:FIQ(Fast Interrupt Request)主要用于快速、低反应时间的中断处理:IRQ(Interrupt Request)主要用于其他的普通中断处理。STR750中断管理系统提供了两个管理模块:增强型中断控制器EIC和外部中断控制器EXTIT。(1)有32个中断通道被映射到ARM7TDMI的低优先级中断请求引脚(IRQ)上,如果复用中断源被映射到相同的中断向量上,软件会读取外部中断位寄存器来决定准确的中断源 表3-2 IRQ中断向量表(2)在大多数情况下,只需要在应用中使能一个FIQ中断源。如果使能了两个FIQ中断源,可以通过读取EIC寄存器中的FIQ挂起位来决定中断源 由于FIQ没有优先级机制,所以有多个FIQ同时发生时,软件将通过查询挂起来管理优先级别并且处理并行操作。表3-3 FIQ中断向量表向量简称中断源FIQ0EXTITExternal interrupt line INT0FIQ1WATCHDOGWatchdog global interrupt3.3 寄存器介绍(1)挂起寄存器(EXTIT_PR)如图3-3、表3-4所示的挂起寄存器。偏移地址:0Ch复位:xxxx xxxxh图3-3 挂起寄存器的设置表3-4 挂起寄存器各位的详细信息位 号描 述Bits 31:16保留,必须保持复位值(0)Bit 15:0PRx:Pending bit0:无出发时间产生1:选择产生出发事件当外部中断线上产生选择的边沿事件时,这些位被置位通过向这些写入1或者改变边沿检测器灵敏度可以清零这些位注意:如果中断在进入Stop模式前一个周期中发生,那么在从Stop模式退出后EXTIT_PR寄存器会更新,同时如果EXTIT_MR寄存器中的相应位置将会产生中断请求(2) 中断屏蔽寄存器(EXTIT_MR)如图3-4、表3-5所示的是中断屏蔽寄存器的设置及详细信息。偏移地址:00h复位值:0000 0000h图3-4 中断屏蔽寄存器的设置表3-5 中断屏蔽寄存器各位的详细信息位 号描 述Bit 31:16保留,必须保持复位值(0)Bit 15:0MrxInterrupt Mask on line x0:Line x上的中断请求被屏蔽1:Line x上的中断请求被使能(3) 软件终端寄存器(EXTIT_SWIR)如图3-5、表3-6所示的是乳酸钠几十年中断寄存器的设置及详细信息。偏移地址:08h复位值:0000 0000h图3-5 软件中断寄存器的设置表3-6 软件中断寄存器各位的详细信息位 号描 述Bit 31:16保留,必须保持复位值(0)Bit 15:0SWIx:Software Interrupt on line x当向EXTIT_PR寄存器中值为0的位写入1时将置位相应的挂起位如果在EXTIT_MR寄存器的这些位上使能中断,中段请求就会产生这些位是通过清除EXTIT_PR寄存器上的相应位置1来清除的(4) 触发选择寄存器(EXTIT_TSR)如图3-6、表3-7所示的是触发选择寄存器的设置及详细信息。偏移地址:04h复位值:0000 0000h图3-6 触发选择寄存器的设置表3-7 触发选择寄存器各位的详细信息位 号描 述Bit 31:16保留,必须保持复位值(0)Bit 15:0TRx:Trigger event configuration bit of line x0:中断请求被设置在中断线的下降沿1:中断请求被设置在中断线的上升沿注意:(1)由于外部唤醒线为边沿触发,这些线不能有毛刺产生。 (2)如果在写寄存器EXTIT_STR时,在外部中断线上出现上升沿或者下降沿,相应的挂起为将不会被置位。第四章 实验环境搭建及程序介绍4.1 实验环境搭建4.1.1 生成新的工作区(1) 双击桌面IAR的快捷方式打开工作区,生成一个空白的工作区。(2) 选择主菜单“Project-Create New Project”,弹出“生成新项目”窗口。如图4-1所示(3) 在“Tool chain”栏中选择“ARM”,然后单击“OK”按钮,弹出“另存为”窗口。 图4-1 生成新项目窗口 图4-2 生成新项目(5) 在“另存为”窗口中找到D:新建一个文件夹,命名为YXY,打开YXY文件夹,将新项目的名称命名为“EXTIT”然后保存。如图4-2所示。在图4-2中项目“EXTIT”名后面的“Debug”表示本项目输出含调试信息的代码文件。EWARM能输出两种代码模式:Debug和Release。Debug模式生成包含调试信息的程序代码,我们可以利用它在EWARM环境下调试应用程序;而Release模式生成不含调试信息的发行版本的程序代码,其代码比较紧凑,两者的代码量比可以达几倍。“Workspace”窗口顶部的下拉菜单显示当前项目的配置。EWARM为Debug提供两种运行模式,即在片内Flash中运行模式或在片内Flash中运行模式。两种运行模式需要提供不同的连接命令文件(.XCL),此实验选择在ARM中运行模式。项目保存以后,在“EXTIT”目录下生成一个空目录“setting”。注意:EIC-Debug后的*号表示当前的工作区还没有保存。(4)保存工作区。新生成的工作区需保存才有,选择主菜单“File-Save Workspace”,浏览并选择“D: EXTIT”目录,然后输入工作区名“EXTIT”,单击“SAVE”按钮退出。这时在“EXTIT”目录下将生成工作区文件“EXTIT.eww”和项目参数设置文件EXTIT.dep、EXTIT.ewd和EXTIT.ewp等。窗口和断点放置,以及与当前操作有关的其他信息则存储在“setting”目录下的文件中。注意:保存工作区操作完成后项目名后的*号已经消失。4.1.2 给项目添加文件(1) 选择在工作区窗口中的“EXTIT”项目名,使其高亮。单击鼠标右键在弹出的菜单中选择“Add Group”或选择主菜单“Project-Add Group”执行添加文件组命令。在弹出菜单中将文件组起名为“startup” 。 (2)在工作区窗口中选择刚建立的文件目录“startup”,使其高亮。单击鼠标右键在弹出菜单中选择“Add Files.”执行添加文件命令。在弹出的添加文件窗口中浏览“D:Program FilesNE-STR750开发学习板软件包NESTR75xFSTDLIBLIBRARYSTARTUP”目录,从中选择文件75x_init.s和75x_vect.s(对话菜单中的“文件类型”注意选择为All Files(*.*))。这两个文件将添加到工作区窗口的“startup”目录下。 (3)重新选择工作区窗口中的“EXTIT”项目名,使其高亮。单击鼠标右键在弹出的菜单中选择“Add Files.”执行添加文件命令。在弹出的添加文件窗口中浏览“D:Program FilesNE-STR750开发学习板软件包NESTR75xFEXAMPLESEXTIT”目录,从中选择75x_conf.h、75x_it.c、main.c文件。 另外,在这个路径下有一个Readme.txt文件,它是对EXTIT实验的说明,可以看到需要添加的函数文件,这些可以从“Source”库中复制,选择工作区窗口中的EXTIT项目名,单击鼠标右键在弹出菜单中选择“Add Files.”执行添加文件命令。在弹出的添加文件窗口中浏览“D:Program FilesNE-STR750开发学习板软件包 NESTR75xFSTDLIBLIBRARYSRC”目录,从中选择EXTIT实验需要添加的文件75x_lib.c、 75x_gpio.c、75x_eic.c、75x_extit.c和75x_mrcc.c。注意:在项目中添加文件时只需要添加汇编语言和C语言的源程序,不需要添加头文件。但是必须在设置项目的编译器(Compiler)选件时指明包含C语言用的头文件的路径和目录;而汇编程序的头文件路径则由EWARM自动指向,因此不必关心。添加文件后的工作区窗口如图4-3所示。源文件后面的红色星号表示还没有经过编译处理,至此,EXTIT外部中断控制器的工程已经创建完成。图4-3 添加文件后的工作区窗口4.1.3 设置项目选件生成新项目和添加文件后的下一步是为项目设置选件。设置项目选件是非常重要的一步,如果设置不当,编译、连接就会出错,无法生成正确的代码文件。在创建新项目是选择了“Empty project”模板,表示采用默认的项目选件设置。但是这些默认的设置还要根据具体项目进行修改。IAR EWARM提供的项目选件内容繁多,实际上最关键的选件并不多,只要设置正确了,其他的采用默认设置就不会出错。首先选中工作区中的项目名“EXTIT”,单击鼠标右键在弹出的菜单中选择“Options.”或选择主菜单“Project- Options.”。在弹出的“Options”窗口左边的目录“Category”中选择要修改的选件。(1)通用选件“General Option”设置。在弹出的“Options”窗口左边的目录“Category”中选择第一项“General Options”,然后分别在: “Target”页面中,“Processor Variant”框中选择“Device”,并单击右边的器件选择按钮选择芯片型号“ST STR750”,“Processor mode”框中选择“ARM”,其他项采取默认选择,如图4-4所示。其他页面均采用默认选择。图4-4 General Option选件设置另外,EXTIT 实验中涉及fputc函数,要将“Library Configuration”页面上的“Library”选为“FULL”。 (2)C/C+编译器选件设置。在“Options”窗口的目录“Category”中的第“C/C+ Compiler”。本项除了“Preprocessor”页面外均可采用默认选择。“Optimization”页面中,根据项目需要选择按Size优化还是按Speed优化,再选择优化等级。本实验接受默认选择“Size-Low”。“Preprocessor”页面是关键设置,需要指出C语言文件的include文件目录。如果include文件不在标准目录下时,必须在“Addition include directories”框中输入包含本项目include文件的所有目录。一个目录用一行描述,有多个目录时允许用多行。在EIC中,需要输入两个目录“D:Program FilesNE-STR750开发学习板软件包NE-STR750开发学习板软件包NESTR75xFSTDLIBLIBRARYINC和“D:Program FilesNE-STR750开发学习板软件包NE-STR750开发学习板软件包NESTR75xFEXAMPLESEXTIT”,C/C+编译器选件窗口设置如图4-5所示。图4-5 C/C+编译器选件窗口(3)Assemble选件设置。在“Options”窗口的目录“Category”中选择第3项“Assemble”,汇编器的选件设置可以全部采用默认选择。 (4)Linker选件设置。在“Options”窗口的目录“Category”中选择第6项“Linker”。 Output页面,除了采用所有默认选择外,还需要勾选一个“Allow C-SPY-specific extra output file”,如图4-6所示。图4-6 连接器Output选件设置“Extra Output”页面,选择“Generate extra output file”,其余采用默认,如图4-7所示。“Config”页面用于指定本项目使用的连接器命令文件(.XCL)。连接器命令文件中包含连接器的各项命令行参数,用于说明经编译/汇编后生产的各种代码段和数据段如何存放到存储器中。选择“Override default”,然后浏览并选择本项目使用的.XCL文件名“D:Program FilesNE-STR750开发学习板软件包NESTR75xFSTDLIBLIBRARYLINKERlnkarm_ram.xcl”,指定连接命令文件,如图4-8所示。图4-7 连接器Extra Output选件设置图4-8 指定连接命令文件 (5)Debugger选件设置。在目录“Category”窗口中选择“Debugger”。 在“Setup”页面的“Driver”选项中选择“Thired-Party Driver”,勾选“Run to”并填入“main”,如图4-9所示。注意:选择“Thired-Party Driver”是因为在NE-STR750开发学习板上用的是非IAR产品的仿真器ST-Link。如果没有NE-STR750开发学习套件,可选择Simulator模拟执行EWARM调试状态。如果使用IAR的产品J-Link,Driver选项必须选择J-Link/J-Trace。图4-9 Debugger的Setup页面设置在“Download”页面中选择“Verify download”和“Use flash loader”,如图4-10所示。图4-10 Debugger的Download页面设置(6)Thired-Party Driver选件设置。如果使用非IAR公司的仿真器,就必须提供第三方仿真器的驱动程序。NE-STR750开发学习板上的仿真器是ST-LINK,不是IAR公司的,在设置项目选件时必须指定ST-LINK仿真器的驱动程序。 ST-LINK仿真器的驱动程序放在“D:NE-STR750开发学习板NE-STR750开发学习板软件包NESTR75xFST-LINK Driver”目录下,该目录中有两个文件,设置时指向STR75XDriver.dll即可,如图4-11所示。图4-11 Thired-Party Driver设置到此为止,EXTIT项目的所有设置已经全部完成,单击“OK”按钮确认退出项目选件设置操作。以上是对文件添加及项目选件Option的设置。在后面的实验过正中将介绍如何编译预处理及调试连接的过程。4.2 程序介绍4.2.1 Main.c的介绍/* 头文件 */#include 75x_lib.hEXTIT_InitTypeDef EXTIT_InitStructure;ErrorStatus OSC4MStartUpStatus;/* 声明 */void MRCC_Configuration(void);void GPIO_Configuration(void);void EIC_Configuration(void);void DELAY(u32);/*主函数的编写*/int main() #ifdef DEBUG debug(); #endif /* 设置系统时钟s */ MRCC_Configuration(); /* 设置GPIO端口 */ GPIO_Configuration(); /* 清除 EXTIT line 6 挂起位 */ EXTIT_ClearITPendingBit(EXTIT_ITLine6); /* 使能EXTITline 6 下降沿 */ EXTIT_InitStructure.EXTIT_ITLine = EXTIT_ITLine6; EXTIT_InitStructure.EXTIT_ITTrigger = EXTIT_ITTrigger_Falling; EXTIT_InitStructure.EXTIT_ITLineCmd = ENABLE; EXTIT_Init(&EXTIT_InitStructure); /* 设置并使能中断控制器 */ EIC_Configuration(); while(1) /* 产生软件中断,模拟在 EXTIT line 6产生下降沿触发 */ EXTIT_GenerateSWInterrupt(EXTIT_ITLine6); DELAY(0x5FFFF); void MRCC_Configuration(void) /* MRCC 系统复位(为了调试) */ MRCC_DeInit(); /* 等待 OSC4M 时钟产生 */ OSC4MStartUpStatus = MRCC_WaitForOSC4MStartUp(); if(OSC4MStartUpStatus = SUCCESS) /* 设置HCLK 为 30 MHz */ MRCC_HCLKConfig(MRCC_CKSYS_Div2); /* 设置CKTIM 为 30 MHz */ MRCC_CKTIMConfig(MRCC_HCLK_Div1); /* 设置 PCLK 为 15 MHz */ MRCC_PCLKConfig(MRCC_CKTIM_Div2); /* 设置 CKSYS 为 60 MHz */ MRCC_CKSYSConfig(MRCC_CKSYS_OSC4MPLL, MRCC_PLL_Mul_15); /* 设置 GPIO 引脚为 3.3V 工作 */ MRCC_IOV
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 探索未来居住空间的公寓改造新机遇
- 区域评估合同标准文本
- 出租游戏手机合同样本
- 单位经济合同标准文本
- 三方协议就业合同样本
- led维护合同标准文本
- 新能源汽车行业生态圈的构建与管理研究试题及答案
- 买炮租房合同样本
- 水利工程浮盘安装技术优化及施工管理研究
- 全球及中国按钮和信号装置行业市场发展分析及前景趋势与投资发展研究报告2025-2028版
- 2025年高三高考冲刺主题教育班会:《高三考前心理调适指南:减压赋能 轻松备考》-2024-2025学年高中主题班会课件
- 2025年安全生产考试题库(消防安全应急处置)消防设施运行维护试题
- 鄂尔多斯市水发燃气有限公司招聘笔试真题2024
- 2025年临海市纪委市监委下属事业单位公开选聘工作人员1人笔试备考题库及答案解析
- 河北省唐山市、廊坊市2025年高三高考第二次模拟演练思想政治试卷(含答案)
- 湖北武汉市华中师大一附中2025届高三3月押轴试题物理试题试卷含解析
- 司法雇员考试题目及答案
- 国家金融监督管理总局所属事业单位招聘真题2024
- 小学一年级数学20以内进位、退位加减法口算
- 2024年全国高中数学联赛(浙江预赛)试题含参考答案
- 人教PEP版(2024)三年级下册英语Unit5 Old toys单元整体教学设计(共6课时)
评论
0/150
提交评论