精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

hpm5361在rtthread輕松搞起USB轉(zhuǎn)換器

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來源:未知 ? 2023-11-21 20:20 ? 次閱讀

一、概述

在半個(gè)月前,先楫發(fā)布了rtthread bsp 1.3.0版本,該版本其中一個(gè)功能就是加入了hpm5300的支持,對應(yīng)的板型是hpm5300evk,對應(yīng)的芯片型號是hpm5361。從先楫官方的數(shù)據(jù)手冊可知,除了豐富的電機(jī)外設(shè),也有對應(yīng)的豐富通訊外設(shè)接口。這里只截圖了通訊接口部分,其他功能可以詳情看對應(yīng)的數(shù)據(jù)手冊。

wKgaomVcoaCANagWAACdNBh4Q6g723.png

對應(yīng)的rtthread設(shè)備驅(qū)動(dòng)框架中,先楫也做好了不少外設(shè),其中包括了gpio, uart, spi, timer, i2c, usb, canfd等。

wKgaomVcoaCAP5riAABxEq14BJ0474.png

本來主要著重于利用rtthread的芯片設(shè)備驅(qū)動(dòng),制作一個(gè)USB轉(zhuǎn)換器,USB CDC轉(zhuǎn)換SPI、IIC、CAN這三個(gè)設(shè)備,方便用戶可以簡單驗(yàn)證外設(shè)功能以及調(diào)試需要。

本文的code例子,找到usb_converter鏈接:

https://gitee.com/RCSN/hpmicro_rtthread_demo

二、開發(fā)流程

(一)鏈接

1、rtthread的bsp包安裝教程詳看先楫官方公眾號發(fā)布的文章:【重磅來襲】RT-Thread BSP v1.3.0 發(fā)布

2、既然是USB轉(zhuǎn)換器,那就需要一個(gè)PC端的上位機(jī)進(jìn)行數(shù)據(jù)簡易轉(zhuǎn)換收發(fā),主要實(shí)現(xiàn)了USB轉(zhuǎn)SPI/IIC/CAN,使用QT開發(fā),code倉庫也提供代碼盒可執(zhí)行文件。

wKgaomVcoaCAeVKAAABjAB5gZTM403.png

(二)新建工程

這里使用模板工程進(jìn)行新建,調(diào)試器選擇FT2232。

wKgaomVcoaCAJckMAACRpJInkEU656.png

(三)外設(shè)驅(qū)動(dòng)加入

這里使用到了USB、SPI、I2C、CAN,故在硬件的芯片設(shè)備驅(qū)動(dòng)中需要選擇以下:

wKgaomVcoaGAHGpqAADYzLqzS3U799.png

組件中,確保CAN、I2C、SPI的設(shè)備驅(qū)動(dòng)程序?qū)?yīng)使能

wKgaomVcoaGATz7LAAFs3NV1Rec303.png

(四)添加軟件包(cherryusb加入和配置)

在軟件包中搜索cherryusb,進(jìn)行添加。

wKgaomVcoaGAABL4AAE386QtC4c708.png

點(diǎn)擊右鍵選擇配置項(xiàng)

wKgaomVcoaGAEF4DAAAi9Db4OZM953.png

分別使能USB device模式,速度選擇HS,USB IP選擇HPM,并使能usb cdc設(shè)備類型。

wKgaomVcoaKAeK5AAAFoc7Mzq5Y186.png

(五)加入應(yīng)用

1、以上配置完成后,進(jìn)行編譯下,發(fā)現(xiàn)會報(bào)錯(cuò)提示沒有usb_config.h這個(gè)頭文件

wKgaomVcoaSAGFjoAAFHmjX_mvo624.png

該頭文件主要是需要用戶自行配置USB相關(guān)參數(shù),cherryusb也提供了該模板文件,在倉庫的主目錄中cherryusb_config_template.h

wKgaomVcoaSAUgBKAAB3w0KtyGI799.png

2、由此我們可以在工程下右鍵新建一個(gè)文件夾,可叫usb2xxx,里面再新建一個(gè)inc和src文件夾,以及再新建個(gè)SConscript文件

wKgaomVcoaSAS54TAABv5I26VVQ235.png

wKgaomVcoaWAUp23AAAacJ5Ickc441.png

SConscript文件中寫入添加Inc包含,以及src下的所有文件加入。

wKgaomVcoaWAC3m6AAFBGf46vjE981.png

