1、 文檔背景
在PK51 9.55,基于8051的微控制器無法運(yùn)行了。在MAP文件看到堆棧不像往常一樣位于DATA/IDATA區(qū)域的最后一段。堆棧在運(yùn)行時(shí)覆蓋數(shù)據(jù)/數(shù)據(jù)變量。

2、軟硬件環(huán)境
1)、軟件版本:PK51 V9.55 LX51 V4.66.64.0
2)、電腦環(huán)境:Windows 11
3)、外設(shè)硬件:無
3、操作步驟
方法一:
在C51的更新文檔內(nèi)具體說明了,9.56版本就已經(jīng)解決了該問題,這是由于 LX51 V4.66.64.0 版本的Bug導(dǎo)致的,LX51 V4.66.64.0 這個(gè)鏈接器有時(shí)會(huì)錯(cuò)誤地將堆棧段(典型大小為1字節(jié))定位到數(shù)據(jù)/數(shù)據(jù)區(qū)的空隙中。這種間隙有時(shí)存在于位可尋址區(qū)域之前。
用戶PK51更新至9.56及以上版本即可解決該問題。
原廠說明鏈接如下:
方法二:
1)、對(duì)于客戶來說成型的項(xiàng)目想要再次切換編譯器,風(fēng)險(xiǎn)較高,我們無法保證編譯后的二進(jìn)制文件完全相同。
方法二:客戶可以下載有關(guān)LX51 V4.66.64.0的補(bǔ)丁包,進(jìn)入網(wǎng)址內(nèi)下載3842.zip
下載鏈接如下
LX51: PK51 V9.55 May Locate the Stack to Wrong Address

2)、下載完成后將該zip文件解壓,內(nèi)包含新版本的LX51.exe程序,將其放置在KeilC51BIN路徑下,替換掉原有LX51.exe程序。

注:該補(bǔ)丁包后續(xù)是否可以安全解決該問題,根據(jù)原廠回復(fù)確認(rèn)該事實(shí)。


首頁 > 資源中心 > FAQ
