<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 如何實(shí)現對PIC芯片ROM中的程序地址的精確定位?

如何實(shí)現對PIC芯片ROM中的程序地址的精確定位?

作者: 時(shí)間:2013-03-07 來(lái)源:網(wǎng)絡(luò ) 收藏

如何實(shí)現對中的的精確定位。

一個(gè)懸而未決的問(wèn)題,歷時(shí)4個(gè)月終于獲解。大塊人心。

事情要從4個(gè)月前的一場(chǎng)討論說(shuō)起。詳細情況見(jiàn):天梯 之 從零開(kāi)始玩PIC——11.關(guān)于FLASH操作的討論

問(wèn)題的實(shí)質(zhì),就是如何實(shí)現對中的的精確定位。因為只有精確定位了,才能通過(guò)對FLASH的寫(xiě)操作來(lái)修改表格中的數據。(甚至可以修改程序!)。

當時(shí),yewuyi 和martin 參與了討論。并且,martin給出了一個(gè)不太理想的解決方案:在編譯器命令行選項中進(jìn)行設置,讓編譯器絕對避開(kāi)某些區域。然后把這塊區域開(kāi)辟為表格。但是這個(gè)方案的缺點(diǎn)是,在燒芯片時(shí),無(wú)法對表格內容初始化,必須通過(guò)串口下載,由單片機程序去修改。

這個(gè)問(wèn)題被懸置了很久,今天,終于在網(wǎng)上看到一篇貼(參見(jiàn):PICC中如何用指針訪(fǎng)問(wèn)const 數組? ),匠人由此受到啟發(fā)。找到了問(wèn)題的解決方案,總結如下:

1、在定義const數組的同時(shí),定義const指針:

const tU08 LED_TAB[]=

{

//。。。。內容略。。。。

};

const tU08 *romPtr; //定義指向 的指針

2、程序中可以對上面的指針變量賦值和實(shí)現取數操作:

tU08 i ;

romPtr = LED_TAB;

i=*romPtr++; //取指針指向的一個(gè)數,然后指針加1

3、同樣的,我們也可以把romPtr 指針值傳遞給其他變量:

tU16 m;

romPtr = LED_TAB;

m=romPtr;

4、更神奇的是,我們可以通過(guò)這種方式,找到任意一個(gè)函數的起始PC地址:

romPtr = temp_cnt; //說(shuō)明:“temp_cnt”為一個(gè)函數。

5、找到了地址,再要修改該地址所在的FLASH,自然應該沒(méi)有問(wèn)題了吧。呵呵。



關(guān)鍵詞: PIC芯片 ROM 程序地址

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>