日韩中文在线观看-欧美性综合-伊人视频在线观看-亚洲免费在线视频观看-国产偷人视频-人妻丰满熟妇岳av无码区hd-国产一级淫片a视频免费观看-国产精品交换-国产精品1区2区3区4区-美女日批视频在线观看-欧美日韩一区二区三区自拍

【Arm】MDK-Link錯誤解決方案

1、 文檔目標

記錄Error編號為L6220E的Link錯誤并給予解決方案,供相關同事參考解決此類問題。


2、 問題場景

客戶在使用STM32F1的項目編譯時遇到下列報錯Error: L6220E: Load region LR_IROM1 size(65552 bytes)。


圖2-1

3、軟硬件環境

1)、軟件版本:MDK5.38

2)、電腦環境:Windows 11

3)、外設硬件:無


4、解決方法

1)、原因1:分配給此負載區域的數據過多。一個加載區域可以由多個執行區域組成,這些執行區域包含一個或多個 RO、RW、XO 或 ZI 數據部分

解決方案1.1:目標設備參考手冊中的內存映射詳細信息,查看是否有可能增加為此負載區域定義的最大允許大小,例如,特定內部閃存或 RAM 內存區域中仍有剩余空間。如果是,請在 uVision 的"Options for Target - Target"”中修改如下圖4-1所示或您自己的散點文件中增加為此加載區域定義的大小。


圖4-1

解決方案1.2:檢查 uVision 自動生成的鏈接器分散文件或您自己的分散文件,看看是否可以將此特定加載區域的某些執行區域的分配更改為另一個加載區域

解決方案1.3:提高代碼的優化等級,將Arm 編譯器優化級別更改為 -O3、-Oz 或 -Omin,以便 Arm 編譯器生成較小的代碼大小,在某些情況下可能會解決此鏈接器錯誤。


2)、原因2:如果 .在此負載區域中使用/分配任何部分,具體取決于算法用于填充此類 .任何部分,鏈接器生成的內容(如填充物和貼面)都可能過度填充該區域,從而導致此鏈接器錯誤 L6220E。

解決方案 2.1:使用--any_contingencylinker 選項,以防止鏈接器將區域填充到最大值。

解決方案 2.2:使用執行區域屬性ANY_SIZE max_size指定 Armlink 可以用未分配的部分填充的區域中的最大大小。


3)、原因3:如果某些數據故意放置在特定地址/位置(靠近此特定加載區域的末尾),則在某些情況下可能會導致此鏈接器錯誤 L6220E,本文對此進行了介紹ARMLINK:L6220E ...超出限制,如果將數據放在閃存末尾


注:原因2與原因3暫未遇到,均為原因1所導致的錯誤,檢查內存分配大小即可解決,提高優化等級也可行。

以上參考原廠說明鏈接:錯誤:L6220E:加載區域 xxx 大小(xxx 字節)超出限制(xxx 字節) (arm.com)

主站蜘蛛池模板: 连山| 汾阳市| 伊宁县| 兴业县| 阿拉善右旗| 元谋县| 页游| 北海市| 丹凤县| 巍山| 南江县| 漳州市| 滨州市| 新昌县| 文山县| 安化县| 太原市| 平度市| 吉木乃县| 尚志市| 武陟县| 嘉鱼县| 屏山县| 峨眉山市| 皮山县| 双柏县| 清苑县| 丁青县| 景德镇市| 德令哈市| 乐陵市| 东乡族自治县| 卢湾区| 海伦市| 库尔勒市| 河南省| 宁河县| 涟水县| 共和县| 临漳县| 杂多县|