麻豆一区二区三区蜜桃免费_中文字幕Va一区二区三区 _国产成人综合久久二区_丰满多毛的大隂户毛茸茸_国产麻豆剧果冻传媒免费老狼_无码人妻精品一区二区三区久久久 _亚洲中文无码精品卡通_蜜臀亚洲AV永久无码精品老司机

【ARM】生成相同的十六進制或二進制構(gòu)建輸出需要滿足什么標準?-2022

仔細閱讀以下清單可以幫助您確保在開發(fā)階段可以在不同的PC上生成相同的十六進制或二進制構(gòu)建輸出,或者由于舊項目的維護需求而可以重新生成。

  • 使用相同的Arm編譯器工具鏈版本。使用相同版本的MDK可以輕松確保項目中使用相同的Arm 編譯器工具鏈。如果使用不同的MDK版本,請下載某個版本的Arm編譯器工具鏈并將其集成到MDK uVision中。
  • 使用相同的編譯器和鏈接器命令行選項來構(gòu)建項目。在不使用?MDK uVision IDE的命令行中構(gòu)建項目時,這一點尤其重要。
  • 使用相同版本的軟件包。獲得顯示項目中使用的所有軟件包的詳細列表的方法,例如設(shè)備系列包?(DFP)、CMSIS、MDK中間件包等,是在uVision中打開“管理運行時環(huán)境”對話框并單擊“詳細信息”,如以下屏幕截圖所示。將在包含此類列表的同一項目文件夾中生成Packs_*.htm文件。對于缺少此“詳細信息”按鈕的舊MDK uVision v5.x版本,打開構(gòu)建日志文件還可以為您提供項目中使用的所有軟件包的詳細列表。


為了確保在項目中使用特定版本的軟件包,建議在選擇軟件包對話框中禁用默認選項“使用所有已安裝軟件包的最新版本”,如下圖所示:

  • 如果使用MDK uVision構(gòu)建項目,請確保uVision的Project窗口中列出的所有源代碼在不同的PC上具有相同的順序。項目的所有源代碼都按照項目窗口中顯示的該項目樹的順序編譯,然后通過armlink以相同的順序鏈接。如果編譯的模塊通過armlink以不同的順序鏈接,可能會導(dǎo)致不同的十六進制或二進制構(gòu)建輸出。在項目對象輸出文件夾中檢查和比較uVision生成的*.lnp Linker Input File,也可以確保編譯后的模塊通過armlink以相同的順序鏈接。
  • 避免在源代碼中使用時間戳、系統(tǒng)環(huán)境變量、編譯器宏(例如__DATE__或__FILE__)等,這些在不同的PC上可能會有所不同。