2403284_ja-JP

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

2403284_ja-JP

2403284_ja-JP

RAM領域割り当てに関する問題


NXPの公式技術スタッフの皆様、こんにちは。S32K144の使用中にいくつか問題が発生しました。

Ni__0-1786357891196.png
このアドレス割り当てテーブルでは

システムRAMのサイズは、SRAM_L(下方向に拡張)とSRAM_U(上方向に拡張)という領域に分けられます。

S32K144チップはユーザーによるカスタマイズに対応していますか?

グローバル変数のアドレス割り当ての問題

初期値がゼロでないグローバル変数はSRAM_Lに格納されます。

ゼロで初期化された変数はSRAM_Uに格納されます。

これが理由であり、またSRAM_LとSRAM_Uがカスタムサイズをサポートしている場合にも当てはまります。

2つのアドレス範囲の開始アドレスと終了アドレスに関して、何か規則はありますか?

初期値を持つグローバル変数と持たないグローバル変数では、チップによって割り当てられるアドレス範囲が異なるのはなぜですか?

このチップのフラッシュメモリ割り当てについてもっと詳しく知りたいのですが、チュートリアルや参考資料などがあれば、ダウンロードできる場所を教えていただけますか?


ご返信を心よりお待ちしております。

どうもありがとうございます!


Re: 关于RAM空间分配的问题
親愛なるVaneB
あなたにこのように話しかけるのは適切かどうかわかりません
あなたの返信から多くのことを学びました
丁寧なご説明をありがとうございました。
でも、まだ一つ質問があります。
リンカースクリプトファイルの書き方仕様をまとめたドキュメントはありますか?
スクリプトファイルの文体や文法構造について学びたいです
英語力はあまり良くありません
私の言いたいことがわかれば幸いです

ご返信を心よりお待ちしております。

ご返信よろしくお願いします。

Re: 关于RAM空间分配的问题

こんにちは、 @Ni_

SRAM_LとSRAM_Uは、デバイスアーキテクチャによって定義された固定アドレス範囲を持つ物理メモリ領域です。アクセスは2つのSRAMアレイを隔てる0x20000000境界を越えて行うことはできません。したがって、バーストアクセスを行う際は配列を独立したメモリ領域として扱う必要があります。

リンカは、SRAM_LとSRAM_Uにオブジェクトを自動的に分散させる役割を担っていません。その代わりに、変数とセクションの配置は、開発者が定義したリンカースクリプトによって決定されます。したがって、割り当てられたアドレスがデバイスの有効なメモリ範囲内に収まる限り、SRAM_LとSRAM_Uの間でメモリ領域をどのように割り当てるかは、ユーザー自身が決定する必要があります。


BR、VaneB

Re: 关于RAM空间分配的问题

こんにちは、 @Ni_

アプリケーションノートが用意されています。S32K3デバイス向けに設計されているものの、RTDで使用されているリンカーの概念は、S32K1デバイスにも基本的に同じである。したがって、これはリンカーの理解と設定に役立つ参考資料となるはずです。

AN14893 : S32K3xx リンカーファイルとスタートアップコード

Tags (1)
No ratings
Version history
Last update:
Friday
Updated by: