標(biāo)題: 請問正常的程序重新編譯后不能正常運(yùn)行是什么情況? [打印本頁]

作者: jhczy    時(shí)間: 2023-8-31 11:09
標(biāo)題: 請問正常的程序重新編譯后不能正常運(yùn)行是什么情況?
請問各位大神,重裝電腦系統(tǒng)和重裝keil C(V9.60a)軟件后,出現(xiàn)了一個(gè)奇怪的現(xiàn)象,以前沒有碰到過。為什么重新編譯以前正常的程序現(xiàn)在下載到單片機(jī)上不能正常運(yùn)行?重新編譯時(shí)沒有異常,0錯(cuò)誤、0警告
作者: lkc8210    時(shí)間: 2023-8-31 14:55
啥叫不能正常運(yùn)行?
作者: jhczy    時(shí)間: 2023-9-1 08:51
lkc8210 發(fā)表于 2023-8-31 14:55
啥叫不能正常運(yùn)行?

重新編譯前,烤入單片機(jī)功能是正常運(yùn)行的,屏幕顯示正常;重新編譯后,烤入單片機(jī)就不能正常運(yùn)行,屏幕顯示亂碼
作者: joyb    時(shí)間: 2023-9-1 11:00
配上照片或電路圖,批量生產(chǎn)也有廢品率
作者: m1249394401    時(shí)間: 2023-9-1 11:02
那你試過比較兩個(gè)hex文件嗎
作者: npn    時(shí)間: 2023-9-1 11:42
jhczy 發(fā)表于 2023-9-1 08:51
重新編譯前,烤入單片機(jī)功能是正常運(yùn)行的,屏幕顯示正常;重新編譯后,烤入單片機(jī)就不能正常運(yùn)行,屏幕顯 ...

可能是編譯優(yōu)化功能有BUG造成,用串口助手調(diào)試函數(shù)、變量、指針、數(shù)組、大小端、運(yùn)算結(jié)果、內(nèi)存數(shù)據(jù)是否正確?
作者: T0m    時(shí)間: 2023-9-1 14:16
你是不是用了keil v4 和v5 版本,我記得v4版本的有些代碼用v5 編譯會(huì)出問題。

作者: jhczy    時(shí)間: 2023-9-1 15:25
現(xiàn)在將keil C51重新改裝成9.54版本的,正常了,8級(jí)優(yōu)化,編譯后的HEX文件與原來大小一致。9.60a版本的8級(jí)優(yōu)化生成的HEX文件大了0.8k,用9級(jí)優(yōu)化時(shí)變小了,但無論用哪種優(yōu)化級(jí)別,都不能正常運(yùn)行
作者: jhczy    時(shí)間: 2023-9-1 15:27
joyb 發(fā)表于 2023-9-1 11:00
配上照片或電路圖,批量生產(chǎn)也有廢品率

這本就是批量產(chǎn)的
作者: liucan2020    時(shí)間: 2023-9-1 18:15
第一次聽說這種問題  ,學(xué)習(xí)到了

作者: jhczy    時(shí)間: 2023-9-4 09:36
用keil C51 V9.56版本的重新編譯也沒有問題
作者: jhczy    時(shí)間: 2023-9-7 08:55
用keil C51 V9.57版本的重新編譯也沒有問題,V9.59及以上版本就不正常了
作者: yuxuesuixing    時(shí)間: 2023-9-7 16:41
可能是隱藏bug,你最好還是調(diào)試調(diào)試,估計(jì)是某些延時(shí)時(shí)間優(yōu)化程度不同,導(dǎo)致時(shí)序錯(cuò)誤。也就是說,程序還是有問題的,只是現(xiàn)在沒發(fā)現(xiàn)。




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