keil使用問題總結

作者:李大闖        2017/09/03 11:15

KEIL MDK 查看代碼量、RAM使用情況--RO-data、RW-data、ZI-data的解釋


KEIL RVMDK編譯後的信息

Program Size: Code=86496 RO-data=9064 RW-data=1452 ZI-data=16116 

Code是代碼佔用的空間;

RO-data是 Read Only 只讀常量的大小,如const型;

RW-data是(Read Write) 初始化了的可讀寫變量的大小;

ZI-data是(Zero Initialize) 沒有初始化的可讀寫變量的大小。ZI-data不會被算做代碼裏因爲不會被初始化;

Code 代表執行的代碼,程序中所有的函數都位於此處。
RO-data 代表只讀數據,程序中所定義的全局常量數據和字符串都位於此處。
RW-data 代表已初始化的讀寫數據,程序中定義並且初始化的全局變量和靜態變量位於此處。
ZI-data 代表未初始化的讀寫數據,程序中定義了但沒有初始化的全局變量和靜態變量位於此處。


簡單的說就是在燒寫的時候是FLASH中的被佔用的空間爲:Code + RO Data + RW Data

程序運行的時候,芯片內部RAM使用的空間爲:               RW Data + ZI Data

變量只定義但不初始化,不佔用flash的空間





keil光標問題解決:
按下回車後,光標沒有到預期的位置,如下圖:

而是到了行首,如下圖:

解決方法:




keil不能設置斷點的原因:
在輸出名字那裏,不能手動加上.hex,如下圖,如果將名稱設置爲LDC20160506.hex則仿真時不能打斷點。