linker-scripts

    1熱度

    1回答

    我有ST-LINK V2的「ARM微控制器最低系統開發板 - STM32F103C8T6」。 這是主要的代碼,接着再接頭 - 腳本啓動:主 1): @@@ Directives .thumb @ (same as saying '.code 16') .syntax unified .cpu cortex-m3 .fpu softvfp

    0熱度

    1回答

    我已經使用EXCLUDE_FILE明確省略了某些對象文件的某些部分放置在我想要生成的主對象文件中。我想知道是否有一種方法可以省略一個特定的符號而不是整個部分。 實施例: 說我有一個庫A.LIB它由1.O,2.O和3.O用的.text和。數據段。 1.o的.text部分包含func1,func2和func3。 使用EXCLUDE_FILE,我只能從1.o中省略整個.text或.data節。我想只能省

    0熱度

    3回答

    我讀過this tutorial 我可以按照指南運行代碼。但我有問題。 1)爲什麼我們需要加載地址和運行時地址。據我瞭解,這是因爲我們已經把閃存數據放在閃存上。那麼爲什麼我們不在那裏運行應用程序,但需要啓動代碼將其複製到RAM中? http://www.bravegnu.org/gnu-eprog/c-startup.html 2)我們爲什麼需要鏈接腳本和啓動代碼在這裏。我能不能像下面那樣構建C源

    0熱度

    1回答

    我正在編寫一個裸機內核,並且在NOLOAD部分的情況下我無法理解ld的輸出。我聲明只在MMU激活時存在的符號,所以VMA和LMA不一樣。 我曾經聲明這樣那樣的一個部分: _foobar_start = .; .foobar : AT(ADDR(.foobar) - VA_PA_OFFSET) { *.o(.foobar.section*) } _foobar_end = .;

    0熱度

    1回答

    我使用GCC編譯C代碼,並在Windows上與NASM彙編一些x86代碼。現在 ,GCC在默認情況下(我一直沒能找到一個選項來改變這一點)前添加下劃線_所有外部符號名(和預期的名稱)。 我需要這個彙編代碼來與Windows和Linux上的GCC一起工作,並希望儘可能避免黑客行爲(和代碼重複;我首先有單獨的用於Windows/Linux的.s文件)。 我發現了(和使用)了NASM中的--prefix

    -1熱度

    1回答

    我需要添加一個小堆以使用TM4C ARM微控制器上的標準庫函數(_sbrk需要end符號)。 這是我的鏈接腳本(附帶微控制器演示): /* Entry Point */ ENTRY(Reset_Handler) HEAP_SIZE = 1024; MEMORY { FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0x00100000

    1熱度

    1回答

    使用鏈接描述文件在地址空間中佈置符號時,ld允許 引用來自靜態庫的特定符號,其語法如下 : archive.a:object_file.o(.section.symbol_name) 使用gold而不是ld,似乎這樣的指令被忽略。 鏈接過程成功。但是,當使用此指令將特定 符號放在特定位置gold並使用nm檢查生成的符號佈局 或查看映射文件時,符號不在預期的 位置中。 我用一個虛擬hello世界

    -1熱度

    1回答

    我可以在.lcf中寫入條件嗎? 我想檢查某些部分的總和是否高於某個閾值。如果是的話我想鏈接器顯示錯誤/警告 我是新來的.lcf,我不知道這是否可能。 有什麼建議嗎? 接頭:接頭的WindRiver 5.9.4

    0熱度

    1回答

    是否可以使用鏈接描述文件或映射文件來重命名符號? 我正在嘗試修改一些混合使用C++和Fortran編寫的代碼,以便它可以在Linux上使用多個Fortran編譯器。它目前是爲Solaris Studio編譯器編寫的,並且啓用了區分大小寫選項。我想自動處理Fortran符號名稱中的變體(例如從Makefile中)。 它似乎可以創建別名左右,包含鏈接腳本: C_Function_ = c_functi

    0熱度

    1回答

    我從寧新AURIX的TriCore微控制器適應一些鏈接腳本。 有一個命令我完全不理解和文檔[0]是不是真的有幫助。 有人可以告訴我在原則上,這是怎麼回事呢? 「全球地址」是什麼意思,「核心本地地址」是什麼意思? [0]英飛凌科技股份公司:三核開發平臺,2015年 - 手動