0

私は持っているfoo[NUMBYTES] __attribute__((section(".bar")));

この属性 .bar セクションを使用する理由 foo[] はすでにいくらかのメモリ空間を提供しているためです。これは簡単なメモリ管理のためですか?

4

1 に答える 1

1

オペレーティング システムなしで実行されるベア メタルコードの場合、セクション属性 は次の__attribute__((section(".bar")))目的でよく使用されます。

  • シンボル (データまたは関数) を、マイクロコントローラに組み込まれた RAM、FLASH、または EEPROM などの特別なメモリ空間に配置します。
  • ARM Cortex-M プロセッサの FLASH の先頭に割り込みベクタ テーブルを配置するなど、特別なアドレスにシンボルを配置します。
  • 関連するシンボルを継続的にグループ化します。たとえば、Linux カーネルは起動時にのみ必要な初期化コードをまとめてグループ化し ( linux/init.h を参照init section) 後でそれらを解放して RAM を節約できるようにします。

リンカー スクリプトで名前付きセクション ( ) への参照を検索する.barと、おそらくその使用法を推測できます。

于 2015-02-13T11:33:28.877 に答える