プロジェクトを新規作成してみる。
CCSから"File"-"New"-"CSS Project"("Project"-"New CSS Project"でもOK)を選択して、"New CSS Project"ダイアログを開く。下記の設定を行ない、"Finish"。
- "Project name" - プロジェクト名
ここでは "project1" とする。 - "Output type" - 出力形式、
"Executable"(実行ファイル) - "Use default location" - 標準のフォルダを使用する。
Checked - "Device" - ディバイスに関する設定
- "Family"
"ARM" - "Variant"
"Cortex M","Stellaris LM4F120H5QR" - "Connection"
"Stellaris In-Circuit Debug Interface" - "Advanced settings" - 高度な設定
- Device endianess"
"little" - "Compiler version"
"TI v4.9.5" - "Output format"
"eabi" - "Linker command file"
""
"lm4f120e5qr.cmd" 自体の選択も可能だが、自動のまま。
サンプルプロジェクトでは、個別の名前が振られていた。 - "Runtime surpport libraly"
"" - "Project templates and examples" - プロジェクトテンプレートと例
"Empty Projects"-"Empty Project (with main.c)"
プロジェクトオプションの変更
StellarisWareを使用するために、project1をのプロパティを開き、下記のようにプロジェクトオプションを変更する。
- インクルードファイルの指定
- 左側のツリーの "Build" - "ARM Compiler" - "Include Options" を選択
- "Add dir to #include search path (--include_path, -I)"に "C:\StellarisWare" を追加する
- ライブラリの指定
- 左側のツリーの "Build" - "ARM Linker" - "File Search Path" を選択
- "Include library file of command file as input (--library, -l)" に "driverlib-cm4f.lib"を追加する
- "Add to library search path --search_path, -i)" に "C:\StellarisWare\driverlib\ccs-cm4f\Debug"を追加する
本来であれば、"Resource" - "Linked Resources" - "Path Variables" に "SW_ROOT","C:\StellarisWare"としておいて、 "Add dir to #include search path (--include_path, -I)"に "${SW_ROOT}" を追加したいところだが、正しく反映されないため
main.cの変更
プロジェクト新規作成のテストなので"project0.c"を参考にして、main.cを修正(新規入力)
#include "inc/hw_types.h"
#include "inc/hw_memmap.h"
#include "driverlib/sysctl.h"
#include "driverlib/gpio.h"
#define RED_LED GPIO_PIN_1
#define BLUE_LED GPIO_PIN_2
#define GREEN_LED GPIO_PIN_3
#define ALL_LED (RED_LED|BLUE_LED|GREEN_LED)
void main(void) {
SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_XTAL_16MHZ | SYSCTL_OSC_MAIN);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, ALL_LED);
while(1)
{
GPIOPinWrite(GPIO_PORTF_BASE, ALL_LED, RED_LED);
SysCtlDelay(1000000);
GPIOPinWrite(GPIO_PORTF_BASE, ALL_LED, BLUE_LED);
SysCtlDelay(1000000);
GPIOPinWrite(GPIO_PORTF_BASE, ALL_LED, GREEN_LED);
SysCtlDelay(1000000);
}
}
Build, Run
Stellaris LaunchPad を接続した状態で、"Run" - "Debug" とすると
自動的に Buildされ、LaunchPadにダウンロードして、実行、main()関数でデバッグ状態で一時停止します。