cherryusb_config_template.h改名為usb_config.h,并放在usb2xxx的inc中

需要注意配置的是,USB的printf和malloc free需要切換為rtthread的對應(yīng)API

wKgaomVcoaWAMbODAACBY2zPh9A128.png

先楫有自身的usb vid參數(shù),可以在config中加入。

wKgaomVcoaaAJ37ZAABfUdfJVMw462.png

3、USB打開與關(guān)閉設(shè)備操作流程

這里以SPI設(shè)備作為例子

USB tools的設(shè)備打開和關(guān)閉操作主要通過轉(zhuǎn)換cdc的配置參數(shù)進(jìn)行,比如設(shè)置波特率、parity和stop位來表示SPI的數(shù)據(jù)模式和傳輸模式。在QT的源碼中可以看到:

wKgaomVcoaeAY1DUAAScsB7XgIA902.png

下位機(jī)中, cherryusb的串口配置同樣提供了回調(diào) usbd_cdc_acm_set_line_coding這個(gè)API,我們需要把對應(yīng)的串口配置保存起來,在一個(gè)線程里面進(jìn)行處理判斷USB設(shè)備的打開和關(guān)閉。

wKgaomVcoaeAOHeJAAHZw2AFBBA062.png

這些串口參數(shù)根據(jù)上位機(jī)進(jìn)行解析判斷打開或者關(guān)閉的是哪個(gè)設(shè)備,比如SPI。

wKgaomVcoamADAF0AAUj_7k63b8538.png

驗(yàn)證打開下SPI。

wKgaomVcoamAYk0-AAE-8JZLTWE307.png

通過msh打印可知道,下位機(jī)解析設(shè)備完成,同樣I2C和CAN也是如此

wKgaomVcoamALM3pAAA5rq8jHD8612.png

4、外設(shè)收發(fā)與初始化

在設(shè)備框架中,rtthread對于設(shè)備的操作無非就是open, close, config, write, read等操作,同樣先楫也對應(yīng)做好了適配

(1)SPI

在rtthread官方文檔中

https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/spi/spi

配置SPI設(shè)備使用的是rt_spi_configure這個(gè)API

wKgaomVcoamAJkR2AAC9FDQZ2es849.png

對于config參數(shù)如下解釋

wKgaomVcoamAGjs-AABbKHL54eU997.png

如此一來可以封裝如下:

wKgaomVcoaqANo3IAAQrJQ81oHw174.png

對于SPI的收發(fā),rtthread同樣也提供了對應(yīng)接口

wKgaomVcoaqARKPDAAEPE2F-V00484.png

同樣進(jìn)行封裝

wKgaomVcoaqAH7omAAByixbbXTA772.png

(2)I2C

在rtthread官方文檔中

https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/i2c/i2c

對于I2C的數(shù)據(jù)收發(fā),提供了rt_i2c_master_send和rt_i2c_master_recv兩個(gè)API,以此可以進(jìn)行封裝

wKgaomVcoaqAcT_RAAEdRTmCnAs941.png

(3)CAN

同樣rtthread也有對應(yīng)的文檔說明

https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/can/can

先楫在適配CAN設(shè)備的時(shí)候,支持了硬件濾波組

wKgaomVcoaqATzpzAAGfuKL0lSM950.png

在接收上,可以設(shè)置接收回調(diào)函數(shù),該函數(shù)可以發(fā)送一個(gè)事件或者信號量通知CAN數(shù)據(jù)處理線程有數(shù)據(jù)到達(dá),可以進(jìn)行接收。

wKgaomVcoaqAIEg3AADF9jUT_lg780.png

wKgaomVcoauAbuEPAAGtLzCGTaA524.png

5、USB數(shù)據(jù)轉(zhuǎn)換

通過以上的外設(shè)數(shù)據(jù)收發(fā)API封裝,可以在USB的接收中,也類似做個(gè)回調(diào),發(fā)送信號量通知處理

wKgaomVcoauAMOptAATp8zXHzxU013.png

三、驗(yàn)證

在I2C中,另外一塊HPM5300EVK燒錄hpm_sdk的從機(jī)例子,讀取地址為0x16,讀取8字節(jié),接收消息中可以顯示到

wKgaomVcoauAbGyHAAFzSPl-Hac104.png

在SPI中,另外一塊HPM5300EVK燒錄hpm_sdk的從機(jī)例子,進(jìn)行數(shù)據(jù)收發(fā),USB轉(zhuǎn)換器可以正常顯示收發(fā)

