[原创] 青风Hanker TI M4 开发板开发应用教程-----第二集:Hanker TM4C123快速入门

vvv9876   2013-6-13 13:44 楼主
3.1 keil MDK 集成开发环境
      这节主要讨论一下如何使用keil MDK 进行TM4C 的开发与使用。使用版本建议大家选择MDK 4.5 到最新的MDK4.7 这个范围内的版本。
      后面的开发都是基于TM4C 库函数的开发,那么我们首先需要预备下载一下TM4C的库,给一个TI 的官方地址下载:http://www.ti.com/lsds/ti/microc ... tware.page#tivaware

      这个网页下一个TIVAware,下载后名字为:SW-TM4C-1.0.exe 的库安装文件就ok了,这个是准备工作。然后我们点击安装,安装好后出现如下文件夹:
1.jpg

      TI 的一下库函数比较复杂,因为TI 考虑的比较多,所以大家看见如此多的文件夹会感到比较头疼,那么我们就稍微介绍下,剥丝抽茧,找到我们需要用的:Boot_loader 文件夹:这个很清楚,通过它的命名就知道里面应该是关于Boot 的相关代码,关于BOOT 我们后面再讲。

      Docs 文件夹:命名为文件夹,肯定是里面放的都是相关文档了,关于TI 大部分TM4C 的文档都在这里面了,包括一些开发板的使用说明呀,当然没有中文文档哦,要看中文文档还得看我写的了。
      Driverlib 文件夹:外设驱动文件夹,这里面放的就是我们要使用的外设的基本驱动库函数了,这个也是我们学习的主要内容了,这个后面我们会常常使用的。打开这个文件夹如下出现4 个子文件:
2.jpg
      我们点开其中的一个rvmdk:
3.jpg
      这个命名为dmk 的子文件夹里放的就是一个封装好的.lib 文件,这个文件我们就可以在MDK keil 中直接调用的了,它封装了所有外设的驱动,当然你也可以把外设的子驱动一一调用。其他的几个子文件夹正好对应了不同的编译器,这里提供4 中可以使用的编译器库函数封装。

       Grlib 文件夹:这个和上面的driverlib 一样,也是库函数,但是给的是TI 自己的图形库函数,图形库函数的介绍在我们的产品光盘里有几篇详细的介绍与使用文章,这个如果用的好的话,可以在TFT 上开发出华丽的人机用户界面,这个是后话了。

       Sensorlib 文件夹:这个是TI 新增加的关于传感器的库函数。

      IQmath 文件夹:很早TI 就加入的数学库,在CORTEX M4 加入了dsp 浮点运算单元后应该用途更加的大了。关于他的使用我们提供一个官方演示实例,这个需要有合适的应用场合。

       Inc 文件夹:一些公共功能的头文件命名,这个会在之后的应用中加以介绍。

       Example 文件夹:ti 给的几个简单的实例。

       third_party 文件夹:第三方的文件系统,比如我们sd 卡使用的FATFS 文件系统,或者一些操作系统。
      
      那么整个TI 给出的TM4C 文件系统库函数文件包就介绍完毕了,下面我们就开始来建立一个工程项目。

3.2 TM4C工程项目的创立:
      首先,我们在刚才的文件安装包内建立自己的工程文件夹,这个随便怎么命名了,我先建一个名字为:qf-hanker 如下图所示
4.jpg

      然后打开文件夹qf-hanker 建立一个演示文件夹,并且在里面建立一个main.c 的文档:
5.jpg

      下面准备开发环境,打开安装好的MDK 软件:
6.jpg

      点击project 上,选择new uvision project 如下图所示,新建一个工程项目,项目放置到刚才我们兴建的样例文件夹:
7.jpg

      把工程命名为example,确定后选择芯片类型,由于MDK 最新的4.7 版本命名还没有改过来,大家还是用原来的lm4f232h5qc:
8.jpg

      芯片选择后提示是否安装启动文件,点确定安装,如下图所示:
9.jpg

      项目建立后,我们在项目里添加一些相关的树分支:
10.jpg

      建立一个user 组,一个工程组:
11.jpg

      然后向组里面添加我们的文件了,在user 里添加刚才的主函数文件,在lib 里添加驱动库,如下图所示:
12.jpg

      Ok,工程建立好了,下面我们来写一个模板,打开main 函数文件,添加如下代码:
