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

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

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

注:該補丁包后續是否可以安全解決該問題,根據原廠回復確認該事實。


首頁 > 資源中心 > FAQ
