欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 16079|回復: 0
打印 上一主題 下一主題
收起左側

深入剖析之通過IAR MAP文件查看目標文件內存分配

[復制鏈接]
跳轉到指定樓層
樓主
ID:89763 發表于 2015-9-10 00:56 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  又是一年五四青年節,也不知道自己還會像現在意氣風發多少個青年節,也不清楚自己對技術的執著還會一如既往的堅持多久,總之既然現在依舊堅定不移的“前進”著(前段日子看到奧巴馬的競爭口號就是“前進”,說不定跟俺一個境界來,哈哈),未來不可預知,但可規劃和爭取,把握好現在,莫要虛度光陰,我們年輕并不代表我們有浪費時間的理由~比較推崇特權的那句話,“技術源于積累,成功源于執著”,大家共勉之~
    哈哈,感慨發完了,該回歸正事了......不知道別的地兒方怎么樣,總之濟南今天天氣是格外的好,綠樹成蔭,草長鶯飛的,不寫點東西都覺著不舒坦了,我要是文人墨客的話估計早就開始吟詩作對了,不過既然俺是工科技術男,還是寫篇技術博客來的實際吧,嘿嘿~
   好了,不天氣預報了,呵呵,來說說正題吧。本篇算是自己的一篇經驗總結吧,這里給大家分享一下,同時也讓自己養成文檔總結的好習慣。為了具體化問題,我這里還是以IAR開發Kinetis為例深入介紹一下。其實map文件(內存映射文件)可能初手開發的時候甚少有去關注它的,甚至好些都不知道它是干嘛的,呵呵,只有一些有經驗的老手或者搞移植搞深入研究的才會去查看它,初手往往上來就是在線調試、查看內存(這個都很少用)、看寄存器、斷點(這個用的也少)等等,但是等你了解了map文件,再去完成上述調試的時候會讓你事半功倍,且有一種運籌帷幄的感覺都不夸張。哈哈,說的這么多,還是上圖介紹吧(俺還是喜歡圖文并茂的感覺,話說喬布斯以前在每次開蘋果新品展示會的時候,你看見的絕對大多數是圖片形式的演講稿,因為喬大爺深諳這個道理,估計這也是為什么iOS,Mac OS都是UI強大的原因吧):
   首先當然要生成map文件了,注意IAR的默認設置是不生成map文件的,我們需要手動設置一下,如下圖,然后點擊準備就緒之后編譯即可在PROJDIR\FLASH_256KB_PFLASH\List文件夾下找到:


   生成之后,我們在IAR環境下打開它(當然可以以記事本直接打開,這里為了更直觀),map文件主要由以下幾部分構成:
(1)文件頭中顯示鏈接器版本,輸出文件名,MAP 文件名以及鏈接器命令行等。
(2)RUNTIME MODEL ATTRIBUTES 部份顯示 Endian等屬性;
(3) PLACEMENT SUMMARY部份顯示各sections 在存儲器中的分布;
(4)INIT TABLE 部份顯示與初始化有關的section tables;
(5)MODULE SUMMARY部份顯示所有被連接的文件信息,包括目標文件和庫文件等;

(6)ENTRY LIST部份給出了所有函數的入口地址及其所在的目標文件。

(7)文件尾中顯示了總的代碼和數據字節數(想看下最后目標代碼占用多少Flash和多少RAM的可以從這里查到)。

   本篇就挑出我們在調試的時候常常會考慮到用到的幾個部分,當然有興趣的可以每個部分都可以看看,會讓你受益匪淺的,下面就分部分介紹下:
(1)PLACEMENTSUMMARY,該部分主要顯示目標代碼在芯片內部的存儲器映射地址,可能會有人疑問為什么會分配到這些地址的呢,其實這些地址分配都是在前文講的Linker文件(*.icf文件)里預定義好了,IAR根據所選目標芯片就按照該定義分配地址段,然后燒寫進Flash,具體段定義可以到大前篇博客icf文件說明詳細了解。


(2)ENTRYLIST,開發工程內所有函數的入口地址,個人覺著這部分很有用,通過該地址映射再結合調試的時候觀察內存空間可以方便整個工程執行情況,讓你了若指掌,而且也方便你解讀一個陌生程序的功能(例如參考別人的例程,網上的例程之類的),總之個人覺著這個部分用處很大,有心人可以在此處做很大文章。


(3)這是map文件末尾部分,最后給出了整個工程文件占用的資源情況,即芯片內部Flash和RAM的使用情況,便于你對工程開發規模上的掌握,最后給出工程編譯鏈接輸出信息。


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表