標(biāo)題: 關(guān)于PLC系統(tǒng)程序的一點(diǎn)疑惑 [打印本頁]

作者: zyftank    時(shí)間: 2024-8-29 09:41
標(biāo)題: 關(guān)于PLC系統(tǒng)程序的一點(diǎn)疑惑
最近在學(xué)習(xí)一個(gè)STM32仿三菱PLC的系統(tǒng)程序,有個(gè)問題沒想明白,望高手指點(diǎn)一下。

PLC用戶程序,由GXdeveloper編譯好后上傳至單片機(jī),按照對(duì)程序的理解,是保存在flash里。這樣STM32里就有了兩段代碼,一段是KEIL編譯的程序,另一段就是由GX developer編譯的程序。STM32運(yùn)行的時(shí)候是從0x8000000這個(gè)地址讀取程序代碼并執(zhí)行,我在源碼里看到PLC的用戶程序是從0x800605C開始執(zhí)行的。我的理解就是keil編譯的程序必須保存在0x8000000 - 0x8006000之間,但是keil文件編譯的code大小是57006,換算成十六進(jìn)制是0xDEAE,已經(jīng)超過了0x6000,那么PLC的用戶程序會(huì)覆蓋flash上原來的程序嗎?


無標(biāo)題1.png (6.68 KB, 下載次數(shù): 7)

keil編譯截圖

keil編譯截圖

作者: zyftank    時(shí)間: 2024-8-29 13:08
我大體已經(jīng)知道是怎么回事了,這個(gè)需要從map文件來分析一下,應(yīng)該是從8006000后面劃出一片區(qū)域?qū)iT用來存儲(chǔ)PLC程序的。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1