TI Tiva TM4C123GXL LaunchPad评估板的使用入门

01_00

目标

本文讨论的是如何在Microsoft Windows操作系统上使用Keil的µVision IDE(集成开发环境)和德州仪器TM4C123GXL LaunchPad开始进行编程和接口设计。

快速链接

购买链接

TI Tiva TM4C123GXL评估板

参考文档

下载

  • Keil的µVision IDE——一种用于对各类单片机进行编程的编程环境。可以使用仅限32KB代码的免费评估板,适用于大多数小型项目。
  • TivaWare开发套件——适用于TivaWare C系列的TI开发套件,包括各种片内外设的C库和可用于µVision(以及其他支持的IDE)的示例代码。
  • Stellaris ICDI驱动程序——适用于内部电路调试接口的驱动程序,µVision需要利用这些驱动程序与器件建立适当的通信。
  • TeraTerm——一个开源的免费串行终端仿真器,非常适合用于通过123G的UART 0外设发送调试消息。

简介

TI TM4C123GXL LaunchPad是TI的TM4C123GH6PM单片机的评估/开发平台,属于ARM Cortex-M4F单片机系列的一部分。借助LaunchPad,你可以轻松地测试单片机的功能和特性,并且通过简单的USB连接即可使用JTAG轻松地对单片机进行编程和调试,从而加快原型开发和测试的速度,因此也是这种评估板的常见用法。

借助该评估板,你可以访问TM4C123GH6PM MCU上的大多数,甚至是所有外设。这包括GPIO端口、UART端口、SSI端口(可以用于实施SPI协议)、I²C总线、PWM模块、定时器/计数器和各种其他外设。本文将尝试说明如何使用µVision和TI的示例项目(使用C编程语言)开始使用评估板和一些前述的外设。如需查看更多信息和示例代码(本文中使用了其中很多代码),请访问Digi-Key的产品页面德州仪器的产品页面

TI在维基上也发表了一篇类似的文章,本文将尽量避免提及冗余的内容。TI的文章更加深入地介绍了该设备的功能(你也可以在TI的产品页面的规格书中找到)。但截至笔者写作时,TI的文章中仍然缺少许多实验细节;本文将尝试帮助用户开始利用TM4C123GXL进行实际编程和接口设计。此外,TI的示例使用的是TI专有的Code Composer Studio(CCS)IDE对器件进行编程;我们将介绍如何使用Keil的µVision IDE对TM4C123GXL进行编程。

注意:本文中的单片机、MCU和处理器术语可互换使用。

运行示例项目

下载必要的软件

首先,点击此处下载并安装Keil的µVision IDE。在本教程中,我们使用的是MDK-ARM v4的试用版,因为(截至本文撰写时)这是与ARM处理器搭配使用的IDE的最新稳定版本。需要先在Keil的网站上注册,然后才能下载IDE,但这是完全免费的。然后只需运行安装程序即可;默认安装设置对于本教程来说已经足够。如果Windows没有创建IDE的快捷方式,可以在“…\Keil\UV4\UV4.exe”中找到。

接着,下载TI的TivaWare开发套件。其中包含许多有用的文件,包括µVision示例项目(是编程TM4C123G的良好着手点)以及TM4C123G外设的许多驱动程序和库。你可以点击此处下载该软件。对于TM4C123GXL评估板,我们需要下载SW-EK-TM4C123GXL-2.1.0.12573.exe。与Keil的网站一样,你需要先注册再下载,但是完全免费。运行此可执行文件并将其安装到所选择的位置。对于本教程,我们假设使用的是默认目录“C:\ti\TivaWare_C_Series…”。

在TI网站上,我们还需要下载内部电路调试接口(ICDI)的驱动程序,以便在TM4C123GXL中上传和调试代码。你可以点击此处下载。

最后,还需要下载串行终端程序,以便我们可以轻松地查看TM4C123G的输出,这在调试时非常有帮助。TeraTerm简单易用,因此我们将在本教程中使用。你可以点击此处,通过SourceForge下载。对于本教程,选择标准安装即可。

基本设置

