MSP432 (Cortex-M4F)
(注意点はウイルスチェックが動いていると警告が出ます。私はウイルスチェックを
一時、外してインストールしました。)
CCS マニュアル | CCSv6 インストレーションガイド | TI
3色LEDがあるのでこれを点滅させてみる。
まず、サンプルを動かしてみる。
Devices → MSP432P4xx → MSP432P401R(CMSIS) と選択する。
プロジェクト名で「msp432p401_1」を選択する。
サンプルの main 関数が見えます。
LED1 ( Red のみ) の点滅です。以下のように3色LED の点滅を追加し、ビルドします。
#include "msp.h"
#include <stdint.h>
#define RGB_LED_WAIT 100000
#define RGB_OFF_WAIT 100000
int main(void) {
volatile uint32_t i;
WDT_A->CTL = WDT_A_CTL_PW | WDT_A_CTL_HOLD; // Stop WDT
P1->DIR |= BIT0; // P1.0 set as output
P2->DIR |= BIT0; // P2.0 set as output (Red)
P2->DIR |= BIT1; // P2.1 set as output (Green)
P2->DIR |= BIT2; // P2.2 set as output (Blue)
while (1) // continuous loop
{
P1->OUT ^= BIT0; // Blink P1.0 LED
for (i = 20000; i > 0; i--); // Delay
P2->OUT = 0x0000 ;
P2->OUT = 0x0001 ; // Blink P2.0 LED (Red)
for (i = RGB_LED_WAIT; i > 0; i--); // Delay
P2->OUT = 0x0000 ;
for (i = RGB_OFF_WAIT; i > 0; i--); // LED All Off Delay
P2->OUT = 0x0002 ; // Blink P2.1 LED (Green)
for (i = RGB_LED_WAIT; i > 0; i--); // Delay
P2->OUT = 0x0000 ;
for (i = RGB_OFF_WAIT; i > 0; i--); // LED All Off Delay
P2->OUT = 0x0004 ; // Blink P2.2 LED (Blue)
for (i = RGB_LED_WAIT; i > 0; i--); // Delay
P2->OUT = 0x0000 ;
for (i = RGB_OFF_WAIT; i > 0; i--); // LED All Off Delay
}
}
ビルドが成功すれば RUN → Debug でプログラムはターゲットボードに転送され、
int main ( void ) で停止しています。Run → Resume でプログラムが走りだします。
Go クロスコンパイル
Go 言語にはクロスコンパイルの機能が備わっているので同じソースから ARM 用の実行プログラムを作ってみます。
おなじみの New3 フォルダーにある main.go です。
設定を変えるのは ↓ の system となっているのをターゲットに合わせて変更するだけです。今回は Raspberry Pi B+ をターゲットとしました。
cross-arm6 の内容は以下の通りです。
New3 を cross-arm6 でビルドすると New3 (ELF形式)のファイルが出来上がりますので、そのファイルを Raspberry Pi B+ に転送します。今回は TeraTerm の SSH で接続していますので ファイルメニューの SSH SCP... を使って転送します。
転送しただけでは実行権限がないので付加して、実行します。
Raspberry Pi 上で実行できました。
Go デバッグ
Go のデバッグを始めます。
まず、ソースを読み込んでコンパイルし、文法上のエラーが無いことを確認します。
ブレーク(一時停止)するところを決めます。止めたい行にカーソルを移動し F9 を押します。(最近のデバッガーではダブルクリックでブレークポイントを設定できるのですが今回はまだできません。F9 を押してください。)
デバッグを開始します。F5 を押します。
プログラムの先頭で停止します。続いて[ 続行 ] F5 を押すとブレークポイントで停止します。
ブレークポイントで停止したとき 変数 タブをクリックすれば、現在の変数の値が見えます。[ Name | Value | Type ] は それぞれ
i 3 int ................... となっています。(途中で止めた時)
どんどん、次へ進むとプログラムは終了し、結果は下段のデバッグ出力に表示されます。
その後、F5 を押しても すでにプログラムは終了しているので ( New3 がメモリ上から消えている)
Error! プロセスに書き込めませんでした
となります。
Go IDE
Go 言語用 IDE (Integrated Development Environment) は既に何種類か出回っている
Lite IDE, Eclipse, Visual Studio Code 等、一番インストールが簡単でデバッグ機能がついている Lite IDE をインストールします。
liteidex29.windows-qt5-1.zip
Binary downloads より X29 バージョンをダウンロードし、任意のフォルダーに展開し、bin 配下にある liteide.exe をダブルクリックすれば起動します。
設定もほとんど無く。
確認するだけで動作します。
Go 言語
GoLang が2009年に発表されバージョンは 1.6 になった
LL(Lightweight Language)言語以外が発表されるとは思っても見なかった
直ぐ取り掛かろうと思ったが諸般(個人的)の事情があり今日までとなって
しまった。
ダウンロードは以下から行います。(すでにバージョンは 1.62 )
https://golang.org/dl/
Go のダウンロード( Windows 用をダウンロード)
( go1.6.2.windows-amd64.msi )
Go のインストール(Windows)
Go を快適にコーデングする方法
(IDE のインストール、LiteIDE or Visual Studio Code ....)
Go のデバッグ方法
Go のクロスコンパイル環境
Go のリモートデバッグ方法 (....これは難しそう)
以上、気がついて時点で追加していきます。
Go のインストール
ダウンロードした go1.6.windows-amd64.msi をダブルクリックすればインストールが開始されます。あとは画面の指示に従って [Next] を選択すればインストールされます。
今日は春の嵐
昨日に近くを散歩して花見をしたが、あの桜はもう散り始めている様子。もう来年までお預けか!
やや新しい携帯
数か月前に買った携帯でぼつぼつプログラムにとりかかるか
上の写真では何か分からないか??
Q501 ( すでに新型がアナウンスされている。)
Windows 10 mobile はまだ落ちてこない。
しばらく Windows Phone 8.1 で遊ぶ予定!?
はてな さん上場したのか!!(おめでとう)