//-----------------------------------------------------------------------------
// 文件名: 演示实例
// 作者: 青风
// ARM 内核: Cortex-M4
// 使用芯片: LM4F232H5QD/tm4c123gh6pz
// 开发环境: KEIL
// 版本记录: 2013-6-10 14:30
//函数功能说明:
//-----------------------------------------------------------------------------
#include "inc/tm4c123gh6pz.h"
#include
#include
#include "inc/hw_types.h" //一些位带操作的宏定义
#include "inc/hw_memmap.h" //外设基地址的定义
#include "driverlib/sysctl.h" //系统时钟
#include "driverlib/gpio.h" //gpio 定义
int main(void)
{
/*写入任何你想写入的代码*/
}

      这个例子什么都没写,当然头文件大家根据外设来选择,后面在讲历程的时候要详细说明。模板里添加了几个基本头文件,如上面的例子所示,大家可以按照上面的写法来写。当然这些头文件需要给路径,我们点击工程项目点击右键,如下图所示:
13.jpg

      在C/C++内选择我们链接的文件的路径:
14.jpg

      上面的路径选择好后,我们就可以直接编译了,点击整体编译:
15.jpg
      编译成功后:
16.jpg

3.3 工程项目的下载与仿真:
       这里面只谈使用仿真器进行仿真与下载,关于使用串口下载会在以后专门写一篇文章讲解下:

       硬件关于仿真器:仿真器可以选择JLINK,ULINK.这里我选择廉价的开源仿真器STLINK V2 ,价格非常低,支持的器件非常的多,不仅仅支持arm,而且支持stm8 器
件,所以这里比较推荐使用,购买地址:http://qfv5.taobao.com/ 如下图所示:
17.jpg

       和hanker M4 开发板只需要连接3 根线,分别为GND,SCK,SWD.对比上下两附图进行连接:
18.jpg

       打开项目设置,设置仿真和下载项目,首先是仿真设置,Bebug 选择ST-LINK,并且点击settings,如下图所示:
19.jpg

      Debug 设置,选择SW 模式,然后提示识别芯片,如下图所示:
20.jpg

      在FALSH DOWNLOAD,选择FLASH 大小:
21.jpg

      选择LM4Fxxx,256k 的FLASH 大小:
22.jpg

      最后设置Utilites 选项,设置stlink 选项:
23.jpg

      上面所有的设置设置好了,大家就可以进行仿真与下载了。
      这里面注意一点,不管使用JLINK 还是stlink v2,部分寄存器内部都无法观看,如果需要观察寄存器内部值的朋友,需要购买TI 专门为M4 设计的专业ICDI 仿真
器,购买地址: http://item.taobao.com/item.htm? ... gaY&id=24237988393&

      如下图所示:
24.jpg


文档下载:
第2:Hanker 快速入门.pdf (1.39 MB)
(下载次数: 1409, 2013-6-13 13:44 上传)

回复评论 (23)

很详细,给力呀!
点赞  2013-6-13 13:47
谢谢 ,后面TI的m4教程要重新写一遍的

[ 本帖最后由 vvv9876 于 2013-6-14 18:03 编辑 ]
点赞  2013-6-14 14:18
清风老大能出个CCS的教程吗,我用CCS老是出错,坑爹的TI啊,原来的库建工程没问题,现在怎么弄都不成功
点赞  2013-7-24 12:49
对了,分享一下TivaWare_C_Series_1.0这个库吧,我没法下载TI的官网文件
点赞  2013-7-24 19:42
坐等TM4C129
点赞  2013-7-25 10:38
TM4C129 要等明年了,没打算写ccs的哦
点赞  2013-7-25 14:44

回复 4楼sadlll 的帖子

参照 TIVA 里的 CCS 模板试试.
点赞  2013-7-28 17:25

回复 7楼vvv9876 的帖子

期待更新....
点赞  2013-7-28 17:26
有没有ADC的例程呢?
点赞  2013-7-29 11:27

回复 5楼sadlll 的帖子

为什么不能呢?一般填写一些信息就可以了
点赞  2013-7-29 14:55

回复 11楼Ling_Zhu 的帖子

浏览器出问题了,现在已经弄好了
点赞  2013-7-29 15:40
支持一个!!
点赞  2013-7-29 16:21
写的很详细,谢谢分享!
点赞  2013-10-9 12:28
请问对于MDK中没有的TM4C123型号,工程属性里器件选择时该如何处理呢?
点赞  2013-12-28 00:12
请问对于MDK中没有的TM4C123型号,在工程属性里器件选择时,该如何处理呢?O(∩_∩)O谢谢
点赞  2013-12-28 00:13
清风人品不怎么样,瞧不起学生,别买他的开发板,出这些教程根本就是赚学生的钱,不是真的想帮助学生。
点赞  2014-1-9 16:15
楼主能不能说下在IAR环境下如何建立工程?不胜感激
点赞  2014-8-26 17:38
大爱楼主~~~~~~~~~~~~~
点赞  2014-8-27 00:02
SWD设置tm4c123g的不太一样
点赞  2014-8-28 21:53
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复