SW4STM32 Mac版でterget firmwareがERROR__UNZIP_ISSUEでダウンロードできない.

なんで?

 

STM32の開発環境を構築する(わりと楽に) - yuqlidの日記

 

に従って環境構築をしていた.

f:id:masa_flyu:20170625153615p:plain

Project Firmware Configurationで,Download target firmwareを押すと,(おそらく)正常にダウンロードがなされた後で,以下のエラーダイアログが出る.

 

f:id:masa_flyu:20170625153624p:plain

 

原因不明

軽く検証してみたところ...

STM32F4ではなくF0ならOK,Cube HALではなくStdPeriphではOK,mac版ではなくWindows版ならOK

F4かつCube HALかつmacのときだけ出現する謎エラー...

 

原因不明のまんまだが,ちょっと強引な方法だけど解決できた.(たぶんもっとマシな方法がいくらでもある)

 

解決方法

1.Project Firmware Configuration のDownload...ボタンのすぐ下にある'Firmware installation'を選択

f:id:masa_flyu:20170625160532p:plain

 

2.画像の中腹にあるFirmware installation repositoryのディレクトリを覚える(初期設定なら/Users/ユーザー名/.ac6/SW4STM32/firmwares)

f:id:masa_flyu:20170625160314p:plain

 

3.Finderで開く

※画像ではfirmwaresの中に,ダウンロードに成功したfirmwareが入っているが,これは全て完了後の画像のため.何も入ってなくてもOK.

f:id:masa_flyu:20170625161046p:plain

4.Project Firmware Configurationに戻り,Download terget firmwareボタンを押す

 

ダウンロードが進行すると,先ほどFinderで開いたフォルダの中に「.tmp_STM32Firmwareinstall_xxxxxxxxxx」といった名前のフォルダが生成される.

 

そしてその中にstm32cube_fw_f4_v1150.zipが生成されていく.これが今ダウンロードしている必要なzipファイル.

 

このフォルダはダウンロードが終了し,zipの展開が終わると直ちに削除される.今回のエラーはダウンロードは成功したが,zipファイルの展開でつまづいてるだけなので,zipファイルを手動で展開すればうまくいく.

 

そのためにzipファイルのダウンロードが完了した瞬間(Project Firmware configurationの下部の進捗バーが100%になったら),zipファイルをcmd+cでコピー,

一つ上のディレクトリにペーストする.

 

(別にコピーしないでも移動させるだけでもいいかも?)

 

f:id:masa_flyu:20170625162414p:plain

 

5.zipを展開する(展開場所はFirmware installation repositoryのディレクトリ)

 

これで/ Firmware installation repositoryのディレクトリ /STM32F4-Discovery_FW_V1.1.0

フォルダが作られた

 

6.Project Firmware configurationに戻り,一度上部の選択肢を変更し戻す(Hardware Abstruction LayerからNo firmwareに.再びNo firmwareからHardware Abstruction Layerに.)

 

Download target firmwareボタンが消え,「Firmware 'STM32Cube_FW_F4_V1.15.0' has been found.」という記述が増えている.これで解決...