H8/3069FボードのFlashにFlash Development Toolkitで書き込もうとしてエラー発生
組込みのOSについて勉強したくなり「12ステップで作る組込みOS自作入門」を買って勉強をしている。
私はH8/3069Fマイコン・ボードのFlashへの書き込みはルネサスのFDT(Flash Development Toolkit)を使っているのだが、いざFlashを書き込もうとして「デバイスとの接続」を実行したら以下のようなエラーが発生。
Clock Frequency (External) = 20.0000MHz, Clock Mode = 0, CKM = 1, and CKP = N/A Connecting to device 'H8/3069F' on 'COM4' Configuration: 'BOOT Mode' connection - using emulated interface Opening port 'COM4' ... Loading Comms DLL Loaded Comms DLL Error No 15060: ポートのオープンエラー Error No 15026: 通信ポートがオープンできません Error No 15061: ポートのクローズエラー
結論から言うとUSBシリアル変換ケーブルの相性問題だったのだが、一応内容をメモしておく。
開発環境
Windows 10
FDT(Flash Development Toolkit) 4.0.9
USBシリアル・アダプタ(or USBシリアル変換ケーブル)との相性に注意
本の中で「USBシリアル・アダプタを使うとうまくFlash ROMに書き込みができないことがあるので注意」と書かれているのだが、私のノートPCにはシリアルケーブルを直接つなぐことはできない。ということで、最初は家にあったUSBシリアル変換ケーブルを使って書き込みを試みたところ冒頭のエラーが発生。
調べたらこのケーブルはCH340という変換ICが入っているのだが、どうもこのICとは相性が悪いらしい。このICをつかっているUSBシリアル変換機器は結構あるようなので、他のケーブルでも同じ問題を踏むかも。
実績があるケーブルを調べて買うしかなさそうなので調べたところ、秋月で売っている以下のケーブルでは動いたという報告があったので、こちらを購入。
こちらを使ってFDTで再度「デバイスとの接続」を実行してみたところ、以下のように表示されて無事に接続が完了。
Clock Frequency (External) = 20.0000MHz, Clock Mode = 0, CKM = 1, and CKP = N/A Connecting to device 'H8/3069F' on 'COM4' Configuration: 'BOOT Mode' connection - using emulated interface Opening port 'COM4' ... Loading Comms DLL Loaded Comms DLL Initiating BOOT SCI sequence Attempting 9600 Received immediate response from device: 0xE6 Detected generic boot device Sending inquiry for getting line size Buffer size has been set to default (128 bytes) Sending selection of device command Selection of Device - Device selected, code 0101 Sending selection of clock mode Sending selection of clock mode Selection of Clock Mode - Clock selected, code 0 Changing baud rate to 38400 bps Set baud rate value = 38400 Determining block usage 接続が成功しました
Flashの書き込みにも問題なく、本の内容を最後まで進めることができた。この本の感想や環境構築のメモは内容は以下でまとめてます。