1、软件平台
编译器软件:Code Composer Studio
编译器版本:5.5.0.00077
驱动库版本:SW-TM4C-2.0.1.11577.exe
2、步骤
2.1 新建CCS工程
打开CCS软件,选择Project->New CCS Project,弹出新建工程界面,如图2-1所示。
输入工程名称为:Box8202
芯片选择为:TM4C1236E6PM
工程选项:配置为空工程,仅含有“main.c”文件。
配置完毕之后,点击Finish完成新建工程。
图2-1 新建CCS工程
2.2 增加编译选项
右击工程,选择properties,打开工程设置属性配置,如图2-2所示。
配置编译步骤,使得编译器编译生成bin、hex、txt三种文件。
图2-2 编译步骤配置
如果打开CCS Build,没有看到Steps选项,请点击图2-2中右边红色方框的选项,选择 “<” 或者 “>” 即可看到Steps选项。
其中Command 之中输入的命令为(命令没有换行):
"${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/armofd" "${CG_TOOL_ROOT}/bin/armhex" "${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin" & "${CG_TOOL_HEX}" -i "${BuildArtifactFileName}" -o "${BuildArtifactFileBaseName}.hex" -order MS -romwidth 32 & "${CG_TOOL_HEX}" --ti_txt "${BuildArtifactFileName}" -o "${BuildArtifactFileBaseName}.txt" -order MS -romwidth 32
图2-2中Description选项填写对Command的说明:
Create flash image: Intel-BIN and Intel-HEX and TI-TXT
2.3 增加驱动库目录的环境变量
如图2-3所示,根据自己的需要添加驱动库目录的环境变量。一般情况下,增加TW_DIR环境变量即可,该环境变量为TI驱动库“SW-TM4C-2.0.1.11577.exe”的安装目录。
图2-3 驱动库目录
2.4 设置路径
如图2-4所示,在CCS Build-->ARMCompiler-->IncludeOption选项中,添加工程的包含路径。
图2-4 设置包含路径
1、由于TI驱动库的大部分文件都使用了uint32_t、bool等变量,但是在代码本
身却没有添加“stdint.h”、“stdbool.h”这两个头文件。所以工程设置中需要预包含这两个头文件。
2、"${CG_TOOL_ROOT}/include", CCS自身编译库路径。
3、"${PROJECT_ROOT}/include",工程路径。
4、“${TW_DIR}”,驱动函数库路径,该路径采用环境变量的路径,详细参数见图2-3。
2.5 语法选项设置
在CCS Builder--->ARM Complier-->Lanuage Options选项中,选择GCC语法规则,如图2-5所示。
图2-5 编译器语法选项设置
图2-6 预编译设置
对于每个CCS工程,都应该添加图2-6中的3个基本的宏。“ccs”用于控制CCS编译器的编译规则。“PART_TM4C1236D5PM”、“TARGET_IS_BLIZZARD_RB1”用于TI驱动库选择目标芯片TM4C1236D5PM及批次。请注意需要添加这两个宏,否则调用ROM函数,将会提示错误。
2.7 堆栈设置
栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
堆区(heap) — 由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。申请采用malloc函数,释放采用free函数。
在CCS Builder --> Arm Linker --> Basic Options设置堆栈大小。堆设置为8Kbyte,栈设置为4Kbyte。用户可根据自己的需要修改堆的大小,一般为4的整数倍。
图2-7 堆栈设置
2.8 文件搜索路径
在CCS Bulider-->ArmLinker-->FileSearch Path,用于设置工程的文件搜索路径。设置路径如图2-8所示。
图2-8 文件搜索路径设置
图2-8中的包含库文件目录设置(Include Library file…)中,本实例中共采用了3个库。
1、"libc.a"编译器需要执行的基本库,每个工程都应该添加。
2、"${TW_DIR}/driverlib/ccs/Debug/driverlib.lib",TI驱动库安装目录下的基本驱动库“driverlib.lib”,每个工程都应该添加。
3、"${USBLIB_DIR}/Debug/usblib.lib"本工程自己添加的USB驱动库,该库属于用户自己编译生成的库。用户也可以采用TI驱动库安装目录下的USB驱动库。如果没有使用USB功能,则不用添加该库的路径。
注意:在库的搜索路径中,请使用相对路径,以便在不同的计算机上执行。
图2-8中的相对路径变量:${TW_DIR}、${USBLIB_DIR}在图2-3中可以查看。