Keil下新建TM4工程
基于Keil5.26进行演示
CCS太难用,所以还是用回Keil,这里记录一下环境搭建的过程。
各种资源的准备
- 首先,开发TM4肯定是需要TivaC的软件包的,没有安装的童鞋请去官网下载“tivaware_c_series_2_1_4_178”这个包然后找个地方安装好。
- 然后嘛,Keil下开发需要安装对应的Pack,可以自己去官网下载好以后离线安装,也可以直接在Keil的“Pack Installer”里面搜索TM4以后安装对应的Pack。
- 然后,部分版本的Keil默认不带板载的ICDI调试器的支持,需要自己去官网找相应的包安装,不过笔者实测5.26是带的。
建立工程模板
之前笔者在Keil下开发STM32时(使用标准库)习惯使用工程模板,所以这一次给TM4也来建立一个,步骤如下:
规划好工程结构并添加文件
首先,工程模板的话,笔者希望它包含工程中使用到的全部库文件,虽然空间占用高一点,但这样会比较方便,所以肯定要放一个“Lib”。然后,一个工程应该包含一些文档便于以后查阅,所以放个“Doc”,工程文件等等可以放进“Project”,而用户添加的内容则放进“User”
- OK,基于以上的想法,新建名为“TM4_Template”的文件夹,并在下面建立“Doc”“Lib”"Project""User"。
- 然后,把“tivaware_c_series_2_1_4_178”下inc、driverlib、utils三个文件夹复制到Lib下,这些内容平常开发足够用了,如果偶尔需要使用到其他的库的话可以后续再添加。
建立工程并进行各项配置
- 接下来我们打开Keil,新建一个名为“TM4_Template”的工程并放在先前建立的“Project”文件夹下。
- 选择芯片型号为“TM4C123GH6PM”。
- 运行时环境管理界面下如下配置并确认。
接下来的一些配置就是STM32开发者比较熟悉的部分了,网上相关说明很多,就不做特别详细的介绍了。
- 左边工程结构树里“Manage Project Items”,“Source Group 1”改成“User”,然后添加“Lib”,把Lib/driverlib下的所有c文件添加到此条目,同时,将“Lib/driverlib/ccs/Debug/driverlib.lib”添加到Lib分组。
-
新建一个main.c并添加到User分组,main.c可填充如下内容用于测试:
#include <stdint.h> #include <stdbool.h> #include "inc/hw_memmap.h" #include "driverlib/debug.h" #include "driverlib/gpio.h" #include "driverlib/sysctl.h" #ifdef DEBUG void __error__(char *pcFilename, uint32_t ui32Line) { while(1); } #endif //***************************************************************************** // // Blink the on-board LED. // //***************************************************************************** int main(void) { volatile uint32_t ui32Loop; // // Enable the GPIO port that is used for the on-board LED. // SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF); // // Check if the peripheral access is enabled. // while(!SysCtlPeripheralReady(SYSCTL_PERIPH_GPIOF)) { } // // Enable the GPIO pin for the LED (PF3). Set the direction as output, and // enable the GPIO pin for digital function. // GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_1); // // Loop forever. // while(1) { // // Turn on the LED. // GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1, GPIO_PIN_1); // // Delay for a bit. // for(ui32Loop = 0; ui32Loop < 2000000; ui32Loop++) { } // // Turn off the LED. // GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1, 0x0); // // Delay for a bit. // for(ui32Loop = 0; ui32Loop < 2000000; ui32Loop++) { } } }
- 然后是添加路径和宏。
- 首先,打开“Options for Target XXX”,然后进“C/C++”选项卡,“Include Paths”添加路径(工程的Lib文件夹的路径)
- 然后,还是“C/C++”选项卡下,“Define”里添加字段
rvmdk PART_TM4C123GH6PM
- 最后,“Debug”选项卡下选择调试器为“Stellaries ICDI”,然后点一旁的“Setting”设置“Reset and Run”
最后,一切准备妥当,F7编译,F8下载,板上的红色LED会开始闪烁,点灯成功!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。