CH32V307VCT6怎么把常量數(shù)組和不常用或不要求速度的代碼放進(jìn)flash非零等待區(qū)域

CH32V307VCT6:我有兩個超大常量數(shù)組,透視變換打表用的數(shù)組,共176k多,怎么把這兩個數(shù)組存到flash非零等待區(qū)域,像stm32一樣直接加const修飾那個flash就快滿了


還有怎么把一些函數(shù)不要求速度的也放到非零等待區(qū)域,因為代碼有點大,盡量省點


主頻144MHz,不會出錯吧,我看應(yīng)用手冊上說:“在進(jìn)行 FLASH 相關(guān)操作時,強(qiáng)烈建議系統(tǒng)主頻不大于 120M。”


希望官方給出詳細(xì)的解釋和步驟,還是CH32V307VCT6的flash大小只有那么大,那個480k是假的嗎?


我曉得你是誰了


這個我也想知道,手冊上的480K-flash在實際應(yīng)用時,并沒有用上剩下的480-256K-flash,能不能以內(nèi)存管理方式直接將數(shù)據(jù)代碼塞到特定內(nèi)存區(qū)域



您好,若需要將常量數(shù)組放在非零等待區(qū)域,可按照下圖1配置。關(guān)于將函數(shù)放在非零等待區(qū)域,方法與常量數(shù)組方法一樣,附件為參考例程,可以參考一下

icon_rar.gifCH32V307 數(shù)據(jù)常量地址定位.zipimage.png

圖1


我看到例程里全都講到了72M跑,有辦法開144跑嗎?


那個頻率為144MHz不會出錯吧,跑攝像頭速度很重要,訪問慢一點沒關(guān)系,不會出錯就行


還有我要改成128k的ram的話,是那個falsh1不能改,改ram和flash吧,如下圖

image.png


對,你下載的時候還要重新配置一下應(yīng)該


您好,主頻設(shè)置為144MHz正常是沒問題的。關(guān)于ld文件中FLASH與FALSH1的修改,一般可將FLASH1的起始地址設(shè)置為FLASH的結(jié)束地址,比如你設(shè)置FLASH設(shè)置為192K,那么FLASH1的起始地址設(shè)置為0x0030000,長度設(shè)置為480-192=288K,當(dāng)然,若你設(shè)置FLASH小于256K,F(xiàn)LASH也可以按照例程的保持不變,也是沒問題的。



請問重新設(shè)置了flash和ram大小但是芯片無法啟動是什么原因?


您好,正常情況下,F(xiàn)LASH和RAM的大小配置只能按照規(guī)定的4種配置方式進(jìn)行配置,如下圖。若你有特殊需求或應(yīng)用,可將具體問題通過郵箱(lzs@wch.cn)和我溝通下。

image.png


芯片手冊 V2.2 中明確指出:

在進(jìn)行?FLASH?相關(guān)操作時,強(qiáng)烈建議系統(tǒng)主頻不大于?120M。
若實際應(yīng)用一定要求使用系統(tǒng)主頻大于?120M,需注意:
在進(jìn)行非零等待區(qū)域?FLASH?和零等待區(qū)域?FLASH、用戶字讀寫以及廠商配置字和?Boot?區(qū)域
讀時,需做以下操作,首先將?HCLK?進(jìn)行?2?分頻(相關(guān)外設(shè)時鐘也同時分頻,影響需評估),F(xiàn)LASH
操作完成后再恢復(fù),保證?FLASH?訪問時鐘頻率不超過?60Mhz(FLASH_CTLR?寄存器的?bit[25]-
SCKMOD?可配置?FLASH?訪問時鐘頻率為系統(tǒng)時鐘或系統(tǒng)時鐘的一半,該?bit?默認(rèn)配置為系統(tǒng)時鐘
的一半)。


上面的回答中又說“您好,主頻設(shè)置為144MHz正常是沒問題的。


這里有2個疑問:

1. 手冊中說的是讀取時?是不是寫錯了,CPU核心執(zhí)行時就在進(jìn)行讀取,如果讀取有問題,144MHz根本沒法運(yùn)行

2. 主頻為144MHz時,SCKMOD?采用默認(rèn)值,也即主頻的一半,那么讀寫 FLASH 到底需不需要降低頻率到120MHz?如果不降低頻率,是否有安全隱患?


您好,上電時MCU會將FLASH中的代碼搬運(yùn)到RAM運(yùn)行,若程序中沒有FLASH讀寫相關(guān)操作,144MHz下是沒有問題的;默認(rèn)是系統(tǒng)時鐘的一半,注意FLASH訪問時鐘不要超過60MHz,如下圖標(biāo)注。因此讀寫FLASH需要降到120MHz,建議在120MHz及以下操作。

image.png


關(guān)于FLASH操作的頻率問題已解決:<=60MHz,也即系統(tǒng)主頻<=120MHz。


上電時MCU會將FLASH中的代碼搬運(yùn)到RAM運(yùn)行”,手冊中沒有找到相關(guān)描述,此處的RAM和用戶RAM是同一塊區(qū)域嗎?代碼部分全部復(fù)制到RAM,RAM是不夠的,如何理解?難道這個系列的芯片和其他單片機(jī)運(yùn)行方式不同?望解釋


您好,CH32V307的FLASH、RAM大小都是可配置的,幾種配置方式如下。FLASH+RAM的大小就是RAM的實際大小,RAM實際大小就是320K,以64K RAM+256K FLASH分配為例,64K作為RAM的大小,256K會用于存放FLASH代碼,上電后會將FLASH的程序搬到RAM運(yùn)行。

image.png



CH32V307的FLASH、RAM,物理的實質(zhì)的flash? ram? 擺在那里,程序放在物理的flash里面(應(yīng)該都是慢的flash),然后上電后 程序被倒入ram(定義的0等待flash)。。。是這樣?

我們能用的flash與ram 都是ram

所以速度一樣的,快

能不能告知我們真實的flash具體的速度:程序執(zhí)行的速度,讀寫的速度


您好,是的,F(xiàn)LASH的代碼上電后會被搬運(yùn)到RAM執(zhí)行,因此可實現(xiàn)零等待。關(guān)于非零等待區(qū)FLASH,執(zhí)行速度大概在十幾MHz。后續(xù)若有問題,可郵箱(lzs@wch.cn)溝通。


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

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