2017-04-12 4 views
0

RAMメモリのセルでECCエラーをチェックしたい。メモリの読み出し中にコンパイラの最適化を避ける

ECCエラーをチェックするには、このメモリを読み書きする必要があります。だから私は、メモリの値を読み取ることにしましたが、コードの残りの部分で使用しないので、コンパイラはこの行を消去します。

コンパイラオプションを変更せずに最適化を回避する方法はありますか。シーケンス以下

検索:

1. Clear flags 
2. Read memory <==> Rt_value = (unsigned short *) Address 
3. Check flags 

注:私はGHSコンパイラを使用しています。

+3

揮発性のマークを付けます。 – Joe

+0

@Joe 'volatile'はそれを保証しません。値が使用されていなければ、コンパイラはそれを削除することができます。 – user694733

+1

インラインアセンブリーを使用しても、書き戻しキャッシュにバッファリングされる可能性があるため、データが即座にメモリーに書き込まれる保証はありません – Ctx

答えて

関連する問題