FAQ~よくある質問~ | FAQマスタ詳細表示
FAQ詳細情報
ID | 10810608 |
---|---|
FAQカテゴリ(大) | デバイス対応 |
最終更新日 | 2014-01-16 |
質問内容
TN77989: フリースケール Kinetis K60Xxxx の永久デバイスロック/保護
回答内容
EWのターゲット : ARM
EWのコンポーネント : 一般
キーワード : .icf ファイル、リンク
更新日 : July 3, 2013
問題
Embedded Workbench for ARM version 6.30.3 またはそれ以前のバージョンで、フリースケール K60Xxxxxデバイス用のプロジェクトをスクラッチから作成しする時、
プロジェクトメニュー> オプション > 一般オプション > ターゲットで
コア > Cortex-M4 を選択するか、デバイス > Freescale K60Xxxx を選択すると、デフォルトのリンカ設定ファイルはgeneric_cortex.icf になります。このリンカ設定ファイルでリンクすると、プログラムをボードにダウンロードした時に、永久デバイス保護 (すなわち、そのデバイスに対する再書き込みができなくなる) に状態になる原因となりことがあります。
Embedded Workbench for ARM version 6.30.4 とそれ以降のバージョンでは、他のリンカ設定ファイル (Freescale\MK60xxxx.icf) が自動的に選択されるので、この問題を防ぐことができます。
解決策
EWARM 6.30.3 とそれ以前のバージョン
以下のリンカ設定ファイルを K60Xxxx デバイス用に使用します。
$TOOLKIT_DIR$\examples\Freescale\K60\
TWR-K60\GettingStarted\config\K60X_Flash.icf
EWARM 6.30.4 とそれ以降のバージョン
自動的に選択される、
$TOOLKIT_DIR$\config\linker\Freescale にある、
デフォルトのリンカ設定ファイルを使用します。
背景
IAR Embedded Workbench IDE でコア指定=Cortexの場合、デフォルトのリンカ設定ファイルは、コードを 0番地から配置します。プログラムのサイズが増えると、0x40C番地の周りを取り囲むようになり、NVFSECに書きこまれてしまいます。
NVFSECレジスタの中の2ビットで、チップのマス・イレース機能を永久に禁止することができます。これらのビットはMass Erase Enable (MEEN) と呼ばれます。.同じレジスタに同じく、フラッシュのセキュリティを制御する2つのビットがあります。これらのビットを合わせて使用すると、デバイスを永久にロックすることができます。
EWARM バージョン 6.30.3 とそれ以前のバージョンでは、
プロジェクトメニュー > オプション > ターゲット > デバイス: Freescale K60Xxxx を選択した時はデフォルトで、
プロジェクトメニュー > オプション > リンカ > 設定 > リンカ設定ファイル > generic_cortex.icf が設定されていることに注意してください。
設定を変更するには、このページの下のリンク絵を参照してください。
注 1
IAR K60N512 キットのサンプルプロジェクトは、デフォルトのリンカ設定ファイルではなく、K60X_ram.icf またはK60X_Flash.icf を使用していますから、この問題は発生しません。
注 2
Freescale MQX のサンプルプロジェクトは、ベクターテーブルが vector.c にあり flash config 領域まで拡張されていて、正しい値が設定されています。
注 3
デバイスが Flash security ビット のみでロックされている場合、J-Link Commander (jlink.exe) コマンドでロックを解除することができます。
J-Link> unlock Kinetis
注 4
Embedded Workbench for ARM version 6.60.1は I-jet を使用し、以下のコマンドでロックを解除することができます。
<EWARM>\arm\bin\jet\bin\Kinetis_unlock_swd.bat
全ての製品の名前は、それぞれの所有者の商標または登録商標です。
参考資料URL
-
http://supp.iar.com/Support/?Note=77989
Techl note 77989: 英文サイト -
http://netstorage.iar.com/SuppDB/Public/SUPPORT/005621/K60targetoptions.gif
K60Xxxx Target Options (GIF, 25 KB) -
http://netstorage.iar.com/SuppDB/Public/SUPPORT/005623/K60linkeroptions.gif
K60Xxxx Linker Options (GIF, 28 KB)