找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2712|回復(fù): 4
收起左側(cè)

請(qǐng)教如何解決Keil C51v960a版本編譯產(chǎn)生代碼過(guò)大的問(wèn)題?

[復(fù)制鏈接]
ID:965325 發(fā)表于 2021-10-9 08:58 | 顯示全部樓層 |閱讀模式
本帖最后由 岳耳 于 2021-10-9 09:08 編輯

      俺一個(gè)項(xiàng)目在STC15W408AS下開(kāi)發(fā)的(8Kflash),之前用C51v956版本編譯后,代碼長(zhǎng)度01FD7,可以正常刷入單片機(jī)。最近閑著無(wú)聊把Keil升級(jí)到C51v960a,編譯后代碼長(zhǎng)度020ED,ISP報(bào)告:文件大小超出程序區(qū)范圍....部分移入EEPROM,刷入后不能正常運(yùn)行。
     C51v960a是官網(wǎng)下載安裝,編譯后的代碼刷入64k flash的STC8A8K64單片機(jī)能正常運(yùn)行,說(shuō)明Keil的安裝沒(méi)問(wèn)題。
     查看了一下,兩個(gè)版本的設(shè)置都一樣,請(qǐng)教一下,如何解決V960a編譯后的代碼冗長(zhǎng)的問(wèn)題?
回復(fù)

使用道具 舉報(bào)

ID:965325 發(fā)表于 2021-10-10 10:45 | 顯示全部樓層
自己頂,目前暫時(shí)退回V956版本使用了。
回復(fù)

使用道具 舉報(bào)

ID:969272 發(fā)表于 2021-10-11 23:21 | 顯示全部樓層
選項(xiàng)里的壓縮選項(xiàng)改一下試試,我也碰到過(guò),后來(lái)用老古董keil UV2編譯了才能刷入。
keil優(yōu)化代碼3.png
回復(fù)

使用道具 舉報(bào)

ID:883242 發(fā)表于 2021-10-12 12:54 | 顯示全部樓層
查map文件看看哪個(gè)模塊變大了,然后生成匯編代碼,以后那個(gè)變大的模塊用匯編就行了。
回復(fù)

使用道具 舉報(bào)

ID:965325 發(fā)表于 2021-10-14 07:57 | 顯示全部樓層
sh1900 發(fā)表于 2021-10-11 23:21
選項(xiàng)里的壓縮選項(xiàng)改一下試試,我也碰到過(guò),后來(lái)用老古董keil UV2編譯了才能刷入。

這三個(gè)選項(xiàng)都試過(guò),對(duì)于V960a版本,三個(gè)選項(xiàng)產(chǎn)生的代碼長(zhǎng)度完全一樣。

對(duì)于V956版本,反而時(shí)“注重速度”產(chǎn)生的代碼最短,并且所有選項(xiàng)產(chǎn)生的代碼長(zhǎng)度都小于V960a版本。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表