色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統 > 設計應用 > ARM連接器錯誤一則

          ARM連接器錯誤一則

          作者: 時間:2016-11-22 來源:網絡 收藏
          在用RVCT3.1工作編寫ARM程序的時候,出現了一個連接錯誤:Error: L6915E: Library reports error: scatter-load file declares no heap or stack regions and __user_initial_stackheap is not defined.在網上找了一些資料,原因是使用了自定了的scat文件后,編譯器沒有沒有定義Image
          ZI
          Limit,默認提供的__user_initial_stackheap()函數會用到這個值,此時有兩個解決辦法:

          本文引用地址:http://cafeforensic.com/article/201611/319971.htm

          1.改寫scat文件,定義ZI段,并將*(+ZI)數據放入該段.

          2.覆蓋系統默認提供 的__user_initial_stackheap()函數,比如可以這樣做:

          [plain]view plaincopy
          print?
          1. /*
          2. *默認提供的__user_initial_stackheap()函數會用到Image
            ZI
            Limit這個值,
          3. *因為在使用Scat時這個值在默認情況下不被定義,所以要覆蓋同名的庫函數
          4. */
          5. __value_in_regsstruct__initial_stackheap__user_initial_stackheap(unsignedi0,unsignedi1,unsignedi2,unsignedi3)
          6. {
          7. struct__initial_stackheapconfig;
          8. config.heap_base=i1;
          9. config.heap_limit=i1;
          10. config.stack_base=i1;
          11. config.stack_limit=0;
          12. returnconfig;
          13. }
          此外,還要加上#include ,連接的時候加上--keep __user_initial_stackheap否則還會提示該函數沒有定義.


          關鍵詞: ARM連接器錯誤一

          評論


          技術專區(qū)

          關閉