




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1部分 DK-LM3S9B92 教学实验平台简介1.1 Stellaris LM3S9B92开发板 本书中的所有实验都是基于DK-LM3S9B92开发平台,LM3S9B92开发板提供了一个平台给基于ARM Cortex-M3的高性能的LM3S9B92微控制器开发系统。 LM3S9B92是Stellaris Tempest-class微控制器家族的成员之一。Tempest-class系列设备拥有性能为80MHz的时钟速率,一个外围设备接口(EPI)和Audio I2S接口。除了支持这些功能的新硬件外,DK-LM3S9B92还包含了一系列丰富的基于其他Stellaris 板的外设。 开发板包括一
2、个板载线上调试接口(on-board in-circuit debug interface,ICDI),该接口支持JTAG和SWD调试。一个标准的ARM 20针脚的调试头支持大量的调试解决方案。 Stellaris LM3S9B92开发套件加快了Tempest-class微控制器的开发。该套件还包含了完整的实验源代码。Stellaris LM3S9B92开发板包含以下特性: n 设置简单的USB线提供调试、通讯和供电功能 n 拥有众多外设的灵活开发平台 n 彩色LCD图形显示 320240分辨率的TFT LCD模块 电阻式触摸接口 n 拥有256K闪存,96K SDRAM以及整合以太网、MAC
3、+PHY、USB OTG和CAN通讯功能的80 MHz LM3S9B92 微控制器 n 8MB SDRAM扩展(通过EPI接口) n 1MB串行闪存 n 精确3.00V电压参考 n 微处理器ROM中内建SAFERTOS操作系统 n I2S立体声音频编解码器 输入输出 耳机输出 麦克风输入 n 控制器区域网络(CAN)接口 n 10/100 BaseT 以太网 n USB On-The-Go(OTG)连接器 Device、Host、 以及OTG模式 n 用户LED和按钮 n 指轮电位器(可以用于菜单导航) n MicroSD 卡插槽 n 支持一系列调试选项 集成在线调试接口(ICDI) 全面支持
4、JTAG、SWD和 SWO 标准的ARM 20 针脚 JTAG 调试连接器 1 / 42n USB 虚拟COM 端口 n 跳线分流方便重新分配I/O 资源 n 为StellarisWare 软件所支持,包括图形库、USB 库和外围驱动库 图1-1 DK-LM3S9B92开发板1.1.1 开发工具清单 Stellaris LM3S9B92 开发工具包括开发和运行使用Stellaris微处理器的应用程序所需的所有东西: n LM3S9B92 开发板 n 网线 n 用于调试的USB Mini-B 线缆 n 用于OTG 连接PC 的USB Micro-B 线缆 n 用于USB 主机的连接USB A 适
5、配器的USB Micro-A 线缆 n USB 闪存记忆棒 n microSD 卡 n 20 位带状电缆线 n 光盘包含以下工具的评估版本: StellarisWare 及用于本开发板的实验代码 IAR Embedded Workbench Kickstart Edition 1.1.2 系统框图图1-2 DK-LM3S9B92开发板框图1.1.3 开发板说明 n 开发板的供电电压:4.755.25 VDC,从以下的输入源中的一个得到: 调试器(ICDI)USB 线缆(连接至PC) USB Micro-B 线缆(连接至PC) 直流电源插孔(2.1x5.5mm 由外部电源供应) n 尺寸: -
6、107mmx 114mm n 模拟参考电压:3.0V +/-0.2% n RoHS 状态:符合 注:当LM3S9B92开发板工作在USB主机模式时,主机的连接器供电给已连接的USB 设备。有效的供应电流被限制在200mA,除非开发板用5v,600mA的外部电源供电。1.2 硬件描述 除了一个LM3S9B92微处理器之外,开发板还具备了许多有用的外围设备功能和一个集成在线调试接口(ICDI),本章将介绍这些外围设备如何工作和微处理器的接口。 Stellaris LM3S9B92是一个基于Cortex-M3内核的微处理器,拥有256K闪存、80MHz时钟周期、以太网接口、USB、EPI、ROM内建
7、SAFERTOS还有大量的外设。详情请参见LM3S9B92微控制器数据手册(随书附赠光盘“4技术资料”文件夹中的Datasheet-LM3S9B92文件)。 跳线和GPIO分配 每一个开发板上的外设电路是通过一个0.1间距的跳线连接到LM3S9B92微控制器。图 1-3显示了跳线出厂时的默认设置。跳线在默认设置时才可以正确无误的运行快速启动演示程序。 出产默认跳线设置。默认连接的跳线:JP1,JP2,JP3JP13,JP16JP32,JP34,JP37JP43,JP46,JP48,JP50JP56,JP58,JP60JP61。默认不连接的跳线: JP14JP15,JP33,JP35,JP44,
8、JP45,JP47,JP49,JP57,JP65。 图 1-3 默认跳线设置开发板提供了许多功能但是由于引脚数和GPIO复用的限制,不能同时支持多项功能。举个例子,开发板不能同时支持SDRAM和I2S接口接收(麦克风或线路输入)功能设置。与I2S接口接收相关的跳线在默认设置没有接上。 表 1-1列出了出厂默认设置中没有被连接的功能和外设。使用这些外设需要将其他相关的外设断开连接。在表 1-1中,结合一些用到这块板的StellarisWare范例程序,列出了可选的跳线设置。表 1-1 板功能及在默认设置中不连接的外围设备外 部 设 备跳 线I2S Receive (Audio Input) JP
9、44, 45, 47, 49 控制器局域网络(CAN) JP14, 15 Ethernet Yellow Status LED (LED2) JP2 3.0V模拟参考电压 JP33 GPIO分配详情如附录B。该表列出了所有默认的且被0.1”跳线和PCB布线所支持的可选配置。LM3S9B92拥有额外的内部复用,这将需要额外的配置,使得外设和GPIO引脚之间可能需要分开布线。 板上的ICDI部分有一个没有实际功能的GND-GND跳线,该跳线仅为“摆放”空闲跳线开关(帽)而提供方便的地方。当需要时,这根跳线可以重复使用。 时钟 开发板使用一个 16.0MHz(Y2)晶振完成LM3S9B92微处理器的
10、内部主时钟电路。使用一个可代码配置的内部PLL来倍频此时钟到更高的频率,以供内核和外设时钟使用。 一个25.0MHz(Y1)晶振为以太网物理层(Ethernet PHY)提供一个精准的时基。 复位 LM3S9B92微控制器的复位信号(RESETn)连接到了复位开关(SW2)和ICDI电路。连接到ICDI电路作为调试控制复位。 以下三种事件中的一种会导致外部复位信号生效(低电平): n 上电复位(通过一个R-C回路实现) n 复位开关SW2被按下 n 当调试器发出复位指令时,由ICDI电路(U12 FT2232,U13D 74LVC125A)产生复位信号。(此功能可选,可能不是所有调试器都支持此
11、功能) LCD模块要求有特殊的复位时序,需要来自微控制器的专用控制线。电源 此开发板需要一个5.0V稳压电源,跳线JP34、JP35和电源拨动开关J16用于电源选择,默认的电源输入是ICDI USB接口。为避免电源间的冲突,在任何时侯只能使用一个5.0V电压源。 当USB处于主机(Host)状态时,如果+5V电源可用(非板上)该电源应当选择为ICDI或外部电源。 该开发板上具有两个主电源。一个+3.3V电源为微控制器和大多数电路供电。+5V用于OTG USB端口和在线调试接口(ICDI)USB控制器供电。一个低压降(LDO)稳压器(U5)将+5 V电源转换为+3.3V。这两个电源都被连接到了测
12、试口,以便使用。 USB 此LM3S9B92的全速USB控制器支持On-the-Go,主机和设备配置。USB相关信号信息参考表 1-2。5针脚的microAB OTG连接头支持这三种接口和包含在套件中的配套电缆。 USB端口既有额外的高达15KV的ESD保护二极管阵列。表 1-2 USB相关信息微控制器引脚板 功 能跳线名称Pin 70 USB0DM USB Data- Pin 71 USB0D USB Data+ Pin 73 USB0RBIAS USB bias resistor Pin 66 USB0ID OTG ID signal(输入到微控制器) OTG ID Pin 67 USB0
13、VBUS Vbus Level monitoring +VBUS Pin 34 USB0EPE Host power enable(高电平有效) EPEN Pin 35 USB0PFLT Host power fault signal(低电平有效) PFLT U6是一个故障保护开关,监控USB主机端口的电源。USB0EPEN是微控制器的控制信号,有一个下拉电阻,以确保在复位时主机的端口电源被切断。如果所连接的USB设备电流消耗超过1A或者开关的热限制被设备超出消耗超过500mA,则电源开关会被马上切断。USB0PFLT信号线指示过载电流的状态,反馈至微控制器。 此开发板可以是一个总线供电的US
14、B设备或是自供电USB设备,这决定于电源所跳线的配置。 当在USB主机模式中使用开发板时,EVB的电源应由在线调试接口(ICDI)USB连接线或连接到直流电源插孔的+5V所供应。 注:LM3S9B92的USB功能是完全独立于在线调试接口USB功能。调试 Stellatis微控制器支持通过JTAG或SWD编程和调试,JTAG使用TCK、TMS,TDI和TDO信号。SWD要求的信号较少(SWCLK,SWDIO,和可选择的跟踪信号SWO)。由调试器决定使用何种调试协议。n 调试模式 此LM3S9B92开发板支持一系列硬件调试配置,如表 1-3所示。表 1-3 硬件调试配置模式调试功能用 途选 定1
15、内置的ICDI 在板上LM3S9B92通过USB接口调试微控制器 默认模式 2 输出到JTAG/SWD的ICDI接头 开发板被用作USB到SWD/JTAG的接口连接到外部目标板 连接到外部目标并开始调试程序 3 从JTAG/SWD接头输入 提供给需要使用带EVB外部调试接口(ULINK,JLINK等)的用户 连接一个外部调试器到JTAG/SWD n 调试注意事项 调试模式3支持使用外部调试接口的板载调试,例如Segger J-Link 或Keil ULINK。大多数调试器用调试连接器的1号引脚来检测目标板的电压,在某些情况下,为输出逻辑电路供电。为使用外部调试器,必须使得VDD/PIN1跳线开
16、关合上,从而使此引脚带上3.3V电压。 n 调试USB概述 使用Future Technology Devices International公司的FT2232芯片来实现USB-to-serial的转换。FT2232默认设置可以在通道A上使用一个JTAG/SWD 端口(串行接口)和一个在通道B上使用的虚拟COM接口(VCP)。此功能允许主机和目标设备利用一条USB线同步通讯。在文档和软件CD盘中提供了每个功能的独立Windows驱动。 在线调试接口USB的功能完全独立于LM3S9B92芯片上的USB功能 。 FT2232芯片的配置数据由一个小的串行EEPROM存储。该EEPROM是不可被LM3
17、S9B92微控制器访问的。 关于FT2232运作的全部细节,请访问。 n USB到JTAG/SWD FT2232 USB设备在调试器控制下执行JTAG/SWD串行操作。一个简单的逻辑电路复用SWD和JTAG功能,在SWD模式下工作时,为双向数据线提供方向控制。 n 虚拟串行通信端口 虚拟串行通信端口(VCP)允许Windows应用程序(如超级终端)与LM3S9B92上的UART0通过USB通信。一旦安装FT2232 VCP设备驱动后,Windows会分配一个串行通信端口号到VCP通道。表 1-4列出了调试相关信号。表 1-4 相关调试信号微控制器引脚板 功 能跳线名称Pin 77 TDO/SW
18、O JTAG data out or trace data out TDO Pin 78 TDI JTAG data in TDI Pin 79 TMS/SWDIO JTAG TMS or SWD data in/out TMS Pin 80 TCK/SWCLK JTAG Clock or SWD clock TCK Pin 26 PA0/U0RX Virtual Com port data to LM3S9B92 VCPRX Pin 27 PA1/U0TX Virtual Com port data from LM3S9B92 VCPTX Pin 64 RSTn 系统复位 RSTn n 串行
19、线输出(SWO) 开发板支持Cortex-M3串行线输出(SWO)跟踪功能。在调试器控制下,板上的逻辑电路可将SWO数据流发送到VCP传送通道。调试器软件便可对从虚拟串行通信端口处接收到的跟踪信息解码和解释。当使用SWO时,中断UART0和虚拟串口(VCP)的连接。并不是所有的调试器都支持SWO。 更多跟踪端口接口单元(Trace Port Interface Unit,TPIU)的信息请参考Stellaris LM3S9B92微控制器数据手册。 彩色QVGA LCD触摸显示屏 此开发板采用分辨率为320 x 240像素的TFT液晶图像显示器。该显示器使用前应除去在运输过程使用的保护塑料薄膜。
20、 n 特性 LCD模块具有的特性包括: 高品质a-Si TFT LCD单元 262,144/65,536 颜色值 80-系统8位接口 支持高速butst-GRAM写功能 支持部分屏幕显示 支持睡眠和待机两种模式以节省电源 高对比度,高明度 重量轻,体形小 低功耗 4线模拟电阻触摸面板 n 控制界面 彩色LCD有一个内置的多模式并行接口控制器IC,开发板使用一个8位的8080型接口GPIO D口,作为数据总线。表 1-5列出了LCD相关信号:表 1-5 液晶显示器信号微控制器引脚板 功 能跳线名称PE6/ADC1 Touch X+ X+ PE3 Touch Y- Y- PE2 Touch X-
21、X- PE7/ADC0 Touch Y+ Y+ PB7 LCD复位 LRSTn PD0.7 LCD 数据总线 0.7 LD0.7 PH7 LCD 数据/控制选择 LDC PB5 LCD读出选通 LRDn PH6 LCD写入选通 LWRn - 背光灯控制 BLON n 规格说明 表 1-6 TFT-LCD 模块序号项目名称特性1类型 透射型 2显示模式 平常白 3像素单元 a-Si TFT 4屏幕尺寸 2.6 inch (对角) 5分辨率 240(RGB)320 6色数 65,536/262,144 7有效面积 38.8851.84(mm) 8点距 66198(m) 9色彩 RGB条纹(RGB-
22、stripe) 10装配类型 COG 11IC S6D0154 12背光 LED 13视觉方向 12 oclock 14模块尺寸 46643.5(mm) 15电源 2.53.3 V 16接口 80-System16/8 bit I/F 17表面处理 紫外线保护 表 1-7 触摸面板序号项目名称规格备注1类型4 线模拟电阻式2输入模式手写笔或手指接触3表面处理透明型4玻璃厚度0.5(mm)5有效区域40.6x57.65(mm)6可视范围42x58.15(mm)7外形尺寸45.6x63.5x1.0(mm)8触摸力度80 (gf)手指或手写笔在有效区域内,而不是在边缘和点隔片之间。9表面硬度9 3H
23、JIS-K5400n 背光 白色LED背光显示必须清晰可见。U7(TPS60230)实现一个80mA的恒定电流LED的背光电源,LCD共有4个并联LED,每个电流大约20mA。背光通常不由微控制器控制,但是,接口处的控制信号仍然有效。跳线连接到GND可使背光失效。另外,可使用一根导线通过一个空闲的微控制器GPIO线路控制此信号。由于此TPS60230工作于恒定电流模式,如果断开LCD,它的输出电压将会跳变。 n 电源 此LCD模块内置偏置电压发生器,仅需要一个3.3V的直流电源。 n 电阻触摸屏 4线电阻触摸屏可通过使用2个ADC通道和2个GPIO信号直接与微控制器连接。更多电阻触摸屏信息请参
24、考StellarisWare源代码。I2S音频 LM3S9B92开发板的高级音频功能使用了I2S音频TLV320AIC23解码器。出厂默认配置音频输出已启用(线路输出和耳机输出)。音频输入要求四个额外的I2S信号(线路输入和麦克风)。四个音频接口都使用1/8寸(3.5毫米)立体声插孔。表 1-8列出了I2S音频相关信号。表 1-8 I2S音频相关信号微控制器引脚板 功 能跳线名称I2C0SDA编解码器的配置数据SDAI2C0SCL编解码器的配置时钟SCLI2STXSD音频输出串行数据TXSDI2STXWS音频输出帧信号TXWSI2STXSCK音频输出比特时钟BCLKaI2STXMCLK音频输出
25、系统时钟MCLKI2SRXSD音频输入串行数据RXSDbI2SRXWS音频输入帧信号RXWSbI2SRXSCK音频输入比特时钟BCLKbI2SRXMCLK音频输入系统时钟MCLKba.与基准模拟电压共享GPIO线路,默认连接跳线。 b.与LCD数据总线共享GPIO线路-端口D,跳线默认不接连。音频编解码器拥有若干使用I2C总线信号进行配置的控制寄存器。使用I2C时,编解码器配置只能写入,不能读取。更多信息可参考StellarisWare编程资料范例和完整介绍TLV320AIX23B寄存器的数据手册。 耳机输出可直接连接到任意标准耳机。线路输出适用于连接到一个外置音箱,包括PC台式扬声器。用户切
26、换和LED 开发板提供一个用户切换按钮和指示灯,如表 1-9所示。表 1-9 开关信号导航微控制器引脚板载功能跳线名称PJ7用户切换切换PF3用户指示灯LEDaa. 共享黄色指示灯以太网插口,默认连接跳线 SDRAM扩展板 SDRAM提供8MB内存(4M16),一旦配置完成将成为LM3S9B92位于0x6000.0000或0x8000.0000的存储器映射。SDRAM接口多路传输DQ00.14和 AD/BA0.14无需外部锁存器或缓冲区。 1.3 使用在线调试接口 此Stellaris LM3S9B92开发板可用作在线调试接口(ICDI)。ICDI充当一个USB接口连接到JTAG /SWD适配
27、器,并允许调试外部任何一个使用Stellaris微控制器的目标板。请参阅“调试模式”中关于“如何进入调试输出模式”的描述。图1-4 ICD的接口模式调试接口能作用于串口调试SWD或JTAG模式中,此决定于IDE调试器的配置。 此IDE调试器不能区分板上的Stellaris微控制器和外部Stellaris微控制器,要求适当的Stellaris设备已在项目配置中被选择。 Stellaris目标板应有一个2x10 0.1”的信号引脚头,如附录B3所示。这适用于外部的Stellaris微控制器目标(调试输出模式)和外部的JTAG /SWD调试器(调试输入模式)。 ICDI不控制RST(设备复位)或TR
28、ST(测试复位)信号。这两种复位功能被用于JTAG /SWD,所以这些信号通常是不必要的。 建议连接所有GND引脚,无论如何,目标和外部调试接口必须连接引脚5并且至少有一个GND引脚连接到地。一些外部调试接口可能需要给定一个电压以设置线路驱动的门限值。如果一个外部调试器连接,开发板ICDI电路自动设置引脚1为高电平,在其他模式中,引脚1设置为未使用的。第2部分 LM3S9B92开发环境简介2.1 开发环境使用本实验评估板需要以下硬件和软件调试工具。硬件:装有winxp 或win7的PC机一台,lm3s9b92评估板,用于调试的usb Mini-B数据线。软件:Luminary FTDI仿真驱动
29、程序,Keil RealView MDK 开发环境。2.1.1 硬件连接把USB mini-B数据线的 mini B 接口插在开发板的J13处,另一端连接计算机的USB接口。2.1.2 Luminary FTDI仿真驱动程序的安装DK-LM3S9B92 开发板内嵌有 USB 接口的下载仿真器,在正常使用之前必须要安装Luminary专用的 FTDI 驱动程序。该驱动程序存放在开发板光盘内Tools目录下的FTDI文件夹下。具体安装步骤如下:1、 将连接有usb mini-B数据线的DK-lm3s9b92开发板连接到电脑上,此时windows会提示“发现新硬件”,接着弹出“找到新的硬件向导”对话
30、框,如图2-1。选择“否,暂时不”,按下一步。图2-1 安装 LuminaryFTDI 驱动:硬件安装向导2、 选择“从列表或指定位置安装(高级)”,按“下一步” ,如图 2-2 所示。现在安装的是“Stellaris Development Board A”。图2-2 安装 LuminaryFTDI 驱动:选择指定位置安装3、 勾中“ 在搜索中包括这个位置”,按浏览,打开路径“G:Tools FTDI”,按下一步。如图2-3所示。 图2-3 安装 LuminaryFTDI 驱动:选择驱动程序位置4、 在安装完评估板 A 之后,还会继续对“Stellaris Development Board
31、 B”和“Stellaris Virtual COM Port”安装,安装方法都类似,都在相同目录下搜索驱动。 5、 3个驱动程序全部安装完成后,可以打开 Windows 的设备管理器来查看相关设备信息。打开设备管理器后,就能看到刚才安装的设备了,如图2-4所示。 图2-4 安装LuminaryFTDI 驱动:查看设备管理器如果LuminaryFTDI驱动程序装错了,或者以后要升级为最新版本的驱动程序,则需要首先卸载。卸载时先把开发板连接到电脑上,然后打开 Windows 设备管理器,找到“Stellaris Virtual COM Port (COMx)”,点右键,选择“卸载”。以同样的方法
32、卸载“Stellaris Development Board A”、“Stellaris Development Board B”和“USB Composite Device”。 截至2009年10月,Luminary Micro 官方网站发布了最新的Stellaris外设驱动库版本“PDL-LM3S-5228”。驱动库完全基于ANSIC标准编写,并且源代码也是公开的,因此读者完全可以摒弃晦涩难懂的汇编语言,也不需要掌握底层寄存器的操作细节,只要懂 C 语言就能轻松玩转 Stellaris系列ARM。这也使得学习开发32位ARM 的入门门槛大大降低。 只要登陆网站“http:/www.Lumi
33、naryM”并注册用户信息,就能够免费下载到最新的驱动库版本。2.1.3安装Keil RealView MDK现在,能够支持德州仪器公司Stellaris系列ARM 的软件开发平台主要有 Keil、IAR、Cross、CodeSourcery、CodeRed等。这些软件各具特色,其中 IAR EWARM 集成开发环境具有编译效率高、32KB 免费评估版、在线仿真成本低等优势。考虑到同学们之前接触过Keil开发环境,这里选择使用keil。我们选择的是4.50版本的Keil Realview MDK。按照成功后将在桌面上看到如下图2-5图标。图2-5 keil4快捷图标2.2 Keil在DK-LM
34、3s9b92开发板上的使用下面以LM3s9b92开发板附赠的光盘内的“Blinky”程序为例,说明如何在keil开发环境下,开发适合于LM3s9b92开发板的可运行程序。Blinky的示例代码在光盘内 “labslab3_gpio_interrupttask1_gpio”路径内(注:光盘内的所有示例程序是应用IAR开发环境开发;对于不同的开发环境只是配置不同,源程序可以重用)。2.2.1 新建工程目录选择在某个目录下,新建一个工程目录,在这里,我们在E盘下新建一个”LED_Blink”目录作为工程目录,即“E:LED_Blink”。2.2.2 新建工程在新建目录“LED_Blink”中,新建基
35、于芯片LM3s9b92的工程,并把该工程命名为“LED_Blink”。具体操作如下:(1) 打开keil开发环境;(2) 通过点击“Project”菜单下的“new uvison project”选项新建工程,先选择存放工程的目录,这里选定新建的目录“E:LED_Blink”为工程目录,如图2-6;同时给工程命名,在此我们把它命名为“LED_Blink”,如图2-7,并点击保存。图2-6 选择工程目录图2-7 命名工程名接着选择工程的开发目标器件:选择TI(Texas instruments)公司的LM3s9b92为目标器件,如图2-8和图2-9。 图2-8 选择器件厂家 图2-9 选择器件名
36、称选定后,并单击“OK”保存设置。接着将弹出如图2-10所示的对话框,该对话框是向开发者询问“是否将所选目标器件对应的启动文件添加到工程目录中”,我们选择“是”。紧接着我们可以在工程窗口内看到被添加的启动文件“Startup.s”,如图2-11。图2-10 添加启动文件的提示框图2-12 添加的启动文件Startup2.2.3 添加源文件(程序代码)1、 添加主程序:把光盘内“labslab3_gpio_interrupttask1_gpio”目录下的“blink.c”文件复制到新建的工程目录“E:LED_Blink”下,如图2-13。并通过工程窗口内的添加文件功能把“blink.c”文件添加
37、到工程“LED_Blink”中,添加成功后,将在工程窗口中看到该文件的文件名,如图2-14所示。图2-13 工程目录下添加源文件图2-14 工程内添加源文件2、 添加驱动程序和库文件:LM3s9b92开发对应的头文件、库文件以及驱动程序在光盘“labsStellarisWare”目录内。共有三个库目录:driverlib、grlib、usblib,它们分别对应外设驱动库、图形库、usb库;“inc”目录中只是存放与芯片外设相关的头文件,另外还有根据开发板电路配置的驱动程序在目录“drivers”中。 若进入库目录查看,里面不仅有各库对应的源程序,还有一些子目录,比如“ewarm”、“rvmdk
38、”等,这些子目录内存放的是不同开发环境下,各库对应的生成库。比如,rvmdk目录下存放的是ARM/Keil的“MDK”开发环境下可执行库。A、 库文件和头文件的添加:把光盘下的driverlib、grlib、inc三个目录复制到工程目录“E:LED_Blink”下。因为“blink.c”源程序中需要用到driverlib和grlib库,因此需要通过工程窗口添加这两个库对应在keil开发环境下的库,添加方法和添加源程序的方法一样。下面以添加driverlib为例说明:参照图2-15、2-16、2-17操作。在图2-17中选中“driverlib.lib”库文件,单击“Add”按钮。之后,我们会在
39、工程窗口中看到包含了该库文件。添加完两个库后的工程窗口如图2-18所示。图2-15图2-16图2-17图2-18添加头文件可以采用指明工程需要include的头文件的存放路径的方式,加入工程中。这里的路径最好采用相对于工程文件的相对路径。具体设置方法如下:打开该工程的“Option”选项对话框,选择其中的“C/C+”标签,如图2-19。在该标签页内“Includs Paths”对应的文本框内写上“blink.c”程序中需要用到头文件相对于工程文件的相对路径即可,如图2-20所示。这里是写上“.”,它表示指向的路径为在当前工程文件所在目录内。 图2-19 C/C+标签页图2-20 填写头文件相对
40、工程文件的相对路径B、 添加驱动程序:在“blink.c”程序文件中用到了关于触摸屏、开发板上LM3s9b92芯片引脚配置驱动程序。这些程序在光盘“labsStellarisWare”目录下的目录“drivers”中。所以把“drivers”目录复制到工程目录“E:LED_Blink”中。接着并像添加程序文件“blink.c”一样,把“drivers”目录中的“kitronix320x240x16_ssd2119_8bit.c”、“ set_pinout.c”添加到工程窗口中,结果如图2-21所示。图2-212.2.4 为工程的编译、连接、运行以及调试进行配置在工程窗口选中工程文件夹,然后单击
41、右键在弹出的快捷菜单中选择“Option”选项,或者单击“Project”下拉菜单的“Option”选项,弹出如图2-22对话框,进行如下设置:图2-22(1) 单击对话框中的“Target”选项,将“Target”选项卡下的晶振“Xtal”按照开发板设置为“16.0”,并将“Code Generation”区的“Use Microlib”选项钩上。如上图2-22所示。(2) 单击对话框中的“Debug”选项,如图2-23选中“Use”,并将“Use”后的下拉组合框选为“Stellaris ICDI”。设置好后,再点击下拉组合框后的“Setings”按钮,将弹出图2-24所示的对话框,在该对话
42、框内,务必保证“FLash”区内是选择了“Page Erase(erase only necessary pages)”,而且后面的复选项不能选择“Reset and Run”,否则将烧坏Flash芯片。图2-23图2-24(3) 单击对话框中的“Utilities”选项,如图2-25所示选中“Use Target Driver for Flash Programming”选项,并将该选项下的下拉组合框选为“Stellaris ICDI”,通过点击“Settings”按钮弹出的对话框的设置方式同上面步骤(2)说明操作。图2-252.2.5 编译、链接在工程窗口选中工程文件夹,单击右键在弹出的快
43、捷菜单中选择“Rebuild all target files”选项,或者单击“Project”下拉菜单的“Rebuild all target files”选项,进行编译链接。如果有错误则做相应的修改,直到出现 0 error为止。这时软件会自动生成运行于Arm处理器中的可执行文件“LED_Blink.axf”。2.2.6 加载项目(下载项目到目标板)在加载项目前,先把开发板通过USB接口连接到PC机上,在keil界面中选择主菜单FlashDownload,或者单击快捷键(),开始装载“LED_Blink.axf”文件。2.2.7 启动调试在Keil界面中选择主菜单Debugstart/st
44、op debug session,或者单击快捷键,进入调试状态。2.2.8 运行程序在Keil界面中选择主菜单DebugRun,或者单击快捷键,运行程序。程序运行后,会看到液晶屏上有显示一些字符,同时开发板上有两只LED灯在闪烁。2.2.9 退出运行状态在Keil界面中选择主菜单DebugStop,或者单击快捷键,则退出运行状态。但是此时仍然处于调试状态,若要退出调试,返回开发状态,则单击或者通过主菜单Debugstart/stop debug session。第3部分 LM3s9b92开发实例3.1 GPIO实验一、 实验目的学会编程控制 GPIO口二、 实验设备计算机、LM3S9B92开发
45、板、USB A型公口转 Mini B型 5Pin 数据线1 条三、 实验原理LM3s9b92包含九个GPIO模块,每个模块对应一个GPIO端口(PA、PB、PC、PD、PE、PF、PG、PH)。每个GPIO端口包含8个管脚,如PA端口是PA0PA7。GPIO模块遵循FiRM(Foundation IP for Real-Time Microcontrollers)规范,并且支持多达60个可编程输入/输出管脚(具体取决于与GPIO复用的外设的使用情况)。图3-1 该开发板的PJ7引脚外接输入按键SW1,PF3引脚通过电阻R11可以驱动LED1,如图3-1所示。实验要求通过编程控制和配置GPIO引
46、脚,实现按键SW1控制LED1的闪烁。四、 实验步骤1、 连接实验设备:使用USB mini B线缆的mini端与开发板ICDI口相连,另一端接到PC机的USB插口上。2、 根据光盘内提供的blinky例程,在Keil开发环境下搭建新的工程,并进行相关配置。调试程序,运行程序,观察运行结果。五、 实验结果与分析1、 结合开发板电路原理图,分析程序实现两个LED灯闪烁的原理。2、 给出程序流程图3、 说明程序中调用了哪些库和库函数,并说明各库的功能。六、 实验二次开发 参照实现LED灯闪烁的原理,实现通过开发板上按键SW1控制LED1的亮与灭,给出程序框图和源代码。3.2基于systick秒表的
47、实现一、 实验目的学会编写中断程序学会应用LM3S9b92的systick系统时钟节拍计数器。二、 实验设备计算机、LM3S9B92开发板、USB A型公口转 Mini B型 5Pin 数据线1 条三、 实验原理SysTick是一个简单的系统时钟节拍计数器,它属于ARM Cortex-M3内核嵌套向量中断控制器NVIC里的一个功能单元,而非片内外设。SysTick常用于操作系统(如:C/OS-II、FreeRTOS等)的系统节拍定时。由于SysTick是属于ARM Cortex-M3内核里的一个功能单元,因此使用SysTick作为操作系统节拍定时,使得操作系统代码在不同厂家的ARM Corte
48、x-M3内核芯片上都能够方便地进行移植。当然,在不采用操作系统的场合下SysTick完全可以作为一般的定时/计数器来使用。SysTick是一个24位的计数器,采用倒计时方式。SysTick设定初值并使能后,每经过1个系统时钟周期,计数值就减1。计数到0时,SysTick计数器自动重装初值并继续运行,同时申请中断,以通知系统下一步做何动作。四、 实验要求应用systick系统时钟节拍计数器进行计时,实现秒表功能。开发板上的按键SW1起秒表的起始和停止作用,按下SW1键,表示秒表的启动,开始计时,再按下SW1键,则表示秒表的停止。秒表时间的显示,可以采用LED1灯的闪烁方式,或者直接显示在液晶屏上
49、。五、 实验步骤1、 连接实验设备:使用USB mini B线缆的mini端与开发板ICDI口相连,另一端接到PC机的USB插口上。2、 根据实验要求编写、调试、运行程序。并要求在代码上附上相关的注释。3、 书写实验报告,要求附上程序流程图。3.3基于通用定时器秒表的实现一、 实验目的学会编写中断程序学会应用LM3S9b92的通用定时器比较通用定时器和systick的特性二、 实验设备计算机、LM3S9B92开发板、USB A型公口转 Mini B型 5Pin 数据线1 条三、 实验原理在Stellaris系列ARM内部通常集成有4个通用定时器模块(General-Purpose Timer
50、Module,GPTM),分别称为Timer0、Timer1、Timer2和Timer3。它们的用法是相同的:每个Timer模块都可以配置为一个32位定时器或一个32位RTC定时器;也可以拆分为两个16位的定时/计数器TimerA和TimerB,它们可以被配置为独立运行的定时器、事件计数器或PWM等。四、 实验要求参照systick设计秒表的思路,应用通用定时器进行计时,实现秒表功能。开发板上的按键SW1起秒表的起始和停止作用,按下SW1键,表示秒表的启动,开始计时,再按下SW1键,则表示秒表的停止。秒表时间的显示,可以采用LED1灯的闪烁方式,或者直接显示在液晶屏上。五、 实验步骤1、 连接
51、实验设备:使用USB mini B线缆的mini端与开发板ICDI口相连,另一端接到PC机的USB插口上。2、 根据实验要求编写、调试、运行程序。并要求在代码上附上相关的注释。3、 书写实验报告,要求附上程序流程图。六、 实验心得比较systick定时器和通用定时器的特性。3.4基于UART的加法器的实现一、 实验目的学习lm3s9b92的串口通信学习应用超级终端调试串口学会应用UART有关的库函数二、 实验设备计算机、LM3S9B92开发板、USB A型公口转 Mini B型 5Pin 数据线1 条三、 实验原理Stellaris系列ARM的UART具有完全可编程、16C550型串行接口的特
52、性。Stellaris系列ARM含有2至3个UART模块。该指导书在第一部分的1.2节中说明,该开发板使用了FT2232芯片实现usb到串口的转换。并设置在芯片的B通道上使用虚拟COM接口(VCP)。虚拟串行端口(VCP)与LM3s9b92上的UART0模块连接。在安装FTDI驱动程序后,windows会分配一个串行通信端口号到VCP通道,并允许windows应用程序(如超级终端)通过USB与LM3s9b92上的UART0进行通信。利用Windows超级终端调试UART的方法对于该开发板,使用的是USB虚拟的COM端口,无须使用DB9连接器。因此下面讲解一下如何利用Windows附带的超级终端
53、来调试UART接口。 Windows附件里的“超级终端”是个非常实用的应用程序,可以用来调试电脑的COM串行口,也能很好地支持通过USB虚拟的COM口。以下是超级终端配置COM端口的过程: 1 查看COM端口鼠标右击“我的电脑”属性硬件设备管理器,打开后可以查看到电脑的端口(COM和LPT)情况,如图3.2所示。通常可以选用COM1或COM2(以实际的硬件连接为准)。对于开发板,要选用USB虚拟的COM接口(Stellaris Virtual COM Port),请先记下所要采用的COM编号,在后续操作步骤里会用到。2 启动超级终端 鼠标点击“开始”程序附件通讯超级终端,启动后的对话框如图3.
54、3所示。3 配置过程 如图3.3所示,点击“取消”。然后请参考图3.4图3.12进行配置。图3.2 查看设备管理器COM端口 图3.3 启动Windows超级终端图3.4 确认取消:是图3.5 超级终端:确定图3.6 连接描述:填写名称并选择自己喜欢的图标图3.7 位置信息:取消图3.8 确认取消:是图3.9 超级终端:确定图3.10 连接到:选择COM端口图3.11 COM属性配置图3.12 另存到桌面快捷方式最后一步是另存到桌面快捷方式,以方便下次直接使用。4 调试hello world例程如图3.13所示,为调试输出“hello world”例程从UART0串口模块输出的结果。图3.13 hello world例程输出结果四、 实验要求采用超级终端作为外部输入与输出的接口,实现多位数的相加。即通过UART串口分别输入需要相加的多
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年人教版二年级科学下册期中试卷及答案全面
- 2025年统计学期末考试题库:统计推断与检验统计决策分析试题试卷
- 2025年小学语文毕业升学考试模拟试卷:趣味知识拓展与阅读理解训练
- 2025年初中地理学业水平考试模拟试卷:地质灾害防治与城乡规划试题
- 2025年中学教师资格考试《综合素质》教育理念辨析重点题库及答案详析
- 2025年调酒师职业技能大赛酒吧营销与创新试题试卷
- 《2025年专升本艺术概论考试模拟试卷:艺术与科技融合背景下的创意设计试题》
- 中外文化交流中心2024年度应届毕业生招聘笔试高频难、易错点备考题库及答案详解一套
- 2025年统计学期末考试题库:统计学期末考试题库:2025年统计推断与检验在体育科学中的应用试题
- 2025年护士营养护理学试题:针对护士执业资格考试题库
- 六年级家长会课件
- 2025年安徽省淮南市【辅警协警】笔试模拟考试题(含答案)
- 废气处理活性炭吸附操作规范
- 创伤急救基本知识培训课件
- 2025年农业农村科技基础知识考试题库(附含答案)
- 合同第三方见证人范本
- 学生心理健康教育干预措施
- DB32∕T 4652-2024 基于区块链技术的多中心药物临床试验管理系统开发指南
- 实验室生物安全知识培训考试试题(含答案)
- 2025年成人高考英语试题及答案
- 高渗盐水治疗脑水肿及颅内高压专家共识解读
评论
0/150
提交评论