现在,所有必要的软件都已安装完毕,我们可以通过器件随附的MicroUSB线缆将LaunchPad评估板连接到计算机上。请确保使用器件上的“DEBUG”MicroUSB端口,并将板上的“DEVICE/DEBUG”开关设置为DEBUG。Windows可能会自动安装相应的器件驱动程序,并且可能会将其识别为Stellaris ICDI(内部电路调试接口)器件。如果Windows未自动识别该器件,请前往设备管理器(在Windows的控制面板中),在“其他设备”下,你应该会看到三个尚未安装驱动程序的新器件。右键单击第一个器件,并选择更新驱动程序选项。然后选择浏览驱动程序的选项,并在窗口中定位到之前下载的包含Stellaris ICDI设备驱动程序的文件夹(你可能需要解压缩文件)。对于“其他设备”下列出的其他两个器件,请重复执行上述操作。对于Windows 8和8.1用户,你可能需要禁用“驱动程序签名强制执行”才能安装驱动程序。具体的执行步骤请在Baidu中搜索(根据你使用的Windows 8版本,此过程可能会略有不同)。

现在打开TeraTerm,在“File”下选择“New Connection”。选择串行所对应的单选按钮,在下拉菜单中选择“Stellaris Virtual Serial Port”选项(COM端口号由Windows随意分配,不是很重要)。对于将要开始使用的示例代码,UART外设波特率已配置为115,200,具有8个数据位、1个制动位且无奇偶校验位,因此我们需要确保将TeraTerm配置为相同的设置,从而保证MCU和串行终端之间建立正确的通信。在TeraTerm的顶部菜单中,选择“Setup → Serial port…”并确保设置与下面所示的设置一致(端口除外,Windows可能会为器件分配不同的端口号):

02_00

编译和下载示例项目

此时,我们可以打开µVision IDE。在屏幕顶部的菜单中,选择“Project → Open Project…”并导航到先前安装的TivaWare软件。我们需要前往“ti\TivaWare_C_Series-2.1…\examples\boards\ek-tm4c123gxl”。在这里,你可以看到TI针对此特定评估板提供的各种示例。现在,前往“hello”文件夹并打开“hello.uvproj”。这是一个简单的Hello World程序,将通过MCU的UART 0外设输出“Hello, world!”(该外设连接到我们用于连接TeraTerm的同一虚拟串口)。

要编译程序,请点击下图中显示的“Rebuild”按钮(或者,你也可以从顶部菜单中选择“Project → Rebuild all target files”来重建项目)。这将重新编译项目中的所有源文件。

03_00

如果编译和链接成功,µVision底部的“Build Output”窗口应该显示0个错误。现在代码已编译完毕,但仍需上传到评估板中。为此,请点击下图中显示的“Download”按钮(或从顶部菜单中选择“Flash → Download”)。

04_00

下载成功后,“Build Output”窗口将显示“Erase Done. Programming Done.Verify OK.”现在,该项目已成功加载到我们的单片机中,请按下评估板上的“RESET”按钮。此时,板上的程序将从头开始执行,并应将字符串“Hello, world!”输出到串行终端(在本教程中为TeraTerm),且评估板上的LED将闪烁。

接下来该怎么做?

要开发自己的TM4C123GXL程序,你可以先从我们刚刚加载到板上的TI示例代码入手。建议尝试一些位于“hello”项目所在文件夹中的其他示例项目。分析这些项目有助于你更加深入地了解如何使用TI提供的C库对MCU的各种外设进行编程。这些库中的许多函数只是修改了各种外设的硬件寄存器的内容,因此,为了更好地理解硬件,你可以选择自行修改这些寄存器,而不是使用TI的函数。有关这些寄存器的完整清单以及有关单片机的外设和其他特性的更多信息,请参见TM4C123GH6PM规格书

提示

  • 在编程123G时,应始终在主函数的末尾放置一个无限循环(比如while(1); )。如果没有无限循环,可能会发生未定义的行为。一部分原因是,由于MCU上的外设可以独立于代码的线性执行而运行,如果主函数在外设活动的中途结束,那么该活动可能会被中断(尽管可能还有其他原因)。此外,如果允许主函数结束,则中断将无法正确执行。
  • 在将新代码加载到评估板上后,别忘了按下板上的“RESET”按钮!这会促使单片机开始执行新加载的代码。
  • TI的“hello”示例项目(以及其他类似项目)中的“ConfigureUART()”函数非常有用(结合TeraTerm使用),可在应用开发期间输出简单的调试信息。该函数可对UART 0外设进行设置,以便与TI的“uartstdio”库配合使用,该库可以访问“UARTprintf()”函数。该函数类似于C标准I/O中的“printf()”函数,支持你轻松地将字符串和整数等变量打印到串行终端上。

问题/评论

如有任何疑问或评论,请访问Digi-Key的技术论坛