質問: 80 ``` 今度は空白のチェックは大丈夫ですか? この時点で私はあきらめて、これらのプロトタイプの損失を食べて、私が前にこれらの種類の問題を抱えたことがなかったSTのプロセッサと一緒に行く準備ができています。 Kinetisのドキュメンテーションは十分に徹底的ですが、非常に緻密であり、私は始めるのが非常に難しいと思っています。メモリの読み取りや他の周辺機器へのアクセスを介してI/Oを細かくすることはできますが、フラッシュコントローラの何が問題になっているのかを知ることはできません。私は20年以上にわたりマイクロの仕事をしてきましたが、このような困難は私が今まで経験したことのないものです。 **20150102編集:** だからまだここに行きません。私は実際にFRDM-KL25Z評価ボード(DigiKeyから15ドル)を買って、そして一般的なCMSIS-DAPソフトウェアをOpenSDAデバッガに置いて、[キースウェイクハムのブログ](https://keithhack.blogspot.ch/のようにJ11を切ることによってそれを修正しました。 2013/10/cheap-arm-programmer.html )。私は、オンボードターゲット(KL25Z)がリセットラインを妨害しないように簡単なプログラムを実行しています、そして、私は私のSKEAZN64をOpenOCDで見てそれで遊ぶことができます、しかし残念ながらそれもプログラムできません。 Kinetis Design Studio(KDS)ソフトウェアは私のKinetisをフラッシュしません。なぜならそれは保護されていて大量の消去をする必要があるからです。しかしOpenOCD(KDSの一部として)はこれを行う方法を知らないようです。私が私のMac上に構築したOpenOCDのgitマスターバージョンはKinetisを理解しますが、特定のKEAシリーズではないので、私は正直なところに戻ります。 J-Linkに戻る @AdamHaunは本当に良い手がかりを持っていました、そして私がJ-Linkリセットタイプ(rsettypeコマンド)をタイプ '6'(Kinetis)に設定した場合、J-Linkはコアをリセットした後にウォッチドッグを無効にすることになっています。 WDOG_CS1レジスタ(0x40052000)を見ると、そうであるように見えますが、それでもダイスはありません。消去操作は0xfffffffeとエラーコード-5でPCとの関係から外れているようで、SIM_SOPTを使用してリセットピンを無効にした場合(32ビット値0x00000008から0x40048004を書き込むことによって)、 "unlock kinetis"コマンドは有効です。残念ながら、CPUを二度と停止させることはできません。SWDインターフェイスでリセットラインを使用してSWD DAPを既知の状態にすることはできないためです。 **20150103編集:** 点滅LEDがあります 繰り返す 点滅LEDがあります TL; DRバージョン:FRDM-KL25ZボードにUSBDMイメージを置き(ストーリーはすべて独自に)、テスト用.elfをボードに送信するにはARM Programmerスタンドアロンアプリケーションを使用します。パワーサイクルと出来上がり 長いバージョンは後で来るでしょう。私はこのKEAZN64ボード用のソフトウェアを書いてデバッグするのに48時間もかからず、それに付随する他のソフトウェアの修正/テストを終え、そして他のクライアントのためにいくつかのドキュメンテーションを処理します。この質問を詳細な回答で更新することを約束します。私はちょうど私の成功を共有したいと思いました。ご協力ありがとうございました。私は本当にあなたのカップルに恩恵を与えたいと思うので私は改造者と話さなければならないかもしれません。
回答: Did you try this: Unlocking and Erasing FLASH with Segger J-Link 伝えられるところでは、あなたはしなければならない: > 保護されたFLASHセクタをSegger J-Linkで再プログラムするには、まずデバイスのロックを解除して一括消去する必要があります。このために、デバイスの保護を解除して消去するためのコマンドラインインターフェースを持つJ-Link Commanderユーティリティがあります。消去のみを目的として、J-Flash(およびLite)は、特に「クリーンな」デバイスメモリを取得するのに非常に便利なツールです。 > > 私がおもしろいと思ったのは、ロック解除を恒久的にしたい場合は、次のステップでロック解除して消去する必要があることです。 > しかし、ロックを解除してから消去する必要があるようです。デバイスを消去するには、同じコマンドラインユーティリティを使用できます。しかし、最初にデバイス名を指定する必要があり、それからそれを消去することができます(KL25Zの例)。 > > EDIT1:間違ったデータを追加しました。 EDIT2:あなたはおそらくフラッシュセキュリティ(FSEC)レジスタを読むことができますか?試しましたか? EDIT3: from Using the Kinetis Security and Flash Protection Features, Rev. 1, 6/2012 > デバッガ/ JTAGによる一括消去 > デバッガとJTAGツールは、プロセッサが保護されているとデバイスへのアクセスが非常に制限されます。できる唯一のレジスタ > JTAGを通じてアクセスされるのは、MDM-APステータスおよび制御レジスタです。デバッグツールに安全でない部分を許可するために、 > MDM-AP制御レジスタの0を設定して、プロセッサの一括消去を要求できます。無効にするにはこの方法を使用するために > セキュリティ、FSEC [MEEN]は大量消去機能を可能にするために10以外の値に設定する必要があります。一括消去が無効の場合、 > FSEC [MEEN] = 10の場合、一括消去要求はフラッシュによって無視され、デバイスはこれを使用してセキュリティで保護されません。 > 方法。 > 多くのデバッガは自動的にMDM-APステータスレジスタのビット2を使用して、デバイスが保護されているかどうかを判断します。 > 接続を確立しようとしています。デバッガのポップアップウィンドウを使用して、デバイスが保護されていることを警告して、 > デバイスのセキュリティを解除するには、一括消去が必要です。一括消去が完了して検証されると、セキュリティが無効になります。一部 > デバッガは自動的にフラッシュ設定フィールドをプログラムして、マスの後フラッシュを安全でない状態にすることがあります。 > 消去完了、FSEC = 0xFE。 > > また、私はMDM-APレジスタを読み書きしようとするときに異なるRESET信号操作を必要とする異なるKinetisファミリーについて言及している投稿に出会いました。 編集4:あなたはSWD_DIOに強いプルアップを追加してみましたか?それは暗闇の中でのショットですが、Freescaleはそれをお勧めします。