ラベル FRDM-KL25Z の投稿を表示しています。 すべての投稿を表示
ラベル FRDM-KL25Z の投稿を表示しています。 すべての投稿を表示

2014年10月6日月曜日

FRDM-KL25Z : 標準入出力 printf, scanf, gets を使う (CodeWarrior + Processor Expert)


このエントリーをはてなブックマークに追加
接続に OpenSDA を使用しています。PC側からの入出力は TeraTerm。

プログラム側(CodeWarrior)

  1. Components Library で ConsoleIO を追加する
  2. ConsoleIO の Component Inspector で Rx new line sequence と Tx new line sequence を両方 Rx にする
  3. ConsoleIO の子の Serial_LDD の Component Inspector で設定を以下のようにする
DeviceUART0
Baud rate38400
RxDTSI0_CH2/PTA1/UART0_RX/TPM2_CH0
TxDTSI0_CH3/PTA2/UART0_TX/TPM2_CH1

後は、コード側で stdio.h をインクルードして printf などを使います。

TeraTerm 側

  1. 設定 → 端末で改行コードを受信:CR+LF、送信:CRに 変更。ローカルエコーにチェックをつける
  2. 設定 → シリアルポートで ボー・レートを 38400 にする


注意事項

printf は reentrant(再入可能)ではないようなので、printf 中に割り込みが入って割り込み先で printf を行う、などするとクラッシュするみたいです。メインループと Events.c 内の関数で printf を使用していると意味不明な出力が続いた後クラッシュしました。

2014年9月6日土曜日

Windows 8.1 で FRDM-KL25Z を使う


このエントリーをはてなブックマークに追加
使えるようになるまでのインストラクションが下の参考先にあったのですが、Windows 8.1 で使用するにはファームウェアアップデートをする必要があり、そのためのファームウェアアップデートを行うには Windows XP/Vista/7 のどれかが必要ということでした。

その通り、 Windows 7 を使ってファームウェアをアップデートした後、Windows 8 に繋いだら普通に認識され、BOOTLOADER としても FRDM-KL25Z としても使えるようになりました。

更新してから初めて Windows 8 マシンに繋いだ時は不明な USB デバイスとなりましたが、一度抜いて別の USB ポートに差し込んだら正しく認識されました。その後元の USB ポートに繋いでも正しく認識されるようになったので、たまたまか、一度抜き差しが必要だったのかもしれません。

参考 : OpenSDA Update Instructions for Freescale Freedom Development Boards for Windows 8.1 and Linux
If you are not running the latest firmware and need to use the board with Linux or Windows 8.1, you need to then update the firmware. You must do this on an OS supported by the current firmware version on your board (typically Windows XP/Vista/7).