TI-MCU专区

TI M4简单入门

发布日期:2011/11/21

第1章 TI M4简单入门

终于拿到TI-M4的开发板了,Stellaris® LM4F232 Evaluation Board,如下图

由于TI-M4是在之前TI-M3基础上发展来的,外设模块的使用与M3基本一致,开发工具与环境也都一样,所以如果你之前有玩过TI-M3系列的开发板,那么TI-M4开发板就能快速使用。

 

1.1 TI M3M4的比较

在介绍TI-M4快速入门之前 ,先来一个TI M3 与 TI M4异同点的比较。

特性

TI M4

TI M3

内核集成浮点运算单元与DSP指令

数据运算能力

一般

主频

80M, 120M

50M, 80M

IC制成工艺

65nm

130nm

功耗

极低,业界一流

待机1.6uA

偏高

LQFP-144封装

ADC

12bit  1M speed

10bit  1M speed

UART

8

3

USB

DEV/HOST/OTG

DEV/HOST/OTG

内部EEPROM

软件资源

丰富

丰富

芯片价格

低 10K $1.5 起卖

 

1.2 开发板与调试仿真工具

学习MCU,开发板是必不可少的,我使用的是Stellaris® LM4F232 Evaluation Board。和TI所有的M3开发板一样,板上有一个Stellaris ICDI调试仿真工具。不过M4开发板上的Stellaris ICDI是使用TI公司自己芯片(LM3S3601)来实现的,而之前M3开发板是使用FT2232芯片来实现。我牛刀小试体验了几次,使用LM3S3601来做的Stellaris ICDI调试仿真工具,下载程序更快,在KEIL下调试仿真更加流畅快速。

Stellaris ICDI主要有两大功能:

JTAG/SWD 调试功能

我们可以Stellaris ICDIKEIL\IAR\CCS等开发环境下下载程序,仿真调试程序,也可以用LM FLASH PROGRAMMER.exe软件下载程序,解锁芯片等操作。

USB线连接PC LM4F232 Evaluation Board后,在 我的电脑->设备管理器中,会显示如下图所示Stellaris ICDI设备。

 

虚拟串口

Stellaris ICDI插入PC后,有一个USB虚拟出来的串口,MCUUART发送出来的数据可以通过USBPC上虚拟出来的串口来接受。

USB线连接PC LM4F232 Evaluation Board后,在 我的电脑->设备管理器中,会显示如下图所示Stellaris Virtual Serial Port设备。

 

1.3 开发环境

由于TI Stellaris CORTEX-M4使用ARM公司通用内核,所以通用的编译器都会支持,KEIL,  IAR,  CCS等。

我个人使用KEIL多一点,所以一般例程都是KEIL环境下的工程。KEIL MDK-ARM 4.22a以后的版本(包括4.22a)已经开始支持TI M4的芯片型号了,如图所示。

MDK为商业化编译软件,需要付费授权使用,但是它有提供32K代码限制版本,如果你程序在32K以下,就没有必要付费授权。当然,如果你是用来学习,网上有MDK的和谐文件可以使用,这样你的软件就没有代码限制。

 

1.4 LM FLASH PROGRAMMER软件

TI 有提供一个LM FLASH PROGRAMMER.exe 的小软件,用Stellaris ICDI连接目标板与PC,可以对目标板MCU内部FLASH进行 读,写,擦除,以及解锁等操作;

LM FLASH PROGRAMMER.exe 可以与TI M3 \M4 内部固化的BOOTLOAD程序通讯,完成程序升级的功能。

目前LM FLASH PROGRAMMER.exe支持UART\ Ethernet\ USB  3种通讯接口,可以用这3种通讯接口来完成BOOTLOAD功能。

 

1.5 M4 ICDI驱动

和大部分的USB设备一样,当你第一次用USB连接PCStellaris ICDI设备时,PC会提示:“发现新硬件”。这时,你需要指定M4 ICDI文件所在的目录为驱动程序目录,PC开始寻找ICDI的驱动脚本。

 

1.6 StellarisWare软件包

TI M3\ M4有提供一个资源非常丰富的软件包StellarisWare,该软件包里有boards, boot_loader, docs, driverlib, examples, grlib, inc, IQmath, third_party, tools, usblib, utils, windows_drivers 13个文件夹。

boards 文件夹里是TI 各种M3 M4开发板实验例程。

boot_loader 为固化在TI内部ROM中的BOOTLOAD源代码。

docs TI M3 M4各种应用文档

driverlib TI外设驱动库源代码

examples 为外设使用简单例程

grlib TI提供图形库源代码

inc TI外设寄存器地址定义头文件

IQmath TI提供定点转浮点运算的一个函数库

third_party 为第三方公司的一些开源代码

tools TI提供的一些PC实用小软件

usblib TI提供USB库源代码

utils TI提供一些实用程序代码

windows_drivers TI提供一些PC上运行软件所需要的脚本文件

 

1.7 TI M4外设驱动库

TI M3 M4外设驱动库为一套程序,两个工程编译出来的。M4驱动库的文件名为driverlib-cm4f.lib,在新建工程时,只需加入这个文件即可;M3驱动库的文件名为driverlib-cm3.lib,在新建工程时,只需加入这个文件即可。

 

1.8 运行你的第一个程序

因为我使用的是Stellaris® LM4F232 Evaluation Board,直接运行StellarisWare/boards/ek-lm4f232/uart_echo 例程。

打开串口助手,选择Stellaris Virtual Serial Port 端口号,发送数据,如图所示。