wKgaomVcoauAA-TsAAKxgbwGZkY385.png

在CAN中,使用CAN盒進(jìn)行收發(fā),也可正常顯示收發(fā)。

wKgaomVcoauAChT8AAKNE8zFbGU721.png

四、結(jié)論

1、先楫對接rtthread的設(shè)備驅(qū)動(dòng)豐富,基本的通訊外設(shè)都可以使用rtthread的外設(shè)設(shè)備框架,保證項(xiàng)目的無縫切換。

2、使用rtthread的設(shè)備驅(qū)動(dòng)框架,可以無需太多理解底層,只需關(guān)注應(yīng)用開發(fā),實(shí)現(xiàn)快速開發(fā)。

3、rtthread的文檔相對豐富,從快速上手到內(nèi)核、設(shè)備驅(qū)動(dòng)、組件、軟件包等都有對應(yīng)的說明。

鏈接:https://www.rt-thread.org/document/site/#/

———————End——————

新生態(tài),創(chuàng)未來 | 2023RT-Thread 開發(fā)者大會開啟報(bào)名

邀請你參加 2023 RT-Thread 開發(fā)者大會的大理由

1、刷新RT-Thread最新技術(shù)動(dòng)態(tài)和產(chǎn)業(yè)服務(wù)能力

2、聆聽行業(yè)大咖分享,洞察產(chǎn)業(yè)趨勢

3、豐富的技術(shù)和產(chǎn)品展示,前沿技術(shù)發(fā)展和應(yīng)用

4、絕佳的實(shí)踐機(jī)會:AIOT、MPU、RISC-V...

5、精美伴手禮人手一份開發(fā)板盲盒和免費(fèi)午餐

6、黑科技滿點(diǎn)~滴水湖地鐵口安排無人車接送至?xí)?/span>

立刻掃碼報(bào)名吧

wKgaomVcoauAXb2PAAAGEVCsn_o382.png

點(diǎn)擊閱讀原文報(bào)名


原文標(biāo)題:hpm5361在rtthread輕松搞起USB轉(zhuǎn)換器

文章出處:【微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1239

    瀏覽量

    39437

