01 マイコンファームウェアのビルド手順・注意事項.txt

■ファームウェアのビルド・書き込み方法

・あらかじめ、FRDM-K22FにはOpenSDA J-Link Firmwareを書き込んでおいてください
　（記事参照）
・後述する問題のため、初回の書き込み時はPIRモーションセンサをD4コネクタから
　取り外した状態で書き込みを行ってください。

1. FRDM-K22F+GT202/kds3workspace.zipを展開し、
　 Kinetis Design StudioのFile->Switch Workspaceから展開したフォルダを開きます。

　プロジェクトAllJoynAirconHACtrlは、エアコン制御アダプタのプロジェクトです。
　プロジェクトAllJoynSensorNodeは、センサノードのプロジェクトです。

2. プロジェクトをビルドします。
3. FRDM-K22FのOpenSDAポートをPCのUSBポートに接続します
4. デバッグを開始します。
　　（Run → Debug Configurations..　→ Segger JLink Debugging から
　　　デバッグするプロジェクトを選ぶ）

以上の操作により、マイコンのフラッシュメモリにプログラムが書き込まれて
デバッグを開始します。
デバッグを停止してUSBケーブルを外せば、
マイコンはプログラム書き込み済になっていますので、以後はスタンドアロンで動作します。



■リビルド時などに表示される「Track changes」ダイアログについて

ビルド時に、画像ファイル (Track changes diaglog.PNG) のダイアログが出る場合がありますが、
startup_MK222F51212.Sについては必ず「Do not update」を指定してください。

ダイアログに従ってファイルを更新してしまうと、後述する修正箇所 (FTF_FOPTレジスタの値）
が元に戻ってしまいます。


■NMIピンの処理について

記事で製作したセンサノードは、マイコンのPTA4ポート (Grove base shieldのコネクタD4) に
PIRモーションセンサを接続していますが、
PTA4はデフォルトではNMI信号なので、モーションセンサが反応する度にリセットがかかってしまいます。
このような状況では、

●マイコンへの書き込みに失敗する
●デバッグ開始してもmain()にたどり着かない、isr_vector()で止まる
●リセットしても動作開始しない

等の現象が発生します。
そのため、PTA4のNMI機能を無効に設定する必要があります。

この設定変更を行う手順は、以下の通りです。

　・PTA4に何も接続しない状態にする（PIRモーションセンサを取り外す）
　・FTF_FOPTレジスタ (フラッシュメモリの0x40c番地）の値を変更した
　　ファームウェアをビルドする
　　　（nmi_disable_diff.txtを参考に、ソースファイル startup_MK222F51212.S を書き変えることで
　　　　FTF_FOPTの値を変更できます）
　・ファームウェアをマイコンに書き込む
　・PTA4にデバイス(PIRモーションセンサ）を接続する

サンプルソースコードでは上記の設定変更済ですが、リビルド時等の操作で
変更箇所が元に戻ってしまった場合は上記の措置を行ってください。


■デバッグシリアルコンソールについて

OpenSDA J-Link Firmwareを書き込んだFRDM-K22FをWindows PCに接続すると、
COMポート  ( JLink CDC UART Port ) が認識されます。
このCOMポートはK22FマイコンのUART1に接続されています。
　(COMポートの設定 115200 8N1, 改行コードは「自動」にしてください)

本ファームウェアでは、printf()等の出力をUART1に出力していますので、
Teraterm等で上記COMポートに接続するとデバッグログを取得できます。


■強制初期化の手順

FRDM-K22Fのボタン1 (SW3)を10秒程度長押しすると、マイコン上のフラッシュメモリに格納
されているSSID等の設定情報を全て消去してからリセットします。

誤ったSSIDを設定した等の原因により、強制初期化が必要になった場合はこの操作をお試しください。

(以上)
