keil編譯完成後program size: code=*** ro-data=*** rw-data=*** zi-data=***
code:**,指程式中**即函式體的大小,程式中未使用的函式也會計算在code中,也即會占用flash空間,因此不用的函式最好刪除掉。
ro-data:read-only data,唯讀資料,程式中唯讀的變數(也就是帶const的)和已初始化的字串等。
rw-data:read-write data,可讀寫資料,已初始化的可讀可寫的變數。
zi-data:zero-initialized data,初始化為零,或者未初始化的變數。未初始化的變數在執行時初始化為0。
code+ro-data+rw-data=程式占用的flash大小。
rw-data+zi-data=程式占用的ram大小。
keil編譯器很奇怪的問題
問題描述 用keil除錯一段原本可以正常執行的 在其中某處插入一句無意義的語句 可以是不能被執行到的 編譯之後再執行就會出現錯誤。原因猜測 插入的語句雖然不會對程式邏輯造成影響,但是它卻導致了程式最終不能正常執行,那就說明它對編譯結果產生了影響,具體是什麼影響,怎麼看,抓耳撓腮不得其解tt 此問題在...
keil中 include後的尖括號與引號的區別
九層妖塔 起於壘土 三 測試 先引入關於 include後的尖括號與引號的區別的經典解釋 雙引號系統先在源程式所在的目錄內查詢指定的包含檔案 在當前目錄中查詢 如果找不到,再按照系統指定的標準方式到有關目錄中去尋找。尖括號系統將直接按照系統指定的標準方式到有關目錄中去尋找 在標準系統目錄中查詢檔案 ...
在keil中編譯ucos時要注意的問題
程式編譯好後 program size data 112.0 xdata 164 code 3930 也就是說只要51有 126位元組的片內ram data 256位元組的外部ram xdata 4k以上的flash就可以執行了 還有個問題要注意的 51系列的微控制器片內ram最多只有256位元組,...