|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
Keil C編譯后的Lib更改 |
| 作者:wqz 欄目:單片機 |
前段時間我收到一個KEIL C編譯后的LIB文件,遇到一個麻煩,原來LIB文件里,信號檢測的IO口定義在P0口,而我主程序部分又要用到P0口.沒有辦法只有嘗試修改LIB。 我的解決過程如下: 1.寫好程序編譯后,進入DEBUG界面 2.調(diào)出反匯編窗口 3.搜索與被定義IO腳在寄存器內(nèi)地址相同的值,如P0.3就是0x80.3 4.查看匯編語句,確認(rèn)是對該IO操作的,記錄該行地址,如:C:0x0114 記錄機器代碼(地址后的字符,即C:0x0114后的字符) 5.鼠標(biāo)右鍵選擇Inline Assembly,修改此句匯編語言,如:把語句中的0x80.3修改為0xA0.2 就是把P0.3的定義修改為P2.2。 6.記錄修改后編譯出的機器碼。 7.重復(fù)3--6直到所有的語句修改完成。 8.打開燒寫程序,打開編譯后HEX文件,進入編輯狀態(tài) 9.查找相應(yīng)的地址,如:0x0114 10.將修改后的機器碼替換修改前的機器碼,重復(fù)到所有的語句全被替換為止。 11.然后將修改后的HEX文件保存,留著以后燒寫。 我用這種方法,已經(jīng)成功過。希望,有見地的朋友,將自己更好的方法,拿出來一起研究。 不知道,有沒有朋友知道如何在KEIL C的反匯編窗口修改后的內(nèi)容進行保存并編譯。 如果,可以的話。就比上面的方法簡單得多了。上面太麻煩了。 好象,低版本的KEIL C 支持,不過沒有試過。 另外,大家也可以共同討論,編譯后LIB的反編譯的。 * - 本貼最后修改時間:2006-12-14 22:20:50 修改者:wqz |
| 2樓: | >>參與討論 |
| 作者: John_light 于 2006/12/14 22:38:00 發(fā)布:
wqz有心 有空我也研究一下 |
|
| 3樓: | >>參與討論 |
| 作者: 王紫豪 于 2006/12/15 1:17:00 發(fā)布:
賊支持原創(chuàng) |
|
| 4樓: | >>參與討論 |
| 作者: xwj 于 2006/12/15 8:39:00 發(fā)布:
LS什么時候做 賊了? |
|
| 5樓: | >>參與討論 |
| 作者: wqz 于 2006/12/15 18:38:00 發(fā)布:
大家還有什么其他方法嗎? |
|
| 6樓: | >>參與討論 |
| 作者: 王紫豪 于 2006/12/15 19:39:00 發(fā)布:
回4樓,“賊”這里不是名次啊。【拖瘛拔鞴腺\好吃” |
|
| 7樓: | >>參與討論 |
| 作者: wqz 于 2006/12/18 13:09:00 發(fā)布:
回來之后,發(fā)現(xiàn)多了好幾個賊字 |
|
| 8樓: | >>參與討論 |
| 作者: John_light 于 2006/12/18 16:58:00 發(fā)布:
??? wqz 發(fā)表于 2006-12-18 13:09 侃單片機 ←返回版面 按此察看該網(wǎng)友的資料 按此把文章加入收藏夾 按此編輯本帖 7樓: 回來之后,發(fā)現(xiàn)多了好幾個賊子 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |