は、私は私はSTM32F103を持って失敗した再点滅リモートで(ブートローダーを使用して)そのUARTポートによって異なるMCUを使用しました。それは完璧に動作します、私は正常に正しいコードでフラッシュされている複数のデバイスがあります。しかし時には、STM32コードがフラッシュされているために動作しなくなったデバイスが、正しいものではありません。ビンファイル全体が他のMCUを使用してフラッシュされますが、STMはレンダリングされます(正確にレンガではなく、間違ったコードを持っています)。私のPCを使ってデバイスを再びフラッシュすると、すべてが再び作動しています。なぜヘックスはSTMに書いて失敗するのだろうか?STM32は(UART1)
ブリーフ:STM32F103
をフラッシュするUARTブートローダを使用して
* *時々、このメソッドは失敗し、そのSTMの機能が停止しました。
*コードスペースに書き込まれたデータが有効かどうかを確認する方法はありますか? STMはさて、ロックされていない
は*、それはフラッシュの内側だけで間違ったコードです。私がコードスペースからフラッシュを読み返すと、これはフラッシュされたはずのファイルよりも小さくなります。
*システム起動モードでSTMを使用しています。 [AN2606]
これはあなたのブートローダですか、それとも内蔵ですか?どのようにしてレンガ造りにすることができますか?これはSOの質問ではないソフトウェア/ツールの質問のように聞こえる。 STブートローダと対話する独自のブートローダやツールを作成しましたか?または、単にシェルフツールを使用していますか? –
こんにちはold_timer、私はinbuiltブートローダを使用して、システムブートモードでSTMを使用しています。上記の私の編集で述べたように、私は(今すぐ)フラッシュを読んで、STMのフラッシュコードが私の持つコード(ビンファイル)と同じサイズではないことがわかりました。それは約200(ish)バイト短いと思われる。 –
どこが壊れているのですか?それは明らかな境界にあるのだろうか? (フラッシュブロック、最後に1つの完全なメッセージ/パケットのパケット、または途中のデータなど) –