首页 > 评测 > 业内第一款ENET+LCD MCU——EK-TM4C1294XL LaunchPad评测

业内第一款ENET+LCD MCU——EK-TM4C1294XL LaunchPad评测

ENET+LCD   EK-TM4C1294XL   LaunchPad   TI   
  • 作者:阿道
  • 来源:21ic
  • [导读]
  • TM4C129x MCU 是业界首款集成以太网 MAC+PHY 且基于 ARM Cortex-M4 的 MCU,为了满足互联网产品的需求。

是的,你没看错,TM4C129x MCU 是业界首款集成以太网 MAC+PHY 且基于 ARM Cortex-M4 的 MCU,为了满足互联网产品的需求。TM4C129x MCU 提供了多种连接选项以及片上数据保护和 LCD 控制器,以节约电路板空间并实现连接应用(例如,家庭/楼宇自动化网关、已连接的人机界面 (HMI)、联网传感器网关及许多其他应用)。

EK-TM4C1294XL LaunchPad是TI为TM4C129x系列的开发而推出的入门级开发板,作为一款入门级的开发板,很明显的看出,TI对他的设计是非常上心的。好了,不卖关子了,就让阿道带领大家去一窥EK-TM4C1294XL的真面目吧!
 
一:TM4C129x系列的介绍
为什么这里要先介绍TM4C129x系列的芯片呢,因为和上一篇的TM4C123G LaunchPad一样,EK-TM4C1294XL也是LaunchPad系列的板子,这里就不对LaunchPad的来源做过多介绍了,具体可以看上一篇TM4C123G LaunchPad的评测。
TM4C129x其实TM4123x系列的升级版,在保留原有资源的基础上并进行了扩展,以满足越来越飞速发展的控制+自动化的需要。这里有一张阿道自己PS的图,可以让大家对两者的外设资源有个清晰的对比。
TM4C129x评测613.png
 
看完后我只想对大家说,阿门,请原谅阿道恶心的PS技术吧!以后再慢慢改进!
 
从上图可以看出,TM4C129x系列和123x系列相比,在保留原有资源的基础上,增大了内存和主频率,增加了外设的数量,另外新加了以太网模块和LCD模块,增加了数据保护功能。对于需要用到互联网方面的产品来说,这些资源足够了!
 
二:EK-TM4C1294XL LaunchPad介绍
先来看看EK-TM4C1294XL(在这里再次简化,以后都称之为T4Pad)的外观。和TM4C123x Pad相比,TM4C129x的Pad无疑是高大上了许多!

 
看到了么,上面那个高大上的,就是TM4C129x Pad了。
 
T4Pad搭载的资源如下:

1>一颗高性能的M4F内核TM4C1294NCPDT MCU

2>集成式 10/100 以太网 MAC+PHY,一个以太网接口

3>USB2.0的接口(上图左边的USB接口)

4>4个用户LED(不再是TM4C123x上面的RGB LED了)

5>2个用户按键

6>一个休眠唤醒按键

7>一个在线仿真调试器ICDI

8>两个可堆叠 BoosterPack XL 连接站点

以上板载资源在T4Pad上的对应位置如下图所示。
TM4C129x评测1144.png
 
有了上面的这张图,相信大家对T4Pad的结构有个大致的了解了吧。在这里,阿道有几个使用中需要注意的地方需要说明:
 
1.主控MCU的供电,是通过JP1来选择的。JP1有三个选项,可以选择为ICDI USB供电,USB DEVICE供电,BoosterPack供电,通过跳线切换就可以了,同一时间只能使能一个。
 
2.右下角的U6是JTAG DEBUG电路。这个电路分三种模式,不使用的模式,使用外部JTAG仿真器调试TM4C1294,使用板载的ICDI调试外部的TIVA系列芯片。后两种模式使能的时候必须调整一些电阻。具体的调整方案可以参考这个链接,猛击进入
 
3.JP4和JP5是切换CAN为连接BoosterPack引脚,切换虚拟串口连接的串口。默认UART0连接虚拟串口。具体的切换方式可以参考这个链接,猛击进入
 
4.看到下面的那两排排针接口了么,你们以为那是TI让你们引出排针,连接排线,然后接外部模块的么?NO,TI给了个很有意思的方案,看看下图就知道啦。
 
TM4C129x评测1704.png
是不是很有创意的设计呢?忍不住给TI的工程师点个赞。
 
三:前期的准备工作
 
