請問CH32V208WBU6編譯WebServer+BLEUART時出現(xiàn)這種情況是Flash不夠用了嗎?

Flash不是有400+k 嗎?


image.png

應(yīng)該不是存不下的問題,我試了試在BLE-UART的基礎(chǔ)上加了個ETH-DHCP的代碼也通過不了,提示超范圍,是不是需要設(shè)置哪里?

LD文件我的配置如下:

FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 160K

RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K



section `.highcode' will not fit in region `FLASH'


沒人么?


您好,關(guān)于FLASH的大小,其中零等待運行區(qū)域最大可配160K,剩下都是非零等待區(qū)域,若用于存放運行代碼,速度會慢一些,具體配置見下圖,在CH32V208數(shù)據(jù)手冊有關(guān)于FLASH說明。此外,根據(jù)你截圖報錯信息,F(xiàn)LASH及RAM大小應(yīng)該是超了,注意控制一下函數(shù)代碼段大小以及注意一下程序中定義的數(shù)組變量,防止超過FLASH、RAM大小以及堆棧溢出等情況。后續(xù)若有問題,可通過郵箱和我溝通(lzs@wch.cn)。CH32V208DS0數(shù)據(jù)手冊下載鏈接如下:

CH32V208 DS0:http://m.findthetime.net/downloads/CH32V208DS0_PDF.html?

image.png


我開始以為零和非零等待的都可以放代碼,只是非零的慢一點。原來只有零的160k才能放代碼。非零的 480k-160k=320k 等于沒用。而且這個160k是以RAM為代價的。如果設(shè)置64K RAM,F(xiàn)lash就只有128K。這個大小哪里夠?一個BLE的例程就這么大。更不用說Ethernet,USB,CAN,應(yīng)用程序等等了。都是空間使用大戶。CH583都有448K啊。這不是大倒退么。我對這個芯片有很大期望。一有賣的馬上打樣了電路板??磥順影暹€沒到就得放棄。




您好,不好意思,確認(rèn)了一下,非零等待區(qū)域也可以存放代碼,只是慢一些,前面回復(fù)有點問題,讓你產(chǎn)生了誤解,不好意思


多謝澄清。還有進一步的問題:


  1. 非零等待到底慢多少?是1等待,還是2等待,有沒有個比較?

  2. 如何把一些有速度要求的代碼放在零區(qū),其余的放在非零區(qū)?如果改 Linker Script?

  3. RAM/Flash 大小可以改變(64/128, 48/144, 32/160)。這個特性還是第一次看到。似乎片子里面有32K的空間,既可以當(dāng)RAM又可以當(dāng)Flash。有沒有大神解釋一下這到底怎么回事?例如說有沒有速度上的取舍?Flash大小的增減,加上零/非零區(qū),這個地址可以看成是連續(xù)的嗎?


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频