您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>單片機編程>

STC單片機Keil中C語言函數(shù)定位的方法

大小:215 KB 人氣: 2012-01-24 需要積分:0

STC單片機KeilC語言函數(shù)定位的方法:STC單片機Keil中C語言函數(shù)定位的方法
下面以演示程序進(jìn)行說明
演示程序中有ReadIAP、ProgramIAP和EraseIAP三個函數(shù)
最終目的是將這三個函數(shù)都定位到0x8000之后
第一步:新建一個項目“Demo”,并將源文件“Demo.C”添加到項目中
第二步:直接編譯,并打開編譯后生成的“Demo.M51”文件
從M51文件的“CODE MEMORY”信息中,可以看到3個函數(shù)的鏈接名稱、鏈接地址和函數(shù)長度
ReadIAP的鏈接名稱為“?PR?_READIAP?DEMO”,鏈接地址為“0003H”,長度為16H字節(jié)
ProgramIAP的鏈接名稱為“?PR?_PROGRAMIAP?DEMO”,鏈接地址為“0019H”,長度為16H字節(jié)
EraseIAP的鏈接名稱為“?PR?_ERASEIAP?DEMO”,鏈接地址為“0044H”,長度為14H字節(jié)
第三步:根據(jù)M51中函數(shù)的長度信息計算出各個函數(shù)重定位的地址,
ReadIAP的重定位的地址為0x8000
ProgramIAP的重定位的地址為0x8016
EraseIAP的重定位的地址為0x802C
第四步:打開項目選項中的“BL51 Locate”屬性頁
在上圖的“Code”域中輸入下列語句“?PR?_READIAP?DEMO(0x8000), ?PR?_PROGRAMIAP?DEMO(0x8016), ?PR?_ERASEIAP?DEMO(0x802C)”
?
第五步:點擊確定按鈕,并重新編譯即可,此時可以重新打開“Demo.M51”文件,便可發(fā)現(xiàn)3個函數(shù)已被重定位到我們所指定的地址了。

非常好我支持^.^

(0) 0%

不好我反對

(1) 100%

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?