コマンドライン-出力:
> st-flash write dioda.bin 0x08000000
st-flash 1.6.0-311-ga98b094
2020-05-17T17:59:37 INFO common.c: F0xx: 8 KiB SRAM, 64 KiB flash in at least 1 KiB pages.
file dioda.bin md5 checksum: d3ad84699b33f431b86a77e53b16b11a, stlink checksum: 0x0000080b
2020-05-17T17:59:37 INFO common.c: Attempting to write 56 (0x38) bytes to stm32 address: 134217728 (0x8000000)
2020-05-17T17:59:37 INFO common.c: Flash page at addr: 0x08000000 erased
2020-05-17T17:59:37 INFO common.c: Finished erasing 1 pages of 1024 (0x400) bytes
2020-05-17T17:59:37 INFO common.c: Starting Flash write for VL/F0/F3/F1_XL core id
2020-05-17T17:59:37 INFO flash_loader.c: Successfully loaded flash loader in sram
2020-05-17T17:59:37 ERROR flash_loader.c: flash loader run error
2020-05-17T17:59:37 ERROR common.c: stlink_flash_loader_run(0x8000000) failed! == -1
stlink_fwrite_flash() == -1
期待/説明:
もちろんフラッシュされることを期待してください。 より詳しい情報:
多分私はここで何が問題なのか知っています。 私のブランチを試してみませんか(私の考えの証拠として、すばやく汚い修正を加えて)?
https://github.com/chenguokai/stlink/tree/stlink-v3_pre
私が正しければ、この問題は、flashloader.cのダーティフィックスと組み合わされた新しいフラッシュローダーの非PICコードに関連しています。
私のブランチを試してみませんか(私の考えの証拠として、すばやく汚い修正を加えて)?
私はあなたのブランチから構築しました、そして確認することができます、それは問題を修正します。
@chenguokai :ここには何がありますか?
私が述べたように、GPLライセンスのフラッシュローダーはPIC(位置に依存しないコード)ですが、新しいものはそうではありません。 そのため、ベースアドレスを指定してリンカースクリプトを作成する必要がありました。
コンパイルされたフラッシュローダーを分解することにより、アドレッシングモードがPC(プログラムカウンター)相対であることを認識しました。 それらは一種のPICだと思ったので、flashloader.cのmarcoとしてダーティハックを保持しました。 この問題から、フラッシュローダーコードは間違いなくPICではないことが確認できます。したがって、2つのnopをバイナリの前に追加するのではなく、フラッシュローダーコードに追加する必要があります。
それでは、6月のリリースのPRを提出することもできますが、最後のPRの後に削除したstlink-v3_pre
ではなく、 develop
ブランチを作成してください。 これが副作用を引き起こす可能性があるかどうかはわかりません。
@ grzegorz-kraszewski私のPRがこの問題を修正するかどうかを確認してください:-)
@ grzegorz-kraszewski私のPRがこの問題を修正するかどうかを確認してください:-)
別のものをトリガーするので、わかりません:
> st-flash write ~/dioda_f030.bin 0x08000000
st-flash 1.6.0-314-g273e798
2020-05-18T10:59:30 WARN common.c: unknown chip id! 0x374b
Failed to connect to target
@ grzegorz-kraszewski:これは別のトピックのように見えます。 そのための新しいチケットを開いてください。
別のものをトリガーするので、わかりません:
再起動またはプラグを抜いてプラグを差し込むと役に立ちますか?
最も参考になるコメント
私はあなたのブランチから構築しました、そして確認することができます、それは問題を修正します。