ICSP 接続で PIC32MX のフラッシュに書き込む (9)

2 線式 ICSP 接続によるフラッシュ書き込みでは、JTAG のクロック 1 周期分のデータ転送を ICSP クロック 4 周期に対応させて転送しています。
LPC1114FN28/102 による ICSP 書き込みプログラムでは、ARM の IP と思われる SSP モジュールを 4 ビット SPI モードに設定して使用していました。
もともと SPI は 8 ビット転送が基本なので、他の多くのマイコンの SPI では 4 ビット転送モードがありません。
そこで、8 ビット・モードの SPI でもデータ転送ができるようにプログラムを改修し、他のマイコン・チップ上でも動く ICSP 書き込みプログラムを作り始めました。
その第一弾として、Nuvoton の NUC120LE3AN 用のプログラムを作成し、動作を確認しました。
具体的には、対象のボードは秋月電子通商で扱っている NuTiny-SDK-120 です。
近日中に LPC1114 / NUC120 両用のソース・パッケージを公開します。
第一弾として NUC120 を選んだ理由は、

  • LPC1114 用のプログラム作成に利用した Keil/ARM uVision v4.53 (トランジスタ技術 2012 年 10 月号に付属の DVD に収録) が、NUC120 用の開発環境として使える
  • CPU コアが LPC1114FN28/102 と同じ Cortex-M0
  • UART も LPC1114FN28/102 と同様の 14550 タイプ (細部に相違あり)

などがあります。
一方、NuTiny-SDK-120 は USB の 5 V 電源を NUC120 マイコンの電源として使っているので、3.3 V 電源の PIC32MX とは直結できないという不利な点があります。
また、NUC120LE3AN は USB デバイス機能内蔵ですが、今回は簡単のためシリアル接続で使います。