前期软件的安装什么的,这里就不再诉说啦。可以参考阿道的另一篇评测,TM4C123G LaunchPad的准备工作。这里仅列出上一篇没有提到的部分。
 
ek-tm4c1294xl LaunchPad电路板资料下载如下
http://www.ti.com/tool/ek-tm4c1294xl
 
值得一提的是,在上面这个链接中下载到的pdf原理图,是不可进行元器件搜索的,这里给个可搜索原理图的下载版本。
http://processors.wiki.ti.com/images/a/ad/EK-TM4C1294XL_REV_D_Design_Package.zip
 
经过阿道的研究,官方给的这个原理图,应该是不完全版本的。具体有些跳线的连接方式,在原理图中是看不到的,比如下图这个JP4和JP5的跳线,6.1D和3.2C的网络端口,在原理图中找不到。不过万幸我们可以通过文档中可以知道他的作用,并可以通过万用表进行验证。
TM4C129x评测2301.png
 
四:工程的建立和下载
 
对于工程的建立和下载方式,可以继续参考阿道的上一篇评测。TM4C123x和TM4C129x除去特殊的外设外,除去主控芯片的选择外,其他部分的程序是可以通用的。
 
第一次刚连接PC和T4Pad的时候,配置驱动有点慢,需要耐心等待。
TM4C129x评测2428.png
 
等待若干分钟后,安装完毕。
TM4C129x评测2444.png
 
然后同样可以在设备管理器中找到驱动。
TM4C129x评测2465.png
 
按照上一篇评测中的做法,我们找到
 
C:\ti\TivaWare_C_Series-2.1.0.12573\examples\boards\ek-tm4c1294xl,导入里面的工程,就可以用CCS进行下载了。
 
至此,我们就可以使用CCS编辑和编译程序给T4Pad下载程序了。
 
五:配置一个MDK工程,给T4Pad编译和下载程序
 
上一篇评测中阿道讲了用CCS导入工程来修改代码。这么做是因为CCS的机制导致了CCS配置的工程文件很难移动。但是用MDK就不会出现这个问题了,所以阿道在这里带领大家用MDK配置一个工程文件。
 
1.在任意位置新建一个文件夹,取名example
TM4C129x评测2758.png
 
2.在example内再次新建2个文件夹,分别存放自己编写的.c和.h文件,TIVA库中驱动文件。
TM4C129x评测2812.png
 
3.打开MDK5.14,这里推荐用MDK5.1以后的版本,因为需要安装pack包的。首先需要安装TM4C12x系列的pack包,这里一定要是5.1以后的版本。
TM4C129x评测2896.png
 
选择TI产品下的TIVA系列的芯片,全部安装即可。
TM4C129x评测2924.png
 
4.在example文件夹下新建一个example的工程。
TM4C129x评测2958.png
TM4C129x评测2964.png
 
选择刚装好的TIVA开发包中,TM4C129x的芯片,这里选择的是T4Pad的配套芯片TM4C1294NCPDT。
TM4C129x评测3024.png
 
5.进行新建工程的文件管理。
TM4C129x评测3041.png
TM4C129x评测3043.png
 
Groups中的文件名称和example下的文件夹名称一样。
 
6.进行MDK options的配置
 
主频率的配置。
TM4C129x评测3109.png
 
进行User的配置,配置编译后生成.bin和.axf文件。因为LMFLAH下载需要加载.bin文件。方框处输入fromelf.exe --bin -o "$L@L.bin" "#L"和fromelf.exe --axf -o "$L@L.axf" "#L"
TM4C129x评测3248.png
 
在c/c++中添加宏定义,rvmdk PART_TM4C1294NCPDT TARGET_IS_TM4C129_RA0,这是定义主控芯片的版本号,芯片的名称。
TM4C129x评测3331.png
 
添加工程的头文件路径。
TM4C129x评测3345.png
 
这里选择创建的目录下的App和Tivalib文件夹。
TM4C129x评测3374.png
 
Debug选择ICDI驱动。
TM4C129x评测3391.png
 
Utilities中也选择ICDI驱动
TM4C129x评测3413.png
 
7.复制TIVA中的驱动到工程目录下
 
复制c盘TIVA中的rmdk的启动文件到目录下,放在App目录下
TM4C129x评测3465.png
 
复制TIVA下所有库的文件到example的Tivalib目录下。这些文件加起来确实有点大,TIVA的库很多的。复制过来后可以把非库的文件都删掉。(除去.c和.h的都可以删掉)
TM4C129x评测3556.png
 
