51564
こんちには。  
コンパイル済みのデータを残しておきたく、  
Arduino1.8.8にて「スケッチ」の「コンパイルしたバイナリを出力」を  
行っていますが、以下のエラーが出てしまいます。

「警告：このコアはスケッチの出力をサポートしていません。  
アップグレードまたは作者へのコンタクトを考えてください。」

ターゲットは、サンプルのgnss_trackerです。  
出力する方法は、ありますでしょうか。  
もしくは、出力できない理由など、教えて戴けますでしょうか。

宜しくお願い致します。
CC BY-SA 4.0
2018-12-17T06:14:32.513
51286
2019-01-28T02:27:24.220
31492
question
arduino spresense
コンパイルしたバイナリを出力について
SPRESENSEの"platform.txt"を確認したら、まだ対応されていないようですね。試しに以下の記述を"platform.txt"を追加したらスケッチのディレクトリにバイナリが出力されました。

```

    ## Output binary file
    recipe.output.tmp_file={build.project_name}.spk
    recipe.output.save_file={build.project_name}.{build.variant}.spk
    
```

"platform.txt"は、

_C:\Users\xxxx\App
Data\Local\Arduino15\packages\SPRESENSE\hardware\spresense\1.1.x_

にあります（App Data は隠しディレクトリになっています）。ただ、Windows Store 版の Arduino IDE
は、C:\Users\xxxx\Documents\ArduinoData 以下にパッケージが展開されているようですね。

"platform.txt"は環境設定ファイルなので、変更すると思わぬ影響が出ることがあります。試される場合は、自己責任ということでお願いします。
CC BY-SA 4.0
2018-12-27T11:22:30.797
51564
2018-12-27T11:22:30.797
27334
51286
answer
ソニーのSPRESENSEサポート担当です。  
ご回答が遅くなり、誠に申し訳ありません。

最新のライブラリ version 1.1.3 にて、Arduino IDEの「コンパイルしたバイナリを出力」機能に対応いたしました。  
ライブラリのアップデートは、Arduino IDE の「ボードマネージャ」で行ってください。

また、本機能を実行するとスケッチが置いてあるフォルダに spk という拡張子のファイルが生成されます。  
\- Debug:Disabled の場合、スケッチ名.spresense.release.spk  
\- Debug:Enabled の場合、スケッチ名.spresense.debug.spk  
※ Examplesスケッチを直接開いている場合保存できませんので、一旦スケッチファイルを保存してから実行してください。

次に出力されたバイナリをSpresenseボードに書き込む方法も記載いたします。  
ここでは、Arduino IDEで実行されるプログラムをそのまま利用する方法をご紹介いたします。

**1\. Arduino IDEの設定**  
書き込みコマンドを表示するために次の手順で設定を行います。  
1．"ファイル"→"環境設定"の順にたどっていただき、環境設定を開きます  
2．"設定"タブの中の"より詳細な情報を表示する"において"書き込み"にチェックを入れます

**2．書き込みコマンドの取得**  
書き込みコマンドを取得するために、一度Arduinoでスケッチをロードします。  
次の手順で書き込みコマンドを取得します。  
1．適当なスケッチを開きます  
2．"マイコンボードに書き込む"をクリックし、スケッチをロードします  
3．ロード中のログから書き込みコマンドをコピーします  
書き込み中次のようなログがありますので、これをコピーします。

```

    C:\Users\'username'\AppData\Local\Arduino15\packages\SPRESENSE\tools\spresense-tools\1.1.3/flash_writer/windows/flash_writer.exe -s -c  -d -n 
    
```

* コピーする際、キーボードショートカットをお使いください。(Windows/Ubuntuの場合はCTRL+C、Macの場合はCommand+C)  
**3．保存したSPKファイルのSpresenseボードへのロード**  
Arduino IDEで保存したバイナリ(SPKファイル)と2．でコピーしたコマンドを使用し、Spresenseボードへロードします。  
1．シリアルモニタを閉じます  
Arduino IDEのシリアルモニタを開いている状態の場合、正しく書き込めない場合がありますので閉じてください。  
2．コマンドを実行します  
_ポートがCOM9でSPKファイルパスがC:\sketch\sketch.spkの場合_

```

    C:\Users\'username'\AppData\Local\Arduino15\packages\SPRESENSE\tools\spresense-tools\1.1.3/flash_writer/windows/flash_writer.exe -s -c COM9 -d -n C:\sketch\sketch.spk
    
```

3．"Saving package to nuttx"が表示されればロード完了です

どうぞ、よろしくお願いいたします。
CC BY-SA 4.0
2019-01-28T02:27:24.220
52364
2019-01-28T02:27:24.220
29520
51286
answer