文章 ID: 000081636 內容類型: 疑難排解 最近查看日期: 2012 年 09 月 11 日

為什麼當我在代碼中宣告 (無效) __attribute__ (節 (「.rwdata」) 時,連結器腳本未將我的副程式包含在目標記憶體區段中?

環境

  • Intel® Nios® II 處理器
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    描述

    Nios® II IDE 中的連結器不會自動將子紅素放入未指定為 .text 的記憶體中。

    若要在 .text (在此範例中,.rwdata) 以外的特定記憶體區段中加入子routron,請執行下列操作:

    1. 定義此特定例行程式的自訂區段,例如:空my_subroutine(空)__attribute__(節(「.usersection」));
    2. 開啟位於您_syslib/除錯/system_description資料夾中的生成.x 檔案,尋找__ram_rwdata_end
    3. 將下列行列內容新增到生成的.x 檔:


    .usersection:AT (LOADADDR (.rwdata) SIZEOF (.rwdata)

    {
    提供 (_alt_partition_usersection_start = 絕對 (.));
    *(.usersection.usersection.*)
    .= 對齊 (4);
    提供 (_alt_partition_usersection_end = 絕對 (.));

    • >onchip_ram

    提供 (__flash_alt_partition_usersection_start = LOADADDR (.usersection));

    1. 修改alt_load.c 以執行自訂區段複本操作。請參閱下方內容以供參考:

    外部無效__flash_alt_partition_usersection_start;
    外部空_alt_partition_usersection_end;
    外部空_alt_partition_usersection_start;

    /*

    * 複製 .usersection 區段。

    */
          
    alt_load_section(及__flash_alt_partition_usersection_start,
    _alt_partition_usersection_start,
    _alt_partition_usersection_end);

    相關產品

    本文章適用於 1 產品

    Intel® 可程式裝置

    這個頁面的內容綜合了英文原始內容的人工翻譯譯文與機器翻譯譯文。本內容是基於一般資訊目的,方便您參考而提供,不應視同完整或準確的內容。如果這個頁面的英文版與譯文之間發生任何牴觸,將受英文版規範及管轄。 查看這個頁面的英文版。