能否提供CH569 RAMX的運(yùn)行代碼載入的詳細(xì)方法說明。

1、目前下載工具WCHISPTOOL,有RAMX的分配選項(xiàng),但是這個(gè)選項(xiàng)對(duì)于下載的HEX有任何意義么?

2、目前SDK的代碼,LD文件并沒有為RAMX單獨(dú)定義section。startup_ch56x.s也沒有flash段代碼拷貝到RAMX段的過程。

3、我自己添加了RAMX的section定義,給函數(shù)分配了section,list文件可見匯編代碼函數(shù)VMA空間是0x20020000開始的地址。但是程序下載后,無法運(yùn)行。

LD文件:

????CODEX (xrw) : ORIGIN = 0x20050000, LENGTH = 32K?

????.xCode :

? ? {

. = ALIGN(4);

PROVIDE(_xCode_vma = 0x20050000);

PROVIDE(_xCode_lma = 0x00020000);

PROVIDE( _xCodeLen = 0x8000);

? ? } >CODEX AT>FLASH

startup_ch56x.s:

????

2:

/* LOAD XCODE FROM FLASH TO RAM*/

la a0, _xCode_lma

la a1, _xCode_vma

la a2, _edata

bgeu a1, a2, 2f


在isp工具配置中配置RAMX的分配,是用來配置ch565/ch569的 硬件flash到ram的搬移,為了更高的速度,通常一些代碼要放在ram里運(yùn)行


至于ramx的section定義,你可以打開一個(gè)usb的example,里面usb的dma數(shù)組地址就是定義在ramx的,由于example工程都是共用一個(gè)ld文件,你可以按照那個(gè)來.


1、ISP工具,如果是修改InfoFlash的[31:30]USER_MEM字段的配置值,這個(gè)就說得通了。

2、RAMX和CODEX的和是128K,所以其實(shí)RAMX的總空間是0x20020000-0x2003FFFF。手冊(cè)第13頁? 0x20038000-0x3FFFFFFF 保留,這項(xiàng)就不嚴(yán)謹(jǐn)。

3、DMA段只是內(nèi)存段,是變量定義。代碼是需要拷貝的,從LMA拷貝到VMA空間,就像DATA段在startup_ch56x.s做的工作。這個(gè)沒解釋清楚。


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

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