嵌入式系统实验指导书_第1页
嵌入式系统实验指导书_第2页
嵌入式系统实验指导书_第3页
嵌入式系统实验指导书_第4页
嵌入式系统实验指导书_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

-.z.第1局部DK-LM3S9B92教学实验平台简介1.1Stellaris®LM3S9B92开发板本书中的所有实验都是基于DK-LM3S9B92开发平台,LM3S9B92开发板提供了一个平台给基于ARMCorte*-M3的高性能的LM3S9B92微控制器开发系统。LM3S9B92是Stellaris®Tempest-class微控制器家族的成员之一。Tempest-class系列设备拥有性能为80MHz的时钟速率,一个外围设备接口〔EPI〕和AudioI2S接口。除了支持这些功能的新硬件外,DK-LM3S9B92还包含了一系列丰富的基于其他Stellaris®板的外设。开发板包括一个板载线上调试接口〔on-boardin-circuitdebuginterface,ICDI〕,该接口支持JTAG和SWD调试。一个标准的ARM20针脚的调试头支持大量的调试解决方案。Stellaris®LM3S9B92开发套件加快了Tempest-class微控制器的开发。该套件还包含了完整的实验源代码。Stellaris®LM3S9B92开发板包含以下特性:设置简单的USB线提供调试、通讯和供电功能拥有众多外设的灵活开发平台彩色LCD图形显示–320×240分辨率的TFTLCD模块–电阻式触摸接口拥有256K闪存,96KSDRAM以及整合以太网、MAC+PHY、USBOTG和CAN通讯功能的80MHzLM3S9B92微控制器8MBSDRAM扩展〔通过EPI接口〕1MB串行闪存准确3.00V电压参考微处理器ROM中内建SAFERTOS™操作系统I2S立体声音频编解码器–输入输出–耳机输出–麦克风输入控制器区域网络〔CAN〕接口10/100BaseT以太网USBOn-The-Go〔OTG〕连接器–Device、Host、以及OTG模式用户LED和按钮指轮电位器〔可以用于菜单导航〕MicroSD卡插槽支持一系列调试选项–集成在线调试接口〔ICDI〕–全面支持JTAG、SWD和SWO–标准的ARM20针脚JTAG调试连接器USB虚拟端口跳线分流方便重新分配I/O资源为StellarisWare软件所支持,包括图形库、USB库和外围驱动库图1-1DK-LM3S9B92开发板1.1.1开发工具清单Stellaris®LM3S9B92开发工具包括开发和运行使用Stellaris®微处理器的应用程序所需的所有东西:LM3S9B92开发板网线用于调试的USBMini-B线缆用于OTG连接PC的USBMicro-B线缆用于USB主机的连接USBA适配器的USBMicro-A线缆USB闪存记忆棒microSD卡20位带状电缆线光盘包含以下工具的评估版本:–StellarisWare及用于本开发板的实验代码–IAREmbeddedWorkbenchKickstartEdition1.1.2系统框图图1-2DK-LM3S9B92开发板框图1.1.3开发板说明开发板的供电电压:4.75—5.25VDC,从以下的输入源中的一个得到:–调试器〔ICDI〕USB线缆〔连接至PC〕–USBMicro-B线缆〔连接至PC〕–直流电源插孔〔2.1*5.5mm由外部电源供给〕尺寸:107mm*114mm模拟参考电压:3.0V+/-0.2%RoHS状态:符合注:当LM3S9B92开发板工作在USB主机模式时,主机的连接器供电给已连接的USB设备。有效的供给电流被限制在~200mA,除非开发板用5v,600mA的外部电源供电。1.2硬件描述除了一个LM3S9B92微处理器之外,开发板还具备了许多有用的外围设备功能和一个集成在线调试接口〔ICDI〕,本章将介绍这些外围设备如何工作和微处理器的接口。Stellaris®LM3S9B92是一个基于Corte*-M3内核的微处理器,拥有256K闪存、80MHz时钟周期、以太网接口、USB、EPI、ROM内建SAFERTOS™还有大量的外设。详情请参见LM3S9B92微控制器数据手册〔随书附赠光盘"4技术资料〞文件夹中的Datasheet-LM3S9B92文件〕。跳线和GPIO分配每一个开发板上的外设电路是通过一个0.1‖间距的跳线连接到LM3S9B92微控制器。图1-3显示了跳线出厂时的默认设置。跳线在默认设置时才可以正确无误的运行快速启动演示程序。出产默认跳线设置。默认连接的跳线:JP1,JP2,JP3~JP13,JP16~JP32,JP34,JP37~JP43,JP46,JP48,JP50~JP56,JP58,JP60~JP61。默认不连接的跳线:JP14~JP15,JP33,JP35,JP44,JP45,JP47,JP49,JP57,JP65。图1-3默认跳线设置开发板提供了许多功能但是由于引脚数和GPIO复用的限制,不能同时支持多项功能。举个例子,开发板不能同时支持SDRAM和I2S接口接收〔麦克风或线路输入〕功能设置。与I2S接口接收相关的跳线在默认设置没有接上。表1-1列出了出厂默认设置中没有被连接的功能和外设。使用这些外设需要将其他相关的外设断开连接。在表1-1中,结合一些用到这块板的StellarisWare范例程序,列出了可选的跳线设置。表1-1板功能及在默认设置中不连接的外围设备外部设备跳线I2SReceive(AudioInput)JP44,45,47,49控制器局域网络(CAN)JP14,15EthernetYellowStatusLED(LED2)JP23.0V模拟参考电压JP33GPIO分配详情如附录B。该表列出了所有默认的且被0.1〞跳线和PCB布线所支持的可选配置。LM3S9B92拥有额外的内部复用,这将需要额外的配置,使得外设和GPIO引脚之间可能需要分开布线。板上的ICDI局部有一个没有实际功能的GND-GND跳线,该跳线仅为"摆放〞空闲跳线开关〔帽〕而提供方便的地方。当需要时,这根跳线可以重复使用。时钟开发板使用一个16.0MHz〔Y2〕晶振完成LM3S9B92微处理器的内部主时钟电路。使用一个可代码配置的内部PLL来倍频此时钟到更高的频率,以供内核和外设时钟使用。一个25.0MHz〔Y1〕晶振为以太网物理层〔EthernetPHY〕提供一个精准的时基。复位LM3S9B92微控制器的复位信号〔RESETn〕连接到了复位开关〔SW2〕和ICDI电路。连接到ICDI电路作为调试控制复位。以下三种事件中的一种会导致外部复位信号生效〔低电平〕:上电复位〔通过一个R-C回路实现〕复位开关SW2被按下当调试器发出复位指令时,由ICDI电路〔U12FT2232,U13D74LVC125A〕产生复位信号。〔此功能可选,可能不是所有调试器都支持此功能〕LCD模块要求有特殊的复位时序,需要来自微控制器的专用控制线。电源此开发板需要一个5.0V稳压电源,跳线JP34、JP35和电源拨动开关J16用于电源选择,默认的电源输入是ICDIUSB接口。为防止电源间的冲突,在任何时侯只能使用一个5.0V电压源。当USB处于主机〔Host〕状态时,如果+5V电源可用〔非板上〕该电源应中选择为ICDI或外部电源。该开发板上具有两个主电源。一个+3.3V电源为微控制器和大多数电路供电。+5V用于OTGUSB端口和在线调试接口〔ICDI〕USB控制器供电。一个低压降〔LDO〕稳压器〔U5〕将+5V电源转换为+3.3V。这两个电源都被连接到了测试口,以便使用。USB此LM3S9B92的全速USB控制器支持On-the-Go,主机和设备配置。USB相关信号信息参考表1-2。5针脚的microABOTG连接头支持这三种接口和包含在套件中的配套电缆。USB端口既有额外的高达15KV的ESD保护二极管阵列。表1-2USB相关信息微控制器引脚板功能跳线名称Pin70USB0DMUSBData-Pin71USB0DUSBData+Pin73USB0RBIASUSBbiasresistorPin66USB0IDOTGIDsignal〔输入到微控制器〕OTGIDPin67USB0VBUSVbusLevelmonitoring+VBUSPin34USB0EPEHostpowerenable〔高电平有效〕EPENPin35USB0PFLTHostpowerfaultsignal〔低电平有效〕PFLTU6是一个故障保护开关,监控USB主机端口的电源。USB0EPEN是微控制器的控制信号,有一个下拉电阻,以确保在复位时主机的端口电源被切断。如果所连接的USB设备电流消耗超过1A或者开关的热限制被设备超出消耗超过500mA,则电源开关会被马上切断。USB0PFLT信号线指示过载电流的状态,反应至微控制器。此开发板可以是一个总线供电的USB设备或是自供电USB设备,这决定于电源所跳线的配置。当在USB主机模式中使用开发板时,EVB的电源应由在线调试接口〔ICDI〕USB连接线或连接到直流电源插孔的+5V所供给。注:LM3S9B92的USB功能是完全独立于在线调试接口USB功能。调试Stellatis微控制器支持通过JTAG或SWD编程和调试,JTAG使用TCK、TMS,TDI和TDO信号。SWD要求的信号较少〔SWCLK,SWDIO,和可选择的跟踪信号SWO〕。由调试器决定使用何种调试协议。调试模式此LM3S9B92开发板支持一系列硬件调试配置,如表1-3所示。表1-3硬件调试配置模式调试功能用途选定1内置的ICDI在板上LM3S9B92通过USB接口调试微控制器默认模式2输出到JTAG/SWD的ICDI接头开发板被用作USB到SWD/JTAG的接口连接到外部目标板连接到外部目标并开场调试程序3从JTAG/SWD接头输入提供给需要使用带EVB外部调试接口〔ULINK,JLINK等〕的用户连接一个外部调试器到JTAG/SWD调试考前须知调试模式3支持使用外部调试接口的板载调试,例如SeggerJ-Link或KeilULINK。大多数调试器用调试连接器的1号引脚来检测目标板的电压,在*些情况下,为输出逻辑电路供电。为使用外部调试器,必须使得VDD/PIN1跳线开关合上,从而使此引脚带上3.3V电压。调试USB概述使用FutureTechnologyDevicesInternational公司的FT2232芯片来实现USB-to-serial的转换。FT2232默认设置可以在通道A上使用一个JTAG/SWD端口〔串行接口〕和一个在通道B上使用的虚拟接口〔VCP〕。此功能允许主机和目标设备利用一条USB线同步通讯。在文档和软件CD盘中提供了每个功能的独立Windows驱动。在线调试接口USB的功能完全独立于LM3S9B92芯片上的USB功能。FT2232芯片的配置数据由一个小的串行EEPROM存储。该EEPROM是不可被LM3S9B92微控制器的。关于FT2232运作的全部细节,请.ftdichip.。USB到JTAG/SWDFT2232USB设备在调试器控制下执行JTAG/SWD串行操作。一个简单的逻辑电路复用SWD和JTAG功能,在SWD模式下工作时,为双向数据线提供方向控制。虚拟串行通信端口虚拟串行通信端口〔VCP〕允许Windows应用程序〔如超级终端〕与LM3S9B92上的UART0通过USB通信。一旦安装FT2232VCP设备驱动后,Windows会分配一个串行通信端口号到VCP通道。表1-4列出了调试相关信号。表1-4相关调试信号微控制器引脚板功能跳线名称Pin77TDO/SWOJTAGdataoutortracedataoutTDOPin78TDIJTAGdatainTDIPin79TMS/SWDIOJTAGTMSorSWDdatain/outTMSPin80TCK/SWCLKJTAGClockorSWDclockTCKPin26PA0/U0R*VirtualportdatatoLM3S9B92VCPR*Pin27PA1/U0T*VirtualportdatafromLM3S9B92VCPT*Pin64RSTn系统复位RSTn串行线输出〔SWO〕开发板支持Corte*-M3串行线输出〔SWO〕跟踪功能。在调试器控制下,板上的逻辑电路可将SWO数据流发送到VCP传送通道。调试器软件便可对从虚拟串行通信端口处接收到的跟踪信息解码和解释。当使用SWO时,中断UART0和虚拟串口〔VCP〕的连接。并不是所有的调试器都支持SWO。更多跟踪端口接口单元〔TracePortInterfaceUnit,TPIU〕的信息请参考Stellaris®LM3S9B92微控制器数据手册。彩色QVGALCD触摸显示屏此开发板采用分辨率为320*240像素的TFT液晶图像显示器。该显示器使用前应除去在运输过程使用的保护塑料薄膜。特性LCD模块具有的特性包括:–高品质a-SiTFTLCD单元–262,144/65,536颜色值–80-系统8位接口–支持高速butst-GRAM写功能–支持局部屏幕显示–支持睡眠和待机两种模式以节省电源–高比照度,高明度–重量轻,体形小–低功耗–4线模拟电阻触摸面板控制界面彩色LCD有一个内置的多模式并行接口控制器IC,开发板使用一个8位的8080型接口——GPIOD口,作为数据总线。表1-5列出了LCD相关信号:表1-5液晶显示器信号微控制器引脚板功能跳线名称PE6/ADC1Touch*+*+PE3TouchY-Y-PE2Touch*-*-PE7/ADC0TouchY+Y+PB7LCD复位LRSTnPD0..7LCD数据总线0..7LD0..7PH7LCD数据/控制选择LDCPB5LCD读出选通LRDnPH6LCD写入选通LWRn-背光灯控制BLON规格说明表1-6TFT-LCD模块序号工程名称特性1类型透射型2显示模式平常白3像素单元a-SiTFT4屏幕尺寸2.6inch(对角)5分辨率240(RGB)×3206色数65,536/262,1447有效面积38.88×51.84(mm)8点距66×198(μm)9色彩RGB条纹〔RGB-stripe〕10装配类型COG11ICS6D015412背光LED13视觉方向12o’clock14模块尺寸46×64×3.5(mm)15电源2.5~3.3V16接口80-System16/8bitI/F17外表处理紫外线保护表1-7触摸面板序号工程名称规格备注1类型4线模拟电阻式2输入模式手写笔或手指接触3外表处理透明型4玻璃厚度0.5(mm)5有效区域40.6*57.65(mm)6可视范围42*58.15(mm)7外形尺寸45.6*63.5*1.0(mm)8触摸力度≦80(gf)手指或手写笔在―有效区域‖,而不是在边缘和点隔片之间。9外表硬度9≧3HJIS-K5400背光白色LED背光显示必须清晰可见。U7〔TPS60230〕实现一个80mA的恒定电流LED的背光电源,LCD共有4个并联LED,每个电流大约20mA。背光通常不由微控制器控制,但是,接口处的控制信号仍然有效。跳线连接到GND可使背光失效。另外,可使用一根导线通过一个空闲的微控制器GPIO线路控制此信号。由于此TPS60230工作于恒定电流模式,如果断开LCD,它的输出电压将会跳变。电源此LCD模块内置偏置电压发生器,仅需要一个3.3V的直流电源。电阻触摸屏4线电阻触摸屏可通过使用2个ADC通道和2个GPIO信号直接与微控制器连接。更多电阻触摸屏信息请参考StellarisWare源代码。I2S音频LM3S9B92开发板的高级音频功能使用了I2S音频TLV320AIC23解码器。出厂默认配置音频输出已启用〔线路输出和耳机输出〕。音频输入要求四个额外的I2S信号〔线路输入和麦克风〕。四个音频接口都使用1/8寸〔3.5毫米〕立体声插孔。表1-8列出了I2S音频相关信号。表1-8I2S音频相关信号微控制器引脚板功能跳线名称I2C0SDA编解码器的配置数据SDAI2C0SCL编解码器的配置时钟SCLI2ST*SD音频输出串行数据T*SDI2ST*WS音频输出帧信号T*WSI2ST*SCK音频输出比特时钟BCLKaI2ST*MCLK音频输出系统时钟MCLKI2SR*SD音频输入串行数据R*SDbI2SR*WS音频输入帧信号R*WSbI2SR*SCK音频输入比特时钟BCLKbI2SR*MCLK音频输入系统时钟MCLKba.与基准模拟电压共享GPIO线路,默认连接跳线。b.与LCD数据总线共享GPIO线路-端口D,跳线默认不接连。音频编解码器拥有假设干使用I2C总线信号进展配置的控制存放器。使用I2C时,编解码器配置只能写入,不能读取。更多信息可参考StellarisWare编程资料范例和完整介绍TLV320AI*23B存放器的数据手册。耳机输出可直接连接到任意标准耳机。线路输出适用于连接到一个外置音箱,包括PC台式扬声器。用户切换和LED开发板提供一个用户切换按钮和指示灯,如表1-9所示。表1-9开关信号导航微控制器引脚板载功能跳线名称PJ7用户切换切换PF3用户指示灯LEDa共享黄色指示灯以太网插口,默认连接跳线SDRAM扩展板SDRAM提供8MB内存〔4M×16〕,一旦配置完成将成为LM3S9B92位于0*6000.0000或0*8000.0000的存储器映射。SDRAM接口多路传输DQ00..14和AD/BA0..14无需外部锁存器或缓冲区。1.3使用在线调试接口此Stellaris®LM3S9B92开发板可用作在线调试接口〔ICDI〕。ICDI充当一个USB接口连接到JTAG/SWD适配器,并允许调试外部任何一个使用Stellaris®微控制器的目标板。请参阅"调试模式〞中关于"如何进入调试输出模式〞的描述。图1-4ICD的接口模式调试接口能作用于串口调试SWD或JTAG模式中,此决定于IDE调试器的配置。此IDE调试器不能区分板上的Stellaris®微控制器和外部Stellaris®微控制器,要求适当的Stellaris®设备已在工程配置中被选择。Stellaris®目标板应有一个2*100.1〞的信号引脚头,如附录B3所示。这适用于外部的Stellaris®微控制器目标〔调试输出模式〕和外部的JTAG/SWD调试器〔调试输入模式〕。ICDI不控制RST〔设备复位〕或TRST〔测试复位〕信号。这两种复位功能被用于JTAG/SWD,所以这些信号通常是不必要的。建议连接所有GND引脚,无论如何,目标和外部调试接口必须连接引脚5并且至少有一个GND引脚连接到地。一些外部调试接口可能需要给定一个电压以设置线路驱动的门限值。如果一个外部调试器连接,开发板ICDI电路自动设置引脚1为高电平,在其他模式中,引脚1设置为未使用的。第2局部LM3S9B92开发环境简介2.1开发环境使用本实验评估板需要以下硬件和软件调试工具。硬件:装有win*p或win7的PC机一台,lm3s9b92评估板,用于调试的usbMini-B数据线。软件:LuminaryFTDI仿真驱动程序,KeilRealViewMDK开发环境。2.1.1硬件连接把USBmini-B数据线的miniB接口插在开发板的J13处,另一端连接计算机的USB接口。2.1.2LuminaryFTDI仿真驱动程序的安装DK-LM3S9B92开发板内嵌有USB接口的下载仿真器,在正常使用之前必须要安装Luminary专用的FTDI驱动程序。该驱动程序存放在开发板光盘内Tools目录下的FTDI文件夹下。具体安装步骤如下:将连接有usbmini-B数据线的DK-lm3s9b92开发板连接到电脑上,此时windows会提示"发现新硬件〞,接着弹出"找到新的硬件向导〞对话框,如图2-1。选择"否,暂时不〞,按下一步。图2-1安装LuminaryFTDI驱动:硬件安装向导选择"从列表或指定位置安装(高级)〞,按"下一步〞,如图2-2所示。现在安装的是"StellarisDevelopmentBoardA〞。图2-2安装LuminaryFTDI驱动:选择指定位置安装勾中"在搜索中包括这个位置〞,按浏览,翻开路径"G:\Tools\FTDI〞,按下一步。如图2-3所示。图2-3安装LuminaryFTDI驱动:选择驱动程序位置在安装完评估板A之后,还会继续对"StellarisDevelopmentBoardB〞和"StellarisVirtualPort〞安装,安装方法都类似,都在一样目录下搜索驱动。3个驱动程序全部安装完成后,可以翻开Windows的设备管理器来查看相关设备信息。翻开设备管理器后,就能看到刚刚安装的设备了,如图2-4所示。图2-4安装LuminaryFTDI驱动:查看设备管理器如果LuminaryFTDI驱动程序装错了,或者以后要升级为最新版本的驱动程序,则需要首先卸载。卸载时先把开发板连接到电脑上,然后翻开Windows设备管理器,找到"StellarisVirtualPort(*)〞,点右键,选择"卸载〞。以同样的方法卸载"StellarisDevelopmentBoardA〞、"StellarisDevelopmentBoardB〞和"USBpositeDevice〞。截至2009年10月,LuminaryMicro官方发布了最新的"Stellaris®外设驱动库"版本"PDL-LM3S-5228〞。驱动库完全基于ANSIC标准编写,并且源代码也是公开的,因此读者完全可以摒弃晦涩难懂的汇编语言,也不需要掌握底层存放器的操作细节,只要懂C语言就能轻松玩转Stellaris®系列ARM。这也使得学习开发32位ARM的入门门槛大大降低。只要登陆".LuminaryMicro.〞并注册用户信息,就能够免费下载到最新的驱动库版本。2.1.3安装KeilRealViewMDK现在,能够支持**仪器公司Stellaris®系列ARM的软件开发平台主要有Keil、IAR、Cross、CodeSourcery、CodeRed等。这些软件各具特色,其中IAREWARM集成开发环境具有编译效率高、32KB免费评估版、在线仿真本钱低等优势。考虑到同学们之前接触过Keil开发环境,这里选择使用keil。我们选择的是4.50版本的KeilRealviewMDK。按照成功后将在桌面上看到如下列图2-5图标。图2-5keil4快捷图标2.2Keil在DK-LM3s9b92开发板上的使用下面以LM3s9b92开发板附赠的光盘内的"Blinky〞程序为例,说明如何在keil开发环境下,开发适合于LM3s9b92开发板的可运行程序。Blinky的例如代码在光盘内"labs\lab3_gpio_interrupt\task1_gpio〞路径内〔注:光盘内的所有例如程序是应用IAR开发环境开发;对于不同的开发环境只是配置不同,源程序可以重用〕。2.2.1新建工程目录选择在*个目录下,新建一个工程目录,在这里,我们在E盘下新建一个〞LED_Blink〞目录作为工程目录,即"E:\LED_Blink〞。2.2.2新建工程在新建目录"LED_Blink〞中,新建基于芯片LM3s9b92的工程,并把该工程命名为"LED_Blink〞。具体操作如下:翻开keil开发环境;通过点击"Project〞菜单下的"newuvisonproject〞选项新建工程,先选择存放工程的目录,这里选定新建的目录"E:\LED_Blink〞为工程目录,如图2-6;同时给工程命名,在此我们把它命名为"LED_Blink〞,如图2-7,并点击保存。图2-6选择工程目录图2-7命名工程名接着选择工程的开发目标器件:选择TI〔Te*asinstruments〕公司的LM3s9b92为目标器件,如图2-8和图2-9。图2-8选择器件厂家图2-9选择器件名称选定后,并单击"OK〞保存设置。接着将弹出如图2-10所示的对话框,该对话框是向开发者询问"是否将所选目标器件对应的启动文件添加到工程目录中〞,我们选择"是〞。紧接着我们可以在工程窗口内看到被添加的启动文件"Startup.s〞,如图2-11。图2-10添加启动文件的提示框图2-12添加的启动文件Startup添加源文件〔程序代码〕添加主程序:把光盘内"labs\lab3_gpio_interrupt\task1_gpio〞目录下的"blink.c〞文件复制到新建的工程目录"E:\LED_Blink〞下,如图2-13。并通过工程窗口内的添加文件功能把"blink.c〞文件添加到工程"LED_Blink〞中,添加成功后,将在工程窗口中看到该文件的文件名,如图2-14所示。图2-13工程目录下添加源文件图2-14工程内添加源文件添加驱动程序和库文件:LM3s9b92开发对应的头文件、库文件以及驱动程序在光盘"labs\StellarisWare〞目录内。共有三个库目录:driverlib、grlib、usblib,它们分别对应外设驱动库、图形库、usb库;"inc〞目录中只是存放与芯片外设相关的头文件,另外还有根据开发板电路配置的驱动程序在目录"drivers〞中。假设进入库目录查看,里面不仅有各库对应的源程序,还有一些子目录,比方"ewarm〞、"rvmdk〞等,这些子目录内存放的是不同开发环境下,各库对应的生成库。比方,rvmdk目录下存放的是ARM/Keil的"MDK〞开发环境下可执行库。库文件和头文件的添加:把光盘下的driverlib、grlib、inc三个目录复制到工程目录"E:\LED_Blink〞下。因为"blink.c〞源程序中需要用到driverlib和grlib库,因此需要通过工程窗口添加这两个库对应在keil开发环境下的库,添加方法和添加源程序的方法一样。下面以添加driverlib为例说明:参照图2-15、2-16、2-17操作。在图2-17中选中"driverlib.lib〞库文件,单击"Add〞按钮。之后,我们会在工程窗口中看到包含了该库文件。添加完两个库后的工程窗口如图2-18所示。图2-15图2-16图2-17图2-18添加头文件可以采用指明工程需要include的头文件的存放路径的方式,参加工程中。这里的路径最好采用相对于工程文件的相对路径。具体设置方法如下:翻开该工程的"Option〞选项对话框,选择其中的"C/C++〞标签,如图2-19。在该标签页内"IncludsPaths〞对应的文本框内写上"blink.c〞程序中需要用到头文件相对于工程文件的相对路径即可,如图2-20所示。这里是写上".\〞,它表示指向的路径为在当前工程文件所在目录内。图2-19C/C++标签页图2-20填写头文件相对工程文件的相对路径添加驱动程序:在"blink.c〞程序文件中用到了关于触摸屏、开发板上LM3s9b92芯片引脚配置驱动程序。这些程序在光盘"labs\StellarisWare〞目录下的目录"drivers〞中。所以把"drivers〞目录复制到工程目录"E:\LED_Blink〞中。接着并像添加程序文件"blink.c〞一样,把"drivers〞目录中的"kitroni*320*240*16_ssd2119_8bit.c〞、"set_pinout.c〞添加到工程窗口中,结果如图2-21所示。图2-21为工程的编译、连接、运行以及调试进展配置在工程窗口选中工程文件夹,然后单击右键在弹出的快捷菜单中选择"Option〞选项,或者单击"Project〞下拉菜单的"Option〞选项,弹出如图2-22对话框,进展如下设置:图2-22单击对话框中的"Target〞选项,将"Target〞选项卡下的晶振"*tal〞按照开发板设置为"16.0〞,并将"CodeGeneration〞区的"UseMicrolib〞选项钩上。如上图2-22所示。单击对话框中的"Debug〞选项,如图2-23选中"Use〞,并将"Use〞后的下拉组合框选为"StellarisICDI〞。设置好后,再点击下拉组合框后的"Setings〞按钮,将弹出图2-24所示的对话框,在该对话框内,务必保证"FLash〞区内是选择了"PageErase(eraseonlynecessarypages)〞,而且后面的复选项不能选择"ResetandRun〞,否则将烧坏Flash芯片。图2-23图2-24单击对话框中的"Utilities〞选项,如图2-25所示选中"UseTargetDriverforFlashProgramming〞选项,并将该选项下的下拉组合框选为"StellarisICDI〞,通过点击"Settings〞按钮弹出的对话框的设置方式同上面步骤〔2〕说明操作。图2-25编译、在工程窗口选中工程文件夹,单击右键在弹出的快捷菜单中选择"Rebuildalltargetfiles〞选项,或者单击"Project〞下拉菜单的"Rebuildalltargetfiles〞选项,进展编译。如果有错误则做相应的修改,直到出现0error为止。这时软件会自动生成运行于Arm处理器中的可执行文件"LED_Blink.a*f〞。加载工程〔下载工程到目标板〕在加载工程前,先把开发板通过USB接口连接到PC机上,在keil界面中选择主菜单Flash>Download,或者单击快捷键〔〕,开场装载"LED_Blink.a*f〞文件。启动调试在Keil界面中选择主菜单Debug>start/stopdebugsession,或者单击快捷键,进入调试状态。运行程序在Keil界面中选择主菜单Debug>Run,或者单击快捷键,运行程序。程序运行后,会看到液晶屏上有显示一些字符,同时开发板上有两只LED灯在闪烁。退出运行状态在Keil界面中选择主菜单Debug>Stop,或者单击快捷键,则退出运行状态。但是此时仍然处于调试状态,假设要退出调试,返回开发状态,则单击或者通过主菜单Debug>start/stopdebugsession。第3局部LM3s9b92开发实例3.1GPIO实验实验目的学会编程控制GPIO口实验设备计算机、LM3S9B92开发板、USBA型公口转MiniB型5Pin数据线1条实验原理LM3s9b92包含九个GPIO模块,每个模块对应一个GPIO端口〔PA、PB、PC、PD、PE、PF、PG、PH〕。每个GPIO端口包含8个管脚,如PA端口是PA0~PA7。GPIO模块遵循FiRM〔FoundationIPforReal-TimeMicrocontrollers〕标准,并且支持多达60个可编程输入/输出管脚〔具体取决于与GPIO复用的外设的使用情况〕。图3-1该开发板的PJ7引脚外接输入按键SW1,PF3引脚通过电阻R11可以驱动LED1,如图3-1所示。实验要求通过编程控制和配置GPIO引脚,实现按键SW1控制LED1的闪烁。实验步骤连接实验设备:使用USBminiB线缆的mini端与开发板ICDI口相连,另一端接到PC机的USB插口上。根据光盘内提供的blinky例程,在Keil开发环境下搭建新的工程,并进展相关配置。调试程序,运行程序,观察运行结果。实验结果与分析结合开发板电路原理图,分析程序实现两个LED灯闪烁的原理。给出程序流程图说明程序中调用了哪些库和库函数,并说明各库的功能。实验二次开发参照实现LED灯闪烁的原理,实现通过开发板上按键SW1控制LED1的亮与灭,给出程序框图和源代码。3.2基于systick秒表的实现实验目的学会编写中断程序学会应用LM3S9b92的systick系统时钟节拍计数器。实验设备计算机、LM3S9B92开发板、USBA型公口转MiniB型5Pin数据线1条实验原理SysTick是一个简单的系统时钟节拍计数器,它属于ARMCorte*-M3内核嵌套向量中断控制器NVIC里的一个功能单元,而非片内外设。SysTick常用于操作系统〔如:μC/OS-II、FreeRTOS等〕的系统节拍定时。由于SysTick是属于ARMCorte*-M3内核里的一个功能单元,因此使用SysTick作为操作系统节拍定时,使得操作系统代码在不同厂家的ARMCorte*-M3内核芯片上都能够方便地进展移植。当然,在不采用操作系统的场合下SysTick完全可以作为一般的定时/计数器来使用。SysTick是一个24位的计数器,采用倒计时方式。SysTick设定初值并使能后,每经过1个系统时钟周期,计数值就减1。计数到0时,SysTick计数器自动重装初值并继续运行,同时申请中断,以通知系统下一步做何动作。实验要求应用systick系统时钟节拍计数器进展计时,实现秒表功能。开发板上的按键SW1起秒表的起始和停顿作用,按下SW1键,表示秒表的启动,开场计时,再按下SW1键,则表示秒表的停顿。秒表时间的显示,可以采用LED1灯的闪烁方式,或者直接显示在液晶屏上。实验步骤连接实验设备:使用USBminiB线缆的mini端与开发板ICDI口相连,另一端接到PC机的USB插口上。根据实验要求编写、调试、运行程序。并要求在代码上附上相关的注释。书写实验报告,要求附上程序流程图。3.3基于通用定时器秒表的实现实验目的学会编写中断程序学会应用LM3S9b92的通用定时器比拟通用定时器和systick的特性实验设备计算机、LM3S9B92开发板、USBA型公口转MiniB型5Pin数据线1条实验原理在Stellaris系列ARM内部通常集成有4个通用定时器模块〔General-PurposeTimerModule,GPTM〕,分别称为Timer0、Timer1、Timer2和Timer3。它们的用法是一样的:每个Timer模块都可以配置为一个32位定时器或一个32位RTC定时器;也可以拆分为两个16位的定时/计数器TimerA和TimerB,它们可以被配置为独立运行的定时器、事件计数器或PWM等。实验要求参照systick设计秒表的思路,应用通用定时器进展计时,实现秒表功能。开发板上的按键SW1起秒表的起始和停顿作用,按下SW1键,表示秒表的启动,开场计时,再按下SW1键,则表示秒表的停顿。秒表时间的显示,可以采用LED1灯的闪烁方式,或者直接显示在液晶屏上。实验步骤连接实验设备:使用USBminiB线缆的mini端与开发板ICDI口相连,另一端接到PC机的USB插口上。根据实验要求编写、调试、运行程序。并要求在代码上附上相关的注释。书写实验报告,要求附上程序流程图。实验心得比拟systick定时器和通用定时器的特性。3.4基于UART的加法器的实现实验目的学习lm3s9b92的串口通信学习应用超级终端调试串口学会应用UART有关的库函数实验设备计算机、LM3S9B92开发板、USBA型公口转MiniB型5Pin数据线1条实验原理Stellaris系列ARM的UART具有完全可编程、16C550型串行接口的特性。Stellaris系列ARM含有2至3个UART模块。该指导书在第一局部的1.2节中说明,该开发板使用了FT2232芯片实现usb到串口的转换。并设置在芯片的B通道上使用虚拟接口(VCP)。虚拟串行端口(VCP)与LM3s9b92上的UART0模块连接。在安装FTDI驱动程序后,windows会分配一个串行通信端口号到VCP通道,并允许windows应用程序(如超级终端)通过USB与LM3s9b92上的UART0进展通信。利用Windows超级终端调试UART的方法对于该开发板,使用的是USB虚拟的端口,无须使用DB9连接器。因此下面讲解一下如何利用Windows附带的超级终端来调试UART接口。Windows附件里的"超级终端〞是个非常实用的应用程序,可以用来调试电脑的串行口,也能很好地支持通过USB虚拟的口。以下是超级终端配置端口的过程:1.查看端口鼠标右击"我的电脑〞→属性→硬件→设备管理器,翻开后可以查看到电脑的端口〔和LPT〕情况,如图3.2所示。通常可以选用1或2〔以实际的硬件连接为准〕。对于开发板,要选用USB虚拟的接口〔StellarisVirtualPort〕,请先记下所要采用的编号,在后续操作步骤里会用到。2.启动超级终端鼠标点击"开场〞→程序→附件→通讯→超级终端,启动后的对话框如图3.3所示。3.配置过程如图3.3所示,点击"取消〞。然后请参考图3.4~图3.12进展配置。图3.2查看设备管理器端口图3.3启动Windows超级终端图3.4确认取消:是图3.5超级终端:确定图3.6连接描述:填写名称并选择自己喜欢的图标图3.7位置信息:取消图3.8确认取消:是图3.9超级终端:确定图3.10连接到:选择端口图3.11属性配置图3.12另存到桌面快捷方式最后一步是另存到桌面快捷方式,以方便下次直接使用。4.调试helloworld例程如图3.13所示,为调试输出"helloworld〞例程从UART0串口模块输出的结果。图3.13helloworld例程输出结果实验要求采用超级终端作为外部输入与输出的接口,实现多位数的相加。即通过UART串口分别输入需要相加的多位数A与B,最后把A和B两个多位数相加的过程和结果,回显给用户。具体实现方法:既可以采用轮询的方式也可以应用中断。实验步骤连接实验设备:使用USBminiB线缆的mini端与开发板ICDI口相连,另一端接到PC机的USB插口上。根据实验要求编写、调试、运行程序。并要求在代码上附上相关的注释。书写实验报告,要求附上程序流程图。实验心得比拟轮询方式与中断方式3.5基于LCD的数字式转盘手表实验目的学会使用图形库实验设备计算机、LM3S9B92开发板、USBA型公口转MiniB型5Pin数据线1条实验原理TIStellaris系列Corte*-M3系列MCU的方便强大,StellarisWare软件库提供的快速软件开发解决方案功丌可没。作为TIStellarisWare软件包的一局部,StellarisWare图形库(Grlib)提供了一套比拟完整的MCU图形显示方案,既可以进展根底的图形、文字绘制,也可以轻松实现PC机上常见的,基于消息的控件(Widget)。Stellaris图形库应用起来比拟简单,可以从Stellaris图形库的根本构造来学习。Stellaris图形库可以分为3个功能次层:显示驱动层、图形原型层和控件层。实验要求应用stellarisWare图形库在开发板的彩色LCD上绘制一个转盘表如windows系统内带的时钟表,要求能显示时、分、秒,并能够在设置时间的根底上,动态修改时间。实验步骤连接实验设备:使用USBminiB线缆的mini端与开发板ICDI口相连,另一端接到PC机的USB插口上。根据实验要求编写、调试、运行程序。并要求在代码上附上相关的注释。书写实验报告,并在报告内描述设计思路,要求附上程序流程图。3.6uc/os-Ⅱ移植实验目的了解uC/OS-II内核的主要构造;掌握将uC/OS-II内核移植到Corte*-M3处理器上的根本方法实验设备计算机、LM3S9B92开发板、USBA型公口转MiniB型5Pin数据线1条实验原理所谓移植,指的是一个操作系统可以在*个微处理器或者微控制器上运行。虽然uC/OS-II的大局部源代码是用C语言写成的,仍需要用C语言和汇编语言完成一些与处理器相关的代码。比方:uC/OS-II在读写处理器、存放器时只能通过汇编语言来实现。因为uC/OS-II在设计的时候就已经充分考虑了可移植性,所以,uC/OS-II的移植还是比拟容易的。要使uC/OS-II可以正常工作,处理器必须满足以下要求:1.处理器的C编译器能产生可重入代码。可重入的代码指的是一段代码〔如一个函数〕可以被多个任务同时调用,而不必担忧会破坏数据。也就是说,可重入型函数在任何时候都可以被中断执行,过一段时间以后又可以继续运行,而不会因为在函数中断的时候被其他的任务重新调用,影响函数中的数据。下面的两个例子可以比拟可重入型函数和非可重入型函数:程序1:可重入型函数程序2:非可重入型函数程序1中使用的是局部变量temp作为变量。通常的C编译器,把局部变量分配在栈中。所以,屡次调用同一个函数,可以保证每次的temp互不受影响。而程序2中temp定义的是全局变量,屡次调

温馨提示

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

评论

0/150

提交评论