1225654_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

1225654_ja-JP

1225654_ja-JP

「Flash_VerifyErase」はPRINCE領域では動作しません

消去されたフラッシュ ページを読み取ってハード フォールトが発生しないようにするために、Flash_VerifyErase() を使用しています。これは、PRINCE フラッシュ暗号化を有効にするまでは確実に動作していました。

何らかの理由で、Flash_VerifyErase() は PRINCE フラッシュの消去された領域を検出せず、読み取りを実行するとハード エラーが発生します。関数 Flash_read() は動作していないようです。SO、現状では Flash の読み取り中にハード フォールトが発生しないようにする方法がありません。

PRINCE 消去を検出するための別の機能はありますか?PRINCE が有効な場合にハード フォールトを防ぐにはどうすればよいですか?

Re: "Flash_VerifyErase" does not work on PRINCE regions

私も同じ問題を抱えています。暗号化されたフラッシュページを安全に読むにはCANどうすればいいですか?

Re: "Flash_VerifyErase" does not work on PRINCE regions

はい、これは LPC55S69、バージョン 1B シリコン用です。申し訳ありませんが、以前その情報を忘れてしまいました。

下記に添付したコードをご覧ください。コメント部分はフラッシュ読み取りを行うための推奨方法ですが、PRINCE が有効になっている場合、このコードセクションは機能しなくなります。PRINCE を有効にする前は、memcpy が存在する「else if」内にこのコメント ブロックがありました。

	status_t status = FLASH_VerifyErase(&flash_instance, addr, PflashPageSize);

	if(status == kStatus_Success)
	{
		memset(data, 0xFF, len);
		return len;
	}
	else if(status == kStatus_FLASH_CommandFailure)
	{
		memcpy(data, (void*)addr, len);
	}
	else
	{
		return -1;
	}

//	status = FLASH_Read(&flash_instance, addr, data, len);
//
//	if(status == kStatus_FLASH_EccError)
//	{
//		memset(data, 0xFF, len);
//		return len;
//	}
//	else if(status != kStatus_Success)
//	{
//		return -1;
//	}
Re: "Flash_VerifyErase" does not work on PRINCE regions

こんにちは、アレクサンダー

使用している部品番号を教えていただけますか?LPC55xxファミリを使用していますか?

とにかく、次のリンクからダウンロードできる AN12527.pdf と AN12527SW.zip を参照することをお勧めします。

https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mc...


まだ問題がある場合は、レビューできるようにすべてのコードを投稿してください。

BR

シャンジュン・ロン

Tags (1)
No ratings
Version history
Last update:
‎11-21-2025 11:59 PM
Updated by: