2012年11月12日月曜日

project1

プロジェクトを新規作成してみる。

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()関数でデバッグ状態で一時停止します。