7 years, 1 month ago.

巨大バイナリファイルの書込み

GR-PEACHチーム各位

お世話になっています。AMANUMAです。

今、巨大なバイナリファイルをGR-PEACHに書き込もうとしましたら、タイムアウトといわれ、書き込めません。 ファイルは、8,233,435 バイト あり、計算上0x187d a1dbまでですので、書き込めると思っています。 試したファームウエアは、grpeach_8mb_20161212.bin と grpeach_8mb_20150601.bin です。

書き込む方法はありますか?

以上、よろしくお願いいたします。

Question relating to:

Renesas Electronics Corporation (TSE: 6723), the world's number one supplier of microcontrollers, is a premier supplier of advanced semiconductor solutions including microcontrollers, SoC solutions and a broad range of analog …

1 Answer

7 years, 1 month ago.

ご質問ありがとうございます。

こちらで確認したところ、タイムアウトになることなく巨大バイナリファイルを書き込む事ができました。 確認した環境は以下の通りです。

  1. mbed-os-example-blinkyをコンパイルして.binファイルを生成する
  2. .binファイルをバイナリエディタで開き、ファイルの末尾に0xFF,0xFF,...を書き足す形で8,233,435 バイト まで拡張する
  3. Windows PC(windows 10)を使って、GR-PEACHに.binファイルをDrag&Dropする

ファイルサイズが大きいために書き込み時間はかかってしまいますが、進捗ゲージも少しずつ進み、最終的に100%となりました。 また、GR-PEACHのFWも「grpeach_8mb_20161212.bin」 と 「grpeach_8mb_20150601.bin」共に書き込み事ができました。

Accepted Answer

書込みに際しまして、バイナリ内に一定のワードの検出などしていますか?

先の巨大バイナリファイルは、データで、最初の数バイトと最後の2Mバイトに実際のデータが入っていて、間は0x00でした。最初の数バイトは、たぶんvoid main() { }のコードと思われます。最後の2Mバイトが必要なデータでした。

また、8,233,435 バイトのすべて0x00のデータを書き込みましたところ、タイムアウトが発生いたしました。

さらに、mbod-os-example-blinkyに、先の巨大バイナリファイルの最後の2Mバイトのデータを付け加えたプロジェクトを作成、drag&dropで書き込みましたところ、こちらは無事、書き込めました。

私の問題は解決いたしましたので、ログといたしまして、最初の質問の答えを待って、closeしたいと思います。

posted by Kazuhisa AMANUMA 08 Nov 2017

まずは、問題が解決できたとの事で何よりです。

また、ご質問の「バイナリファイルを書き込む際、一定のワード検出などがあるか」についてですが、ご認識の通り、バイナリ書き込り処理にて、一定の検出ロジックがございます。

posted by Tomo Yamanaka 08 Nov 2017

なるほど、ありがとうございました。 次回以降、簡単なプログラムと一緒に作成することにします。

posted by Kazuhisa AMANUMA 08 Nov 2017