是的,你没看错,TM4C129x MCU 是业界首款集成以太网 MAC+PHY 且基于 ARM Cortex-M4 的 MCU,为了满足互联网产品的需求。TM4C129x MCU 提供了多种连接选项以及片上数据保护和 LCD 控制器,以节约电路板空间并实现连接应用(例如,家庭/楼宇自动化网关、已连接的人机界面 (HMI)、联网传感器网关及许多其他应用)。
是TI为TM4C129x系列的开发而推出的入门级开发板,作为一款入门级的开发板,很明显的看出,TI对他的设计是非常上心的。好了,不卖关子了,就让阿道带领大家去一窥的真面目吧!
一:TM4C129x系列的介绍
为什么这里要先介绍TM4C129x系列的芯片呢,因为和上一篇的TM4C123G LaunchPad一样,EK-TM4C1294XL也是LaunchPad系列的板子,这里就不对LaunchPad的来源做过多介绍了,具体可以看上一篇TM4C123G LaunchPad的评测。
TM4C129x其实TM4123x系列的升级版,在保留原有资源的基础上并进行了扩展,以满足越来越飞速发展的控制+自动化的需要。这里有一张阿道自己PS的图,可以让大家对两者的外设资源有个清晰的对比。
看完后我只想对大家说,阿门,请原谅阿道恶心的PS技术吧!以后再慢慢改进!
从上图可以看出,TM4C129x系列和123x系列相比,在保留原有资源的基础上,增大了内存和主频率,增加了外设的数量,另外新加了以太网模块和LCD模块,增加了数据保护功能。对于需要用到互联网方面的产品来说,这些资源足够了!
二:EK-TM4C1294XL LaunchPad介绍
先来看看(在这里再次简化,以后都称之为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上的对应位置如下图所示。
有了上面的这张图,相信大家对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给了个很有意思的方案,看看下图就知道啦。
是不是很有创意的设计呢?忍不住给TI的工程师点个赞。
三:前期的准备工作
前期软件的安装什么的,这里就不再诉说啦。可以参考阿道的另一篇评测,TM4C123G LaunchPad的准备工作。这里仅列出上一篇没有提到的部分。
ek-tm4c1294xl LaunchPad电路板资料下载如下
值得一提的是,在上面这个链接中下载到的pdf原理图,是不可进行元器件搜索的,这里给个可搜索原理图的下载版本。
经过阿道的研究,官方给的这个原理图,应该是不完全版本的。具体有些跳线的连接方式,在原理图中是看不到的,比如下图这个JP4和JP5的跳线,6.1D和3.2C的网络端口,在原理图中找不到。不过万幸我们可以通过文档中可以知道他的作用,并可以通过万用表进行验证。
四:工程的建立和下载
对于工程的建立和下载方式,可以继续参考阿道的上一篇评测。TM4C123x和TM4C129x除去特殊的外设外,除去主控芯片的选择外,其他部分的程序是可以通用的。
第一次刚连接PC和T4Pad的时候,配置驱动有点慢,需要耐心等待。
等待若干分钟后,安装完毕。
然后同样可以在设备管理器中找到驱动。
按照上一篇评测中的做法,我们找到
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
2.在example内再次新建2个文件夹,分别存放自己编写的.c和.h文件,TIVA库中驱动文件。
3.打开MDK5.14,这里推荐用MDK5.1以后的版本,因为需要安装pack包的。首先需要安装TM4C12x系列的pack包,这里一定要是5.1以后的版本。
选择TI产品下的TIVA系列的芯片,全部安装即可。
4.在example文件夹下新建一个example的工程。
选择刚装好的TIVA开发包中,TM4C129x的芯片,这里选择的是T4Pad的配套芯片TM4C1294NCPDT。
5.进行新建工程的文件管理。
Groups中的文件名称和example下的文件夹名称一样。
6.进行MDK options的配置
主频率的配置。
进行User的配置,配置编译后生成.bin和.axf文件。因为LMFLAH下载需要加载.bin文件。方框处输入fromelf.exe --bin -o "$L@L.bin" "#L"和fromelf.exe --axf -o "$L@L.axf" "#L"
在c/c++中添加宏定义,rvmdk PART_TM4C1294NCPDT TARGET_IS_TM4C129_RA0,这是定义主控芯片的版本号,芯片的名称。
添加工程的头文件路径。
这里选择创建的目录下的App和Tivalib文件夹。
Debug选择ICDI驱动。
Utilities中也选择ICDI驱动
7.复制TIVA中的驱动到工程目录下
复制c盘TIVA中的rmdk的启动文件到目录下,放在App目录下
复制TIVA下所有库的文件到example的Tivalib目录下。这些文件加起来确实有点大,TIVA的库很多的。复制过来后可以把非库的文件都删掉。(除去.c和.h的都可以删掉)
复制T4Pad例程中的hello.c的文件到App下。
复制T4Pad例程中的driver到App目录下。Driver中定义的都是T4Pad中外设模块的驱动。
复制T4Pad例程中的hello工程的主函数,hello.c到App文件夹下。
8.添加.c和.h文件到工程中
添加启动文件,hello.c,pinout.c,uartstdio.c到APP目录下。
添加外设lib库到Tivalib目录下。
9.编译文件。
可以看到,零错误,零警告。
10.使用MDK DEBUG程序。
全速运行,可以看到板子上LED闪烁。
到此为止,上一个完整的MDK工程已经建立完毕,我们可以任意的开发了。
六:使用ROM库中固化的函数给空白芯片下载程序
TIVA系列对比其他厂商的芯片,有一个很独特亮点。把库函数固化在了ROM中,可以直接通过ROM_函数()来调用。在空白芯片中,或者擦除FLASH后,当上电后,默认执行ROM中UART0和USB的初始化,因此我们可以通过LMFLASH软件利用内置的协议使用UART0,USB DFU接口来给芯片下载程序。下面阿道给大家演示下这个过程,我们可以在芯片空白的时候,通过UART0和USB,I2C,SSI来给芯片下载自己写的boot程序,以后我们就可以通过这些接口,给芯片更新程序了。
1.使用ICDI擦除FLASH,这里的作用是为了模拟空白的芯片
2.连接TM4C129的串口0,因为ROM中默认初始化的就是串口0。这里使用的是ICDI模拟串口,默认情况下ICDI连接的是TM4C129的串口0。(这里要注意JP4和JP5的跳线位置,横着跳就是ICDI连接的串口0),打开ICDI用串口连接。
3.点击program就可以了
4.下载完毕后发现T4Pad的LED闪烁,说明下载OK。
5.再次擦除Flash,这次用USB DFU进行下载。这些需要选择用ICDI进行擦除。因为芯片中已经有了程序,再次进入的时候,不会执行ROM中的初始化了。这里再次擦除,模拟空白芯片。
6.调整跳线JP1的位置,调整到板子上丝印为OTG的位置,即使用USB DEVICE给供电。调整USB接口的位置,用USB连接PC和网口挨着的USB DEVICE接口。
7.选择用USB DFU下载程序。
8.点击program下载程序即可。
9.下载完毕后发现T4Pad的LED闪烁,说明下载OK。
TM4C12x系列的下载,是不是很方便呀!
结尾
工程配置完毕后,我们就可以使用T4Pad任意的开发了。上面集成了我们日常开发所有的外设,其强大的外设功能和方便可扩展的接口设计,对于想要评测TM4C129x系列芯片的人来说,是绝佳的入门首选!更不用说TI为这块板子提供了详细的驱动手册和Demo了!还等什么,赶紧行动起来,去感受TM4C的魅力吧!
资料下载:
CCS IDE工具下载链接
http://www.ti.com/tool/ccstudio&DCMP=dsp_ccs_v4&HQS=Other+OT+ccs
资料下载链接
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原创,未经许可严禁转载——————