原文標(biāo)題:hpm5361在rtthread輕松搞起USB轉(zhuǎn)換器

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    HPM5300EVK開發(fā)板優(yōu)秀測評報(bào)告(一)

    今天來看看先楫HPM5361的ADC讀取例程,先楫HPM5361的ADC是支持16位的模數(shù)轉(zhuǎn)換的,精度比一般的MCU 12位/10位的ADC都要高;采樣精度更高。
    的頭像 發(fā)表于 02-28 16:15 ?777次閱讀
    <b class='flag-5'>HPM</b>5300EVK開發(fā)板優(yōu)秀測評報(bào)告(一)

    hpm5361內(nèi)置的bootrom支持編程嗎?

    hpm5361內(nèi)置的bootrom支持編程嗎?
    發(fā)表于 01-31 22:34

    【先楫HPM5361EVK開發(fā)板試用體驗(yàn)】05 - SPI接口讀取MPU9250數(shù)據(jù)

    和SPI通信速率上有著天然的區(qū)別,所有這里選擇了具有顯著優(yōu)勢的SPI通信接口來讀取MPU9250的數(shù)據(jù),其SPI參考電路如下圖所示。HPM5361開發(fā)板可以根據(jù)以下的參考電路來連接MPU9250
    發(fā)表于 01-03 11:46

    【先楫HPM5361EVK開發(fā)板試用體驗(yàn)】先楫HPM5361EVK開發(fā)板初體驗(yàn)

    應(yīng)用。 ZAEGoJjCaNi4379.jpg) 先楫HPM5361EVK開發(fā)板的其它照片。 HPM5300EVK提供了一系列HPM5300微控制外設(shè)的接口,包括一個(gè)A
    發(fā)表于 12-24 22:58

    【先楫HPM5361EVK開發(fā)板試用體驗(yàn)】開發(fā)心得分享

    行各個(gè)模塊的細(xì)節(jié)學(xué)習(xí),就能夠從整體到細(xì)節(jié)更深入的了解各個(gè)子模塊了。 其中開發(fā)環(huán)境的安裝與熟悉之前已經(jīng)完成了,其他壇友的分享也很詳細(xì),接下來詳細(xì)講解一下系統(tǒng)框圖和時(shí)鐘系統(tǒng)。 1、HPM5361系統(tǒng)框圖
    發(fā)表于 12-21 19:26

    【先楫HPM5361EVK開發(fā)板試用體驗(yàn)】HPM5361性能初測

    1、HPM5361性能簡介 HPM5361數(shù)據(jù)手冊中描述為32位RISC-V處理,支持RV32-IMAFDCPB指令集,支持SIMD和DSP指令的DSP單元,性能為3.57 CoreMark
    發(fā)表于 12-21 15:07

    【先楫HPM5361EVK開發(fā)板試用體驗(yàn)】HPM5361程序下載

    ); 3)、系統(tǒng)編程模式(UART0/USB0-HID/XPI0/OTP); 其啟動(dòng)流程如下圖所示。 2、HPM5361啟動(dòng)鏡像 HPM5361的啟動(dòng)鏡像(Boot Image)有固
    發(fā)表于 12-21 14:59

    【先楫HPM5361EVK開發(fā)板試用體驗(yàn)】04 - 開發(fā)心得分享

    行各個(gè)模塊的細(xì)節(jié)學(xué)習(xí),就能夠從整體到細(xì)節(jié)更深入的了解各個(gè)子模塊了。 其中開發(fā)環(huán)境的安裝與熟悉之前已經(jīng)完成了,其他壇友的分享也很詳細(xì),接下來詳細(xì)講解一下系統(tǒng)框圖和時(shí)鐘系統(tǒng)。 1、HPM5361系統(tǒng)框圖
    發(fā)表于 12-21 14:55

    【先楫HPM5361EVK開發(fā)板試用體驗(yàn)】03 - HPM5361性能初測

    1、HPM5361性能簡介 HPM5361數(shù)據(jù)手冊中描述為32位RISC-V處理,支持RV32-IMAFDCPB指令集,支持SIMD和DSP指令的DSP單元,性能為3.57 CoreMark
    發(fā)表于 12-12 20:10

    【先楫HPM5361EVK開發(fā)板試用體驗(yàn)】-- HPM5361初體驗(yàn)

    【先楫HPM5361EVK開發(fā)板試用體驗(yàn)】-- HPM5361初體驗(yàn)
    發(fā)表于 12-11 10:27

    【先楫HPM5361EVK開發(fā)板試用體驗(yàn)】-04-關(guān)于HPM5361的Helloword

    是1.2 的,需要更新。 我們先試一下SDK_V1.2的。 我們可以看到SDKV1.2的還是沒有HPM5361的開發(fā)板支持的,所以我們還是需要下載新的SDK,新的SDK可以直接上官網(wǎng)就可以下載。 但是下載
    發(fā)表于 12-09 17:14

    【先楫HPM5361EVK開發(fā)板試用體驗(yàn)】02-HPM5361程序下載

    ); 3)、系統(tǒng)編程模式(UART0/USB0-HID/XPI0/OTP); 其啟動(dòng)流程如下圖所示。 2、HPM5361啟動(dòng)鏡像 HPM5361的啟動(dòng)鏡像(Boot Image)有固
    發(fā)表于 12-07 14:39

    【先楫HPM5361EVK開發(fā)板試用體驗(yàn)】Segger Embedded Studio開發(fā)環(huán)境安裝(1)

    1 、開發(fā)過程中遇到的坑 一、HPM5361開發(fā)板跳帽問題 用戶手冊提到: 存在坑的地方:1、先楫HPM5361不帶跳帽,但是默認(rèn)的調(diào)試方法需要跳線帽;2、如果不安裝跳帽、且使用默認(rèn)調(diào)試方式,就會
    發(fā)表于 12-01 14:47

    【先楫HPM5361EVK開發(fā)板試用體驗(yàn)】-- HPM5361初體驗(yàn)

    sdk中通過下圖中的start_gui.exe文件生成HPM5361工程(如不成功則檢查之前的依賴工具是否安裝正確)。 這里進(jìn)入了激活SES最關(guān)鍵的一步,在上一步驟成功生成HPM5361的SES
    發(fā)表于 11-29 11:26

    【先楫HPM5361EVK開發(fā)板試用體驗(yàn)】-01-開箱上電以及資料分享

    HPM5361吧。 HPM5361EVK的主控芯片為HPM5361,是先輯半導(dǎo)體的HPM5300系列的代表芯片之一,主頻高達(dá)480M,芯片有288KSRAM,128K的FLASH,具
    發(fā)表于 11-24 17:34