新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 你寫的單片機程序有多大,你知道嗎?

        你寫的單片機程序有多大,你知道嗎?

        作者: 時間:2017-11-17 來源:網絡 收藏

          我們都用過,我們知道的FLASH有4K的,有8K的,程序我們也寫過,但是我們寫好的程序有多大,你知道嗎?

        本文引用地址:http://www.104case.com/article/201711/371647.htm

          程序寫好并編譯后生成hex文件,這個hex文件就是要下載到單片機里的文件,這個文件的大小不能超過單片機的FLASH大小,否則就要優化程序或者選用更大FLASH的單片機。

          如下圖所示,就是一個編譯好的hex文件:

            

         

          我們發現他后邊的大小是9KB,這個是程序的大小嗎?其實這是錯誤的,程序的大小要在這里看見:

            

         

          Code:表示所要執行的代碼,程序中所有的函數都位于此處。

          RO-data:表示只讀數據,程序中所定義的全局常量數據和字符串都位于此處。

          RW-data:表示已初始化的讀寫數據,程序中定義并且初始化的全局變量和靜態變量位于此處。

          ZI-data:表示未初始化的讀寫數據,程序中定義了但沒有初始化的全局變量和靜態變量位于此處。

          通過上面的描述就可以看出:

          下載到單片機FLASH的程序是:Code+RO-data+RW-data;

          運行在RAM中的數據是:RW-data+ZI-data;

          好了,從今天起你就要知道你所寫的程序有多大該怎么看了,另外程序的大小還可以在工程目錄下的.map文件中看到:

            

         

          找到.map文件,用記事本打開,拉到最后就可以看到了。



        關鍵詞: 單片機

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 阜阳市| 临颍县| 浮山县| 巴东县| 岳阳县| 辛集市| 南江县| 抚州市| 安溪县| 湘潭县| 略阳县| 门源| 长宁区| 庄河市| 浮梁县| 商丘市| 扶绥县| 保康县| 冷水江市| 民县| 余姚市| 西盟| 马关县| 高青县| 绥棱县| 武山县| 望谟县| 永春县| 木里| 新野县| 怀来县| 天门市| 阳原县| 望城县| 中西区| 沛县| 保康县| 黑水县| 库尔勒市| 吉林省| 永城市|