复制T4Pad例程中的hello.c的文件到App下。
TM4C129x评测3586.png
 
复制T4Pad例程中的driver到App目录下。Driver中定义的都是T4Pad中外设模块的驱动。
TM4C129x评测3640.png
 
复制T4Pad例程中的hello工程的主函数,hello.c到App文件夹下。
TM4C129x评测3682.png
 
8.添加.c和.h文件到工程中
TM4C129x评测3702.png
 
添加启动文件,hello.c,pinout.c,uartstdio.c到APP目录下。
TM4C129x评测3756.png
 
添加外设lib库到Tivalib目录下。
TM4C129x评测3779.png
 
9.编译文件。
 
可以看到,零错误,零警告。
TM4C129x评测3809.png
 
10.使用MDK DEBUG程序。
 
TM4C129x评测3829.png
全速运行,可以看到板子上LED闪烁。
TM4C129x评测3851.png
 
到此为止,T4Pad上一个完整的MDK工程已经建立完毕,我们可以任意的开发了。
 
六:使用ROM库中固化的函数给空白芯片下载程序
 
TIVA系列对比其他厂商的芯片,有一个很独特亮点。把库函数固化在了ROM中,可以直接通过ROM_函数()来调用。在空白芯片中,或者擦除FLASH后,当上电后,默认执行ROM中UART0和USB的初始化,因此我们可以通过LMFLASH软件利用内置的协议使用UART0,USB DFU接口来给芯片下载程序。下面阿道给大家演示下这个过程,我们可以在芯片空白的时候,通过UART0和USB,I2C,SSI来给芯片下载自己写的boot程序,以后我们就可以通过这些接口,给芯片更新程序了。
 
1.使用ICDI擦除FLASH,这里的作用是为了模拟空白的芯片
TM4C129x评测4190.png
 
2.连接TM4C129的串口0,因为ROM中默认初始化的就是串口0。这里使用的是ICDI模拟串口,默认情况下ICDI连接的是TM4C129的串口0。(这里要注意JP4和JP5的跳线位置,横着跳就是ICDI连接的串口0),打开ICDI用串口连接。
TM4C129x评测4317.png
 
3.点击program就可以了
TM4C129x评测4335.png
 
4.下载完毕后发现T4Pad的LED闪烁,说明下载OK。
附件2.gif
 
5.再次擦除Flash,这次用USB DFU进行下载。这些需要选择用ICDI进行擦除。因为芯片中已经有了程序,再次进入的时候,不会执行ROM中的初始化了。这里再次擦除,模拟空白芯片。
TM4C129x评测4470.png
TM4C129x评测4476.png
 
6.调整跳线JP1的位置,调整到板子上丝印为OTG的位置,即使用USB DEVICE给T4Pad供电。调整USB接口的位置,用USB连接PC和网口挨着的USB DEVICE接口。
 
7.选择用USB DFU下载程序。
TM4C129x评测4586.png
 
8.点击program下载程序即可。
TM4C129x评测4609.png
 
9.下载完毕后发现T4Pad的LED闪烁,说明下载OK。
 
附件3.gif
 
TM4C12x系列的下载,是不是很方便呀!
 
结尾
 
工程配置完毕后,我们就可以使用T4Pad任意的开发了。T4Pad上面集成了我们日常开发所有的外设,其强大的外设功能和方便可扩展的接口设计,对于想要评测TM4C129x系列芯片的人来说,是绝佳的入门首选!更不用说TI为这块板子提供了详细的驱动手册和Demo了!还等什么,赶紧行动起来,去感受TM4C的魅力吧!

 

资料下载:

CCS IDE工具下载链接

http://www.ti.com/tool/ccstudio&DCMP=dsp_ccs_v4&HQS=Other+OT+ccs

EK-TM4C1294XL LaunchPad资料下载链接

http://www.ti.com/tool/ek-tm4c1294xl

LMFLASHPROGRAMMER 下载器软件链接

http://www.ti.com.cn/tool/cn/lmflashprogrammer

TivaWare for C Series库下载链接

http://www.ti.com/tool/sw-tm4c?DCMP=tivac-series&HQS=tivaware

Stellaris ICDI Drivers仿真器驱动下载

http://www.ti.com/tool/stellaris_icdi_drivers

Energia IDE工具下载链接

http://www.ti.com.cn/tool/cn/energia

 

——————本文系21ic原创,未经许可严禁转载——————

  • 本文系21ic原创,未经许可禁止转载!

网友评论