請(qǐng)教CH32V305開(kāi)發(fā)中的一些疑問(wèn)

初次接觸貴公司的RISC-V芯片,目前還在開(kāi)發(fā)板的探索階段。有幾個(gè)粗淺的問(wèn)題請(qǐng)教:

  1. 開(kāi)發(fā)工具用的MRS-IDE,查看了一下攜帶的工具鏈和例程代碼,發(fā)現(xiàn)了幾乎所有的中斷處理函數(shù),在聲明的時(shí)候都加上了“__attribute__((interrupt("WCH-Interrupt-fast")))”這樣的屬性,這個(gè)是沁恒自定義的屬性吧?看論壇里面的一些帖子,意思是聲明中斷處理函數(shù)采用硬件壓棧(這樣應(yīng)該會(huì)快一點(diǎn))。但這樣一來(lái),是不是就只能使用來(lái)自MRS里面攜帶的工具鏈編譯器啥的了,xpack官方的risc-v gcc工具鏈?zhǔn)遣皇蔷筒荒苡昧耍?/p>

  2. 參看了EVT包里面,“USB/USBHS/DEVICE/SimulateCDC”的例子代碼,有關(guān)USB Device的驅(qū)動(dòng)程序是不是就是USB_Device里面的幾個(gè)文件,整體挪移到其他項(xiàng)目中,還需要修改調(diào)整嗎?哪幾個(gè)文件是不建議用戶動(dòng)的?還是說(shuō)看明白了之后,自己按照項(xiàng)目進(jìn)行調(diào)整?感覺(jué)USB方面的代碼,不像其他外設(shè),在SRC目錄里面有一組“庫(kù)”啊,雖然SRC目錄里面的“庫(kù)”其實(shí)封裝得也很薄。

  3. "ch32v30x_usbhs_device.c"文件中,USBHS_Endp_DataUp函數(shù),根據(jù)寄存器“USBHSD->BUF_MODE”的模式,更新Tx分別采用了DMA和memcpy的方式,但在memcpy的時(shí)候,目標(biāo)地址換算來(lái)自宏“USBHSD_UEP_TXBUF(endp)”,看了頭文件的定義,這個(gè)USBHSD_UEP_TXBUF()宏就是把“USBHSD_UEP_TXDMA”的值+上了0x2000 0000,這個(gè)常數(shù)的出處在哪里?是指的SRAM起始地址“0x2000 0000”嗎?

  4. 嗯,另外,CH32V305/7我看也是2線接口的,ARM上能用的CMSIS-DAP swd調(diào)試器能用嗎?還是說(shuō)只能使用wch-linke?

抱歉,由于第一次接觸沁恒的MCU+SDK體系,比較懵圈,所以有些問(wèn)題可能是很粗淺的,但還是希望可以得到一些點(diǎn)撥,謝謝。

您好,關(guān)于你的問(wèn)題

1、關(guān)于MRS編譯器中中斷聲明的作用主要如下:

(1)告訴編譯器,這是個(gè)中斷服務(wù)函數(shù)

(2)告訴編譯器已進(jìn)行硬件壓棧,無(wú)需進(jìn)行軟件壓棧

可以不用MRS里面攜帶的工具鏈編譯器,可以使用其他RISC-V工具鏈,中斷聲明按照正常中斷聲明,無(wú)需加WCH-Interrupt-fast,保留雙引號(hào)即可。但建議使用MRS或其工具鏈,因?yàn)槠溽槍?duì)CH32V系列MCU硬件壓棧和XW擴(kuò)展指令集做了處理。關(guān)于中斷及硬件壓棧相關(guān)具體介紹,可參考QingKeV4微處理器手冊(cè)第三章節(jié),手冊(cè)下載鏈接如下:

http://m.findthetime.net/downloads/QingKeV4_Processor_Manual_PDF.html

2、關(guān)于USB移植問(wèn)題,可以將USB_Device文件夾下文件整體移植到其他工程中,若要修改,一般修改usb_desc.c文件和ch32v30x_usbhs_device.c文件即可,usb_desc.c文件主要涉及描述符的修改,ch32v30x_usbhs_device.c文件主要涉及枚舉過(guò)程的修改。0x20000000是指SRAM起始地址。此外,使用USBD系統(tǒng)主頻需要設(shè)置為48M、96M或144M。

3、CH32V系列MCU下載調(diào)試只能使用WCH-Link系列工具,ARM上的CMSIS-DAP工具不能用,關(guān)于WCH-Link工具,可聯(lián)系銷(xiāo)售進(jìn)行申請(qǐng)購(gòu)買(mǎi)。

后續(xù)若有問(wèn)題,可通過(guò)郵箱(lzs@wch.cn)和我進(jìn)行溝通



非常感謝如此細(xì)致的答復(fù)。后續(xù)的技術(shù)問(wèn)題,我就直接發(fā)郵件向您請(qǐng)教。


使用USBHS的時(shí)候,也需要主頻為48,96或144M嗎?看手冊(cè)里說(shuō)USBD和OTG需要48M時(shí)鐘,USBHS的時(shí)候應(yīng)該不需要主頻為48、96或144吧?


您好,使用USBD時(shí)需要設(shè)置主頻為48、96或144M,使用USBHS不需要必須設(shè)置為48、96或144M,其他也可以



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

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