日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

HPM6750測評|體驗極致的運行速度和開發(fā)速度

先楫半導(dǎo)體HPMicro ? 2022-07-24 16:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在HPM6750上使用RT-Thread驅(qū)動SD卡實現(xiàn)文件讀寫只需要三步:

配置FATFS和SDIO功能

編譯項目代碼

燒錄二進(jìn)制到開發(fā)板

PS:本篇內(nèi)容特點——實操性強(qiáng),異常簡單,有手就行。

一、準(zhǔn)備工作

1.1 準(zhǔn)備好開發(fā)板和SD卡


開始本篇實驗之前,需要準(zhǔn)備一個MicroSD卡,我這里準(zhǔn)備的是一個32G的鎧俠藍(lán)卡:

928c2e26-0a07-11ed-9ade-dac502259ad0.jpg

1.2 創(chuàng)建RT-Thread項目

首先,使用RT-Thread Studio創(chuàng)建名為hpm_sdio_test的項目:

92a89f66-0a07-11ed-9ade-dac502259ad0.png

注:如果已有RT-Thread項目,則可以跳過此步驟。

二、配置RT-Thread

這里僅以RT-Thread Studio為例,對RT-Thread進(jìn)行配置。除此之外,使用RT-Thread的Env工具,在命令行環(huán)境下進(jìn)行相關(guān)配置也是可以的。

2.1 打開FATFS和SDIO組件

創(chuàng)建項目后,打開RT-Thread Settings,開啟FATFS和SDIO配置:

92b91f9e-0a07-11ed-9ade-dac502259ad0.jpg

可以看到,打開的組件,圖標(biāo)顯示為彩色。這里的SDIO屬于RT-Thead驅(qū)動框架的SDIO部分。

為了方便觀察實驗現(xiàn)象,這里最好再打開SDIO組件的調(diào)試日志:

92d56096-0a07-11ed-9ade-dac502259ad0.png

圖中頂欄的幾個部分,對于RT-Thread Studio創(chuàng)建的RT-Thread項目,通常而言:

內(nèi)核欄中的屬于內(nèi)核組件配置,相關(guān)源碼位于rt-thread子目錄;

組件欄中的屬于系統(tǒng)組件配置,相關(guān)源碼位于rt-thread/components子目錄;

軟件包欄中的屬于三方組件配置,相關(guān)源碼默認(rèn)不在項目中;在打開相應(yīng)配置并保存后,才會下載到項目的packages子目錄;

硬件欄中的屬于BSP配置,相關(guān)源碼通常在board子目錄。

2.2 打開SDIO驅(qū)動


前面打開的僅是SDIO驅(qū)動框架,要使用SDIO功能,還需要打開HPM開發(fā)板的SDXC驅(qū)動:

92f876d0-0a07-11ed-9ade-dac502259ad0.png

修改完成,Ctrl+S保存修改。

三、編譯、燒錄、運行

3.1 編譯項目代碼

完成上面的配置工作后,Ctrl+B編譯項目:

9325d774-0a07-11ed-9ade-dac502259ad0.png

編譯完成后,可以在控制臺看到Flash和RAM占用情況。

3.2 燒錄程序

編譯成功后,我們需要將生成的二進(jìn)制程序代碼文件燒錄到開發(fā)板上。

開始測試之前,我們需要先將MicroSD卡插入開發(fā)板(RT-Thread目前還不支持SD卡熱插拔):

934636c2-0a07-11ed-9ade-dac502259ad0.jpg

插入SD卡后,將開發(fā)板通過USB線連接到PC。

此時,我們可以看到,正面的SD卡指示燈已經(jīng)亮起了:

935f423e-0a07-11ed-9ade-dac502259ad0.jpg

3.3 運行程序

接著,回到RT-Thread Studio,用Ctrl+Alt+D快捷鍵,將編譯好的程序燒錄到開發(fā)板上。

燒錄完成后,我們就可以在串口終端看到——已經(jīng)檢查到sd卡了:

93668eb8-0a07-11ed-9ade-dac502259ad0.png

可以看到,RT-Thread版本信息已經(jīng)打印出來了,同時看到了熟悉的msh提示符。

基于RT-Thread的項目默認(rèn)情況下開啟了msh,并且將UART0串口初始化為console輸入輸出。因此,我們可以在串口中斷軟件中,輸入msh支持的命令,查看命令的輸出。

四、在msh中操作SD卡

燒錄完成后,我們就可以在RT-Thread的msh環(huán)境中愉快地操作SD卡了。本節(jié)我將在串口終端中演示——如何在HPM6750開發(fā)板上使用RT-Thread提供的文件系統(tǒng)、目錄、文件操作相關(guān)命令。

首先,我們可以通過help命令查看此時msh中支持哪些命令:

938b0b6c-0a07-11ed-9ade-dac502259ad0.png

可以看到,這里有很多命令,我們接下將會使用到的有:

文件操作命令——ls/cp/mv/cat/rm

可以寫文件的命令——echo

目錄操作命令——cd/pwd/mkdir

文件系統(tǒng)操作命名——mkfs/mount/umount/df

使用過Linux的朋友應(yīng)該會對上面這些命令感到熟悉。

接下來,我將會在msh中演示——如何通過這些命令對SD卡進(jìn)行一些操作。

4.1 查看塊設(shè)備

我們可以在串口終端內(nèi)使用list_device命令查看設(shè)備:

93a61d26-0a07-11ed-9ade-dac502259ad0.png

此時,我們可以看到已經(jīng)有了一個名為“sd0”的塊設(shè)備。

4.2 格式化SD卡

初次使用的SD卡,可能沒有文件系統(tǒng),或者文件系統(tǒng)不是FAT格式的,需要將SD卡格式化為FAT文件系統(tǒng),RT-Thread后續(xù)才能掛載成功。

注意:格式化操作會導(dǎo)致SD卡上已有數(shù)據(jù)全部丟失;因此,在執(zhí)行格式化操作前,請確認(rèn)SD卡上沒有重要數(shù)據(jù),或者你已對SD卡上的重要數(shù)據(jù)進(jìn)行了備份。

接下來,我們可以通過mkfs命令對SD卡進(jìn)行格式化:

93c51fe6-0a07-11ed-9ade-dac502259ad0.png

mkfs執(zhí)行會持續(xù)一段時間,請耐心等待(具體因不同SD卡容量和速度等級而異,我的32GB卡消耗了幾秒鐘)。

4.3 掛載文件系統(tǒng)

接下來,我們可以在串口終端內(nèi)使用mount命令將SD卡掛載到根目錄:

93d5feba-0a07-11ed-9ade-dac502259ad0.png

這里,我先使用了mount -h查看了mount命令的用法。

另外需要注意的是,fstype參數(shù)使用的是elm(這里的elm實際就是FATFS)。

4.4 簡單的文件讀寫測試


前面提到echo命令比較特殊,可以寫文件,接下來使用echo寫文件,cat讀文件,ls查看文件:

93ee583e-0a07-11ed-9ade-dac502259ad0.png

這里使用了ls、echo、cat命令,進(jìn)行了文件讀寫操作。

4.5 簡單的目錄操作測試

接下來,進(jìn)行簡單的目錄操作演示。

940179f0-0a07-11ed-9ade-dac502259ad0.png

這里首先使用了pwd查看當(dāng)前工作目錄,然后演示了ls、mkdir、cd命令;

如果你是對RT-Thread了解不多的朋友,看到這里可能會非常驚奇——在一個可以運行在單片機(jī)RTOS上,居然可以這么方便的進(jìn)行文件系統(tǒng)、目錄、文件操作。

五、業(yè)務(wù)代碼中使用SD卡

前面都是使用命令進(jìn)行相關(guān)操作的,實際項目中往往需要在業(yè)務(wù)代碼中使用前面的那些功能,包括文件系統(tǒng)、目錄、文件操作。

5.1 使用代碼進(jìn)行相關(guān)操作

所謂“授人以魚不如授人以漁”,這里不準(zhǔn)備展開介紹前面所有命令行操作如何用代碼實現(xiàn),只介紹如何找到前面那些操作的源碼實現(xiàn)??傮w來說,主要有兩個方法:

grep大法

grep結(jié)合正則表達(dá)式進(jìn)行搜索

使用其他你熟悉的工具也是可以的

RTFSC(read the f**king source code)

根據(jù)搜索到的位置打開文件并閱讀源碼

對,會這兩招就可以了。

下面以搜索mount命令的實現(xiàn)代碼為例進(jìn)行演示。我們知道RT-Thread的msh命令是通過MSH_開頭的宏注冊到命令列表中的。因此可以搜索:

941e7a00-0a07-11ed-9ade-dac502259ad0.jpg

接下來,就可以打開./rt-thread/components/finsh/msh_file.c文件,跳轉(zhuǎn)到526進(jìn)行查看了:

94292518-0a07-11ed-9ade-dac502259ad0.jpg

可以看到這里調(diào)用了dfs_munt實現(xiàn)了文件系統(tǒng)掛載功能。

六、完善細(xì)節(jié)

絕大部分文件系統(tǒng)都有文件的創(chuàng)建、修改時間信息,F(xiàn)ATFS也不例外。因此,為了能夠讓SD卡上文件具有正確的創(chuàng)建、修改時間信息正常,建議使用SD卡的同時啟用RTC(Real Time Clock)以及NTP(Network Time Protocol)對時功能。本節(jié)主要介紹如何開啟RT-Thread的RTC和NTP對時功能。

6.1 使能RTC

在RT-Thread系統(tǒng)中,RTC的實現(xiàn)有兩種,一種是純軟件方式,另一種是硬件方式。

軟件方式的RTC,RT-Thread內(nèi)核已經(jīng)有了完整的實現(xiàn),一般用于沒有硬件RTC的設(shè)備上(或者硬件RTC驅(qū)動還沒有支持的情況下)。RT-Thread的硬件RTC,和其他硬件功能類似,有RTC驅(qū)動框架和RTC硬件驅(qū)動兩部分。其中,RTC驅(qū)動框架已有RT-Thread內(nèi)核實現(xiàn),RTC硬件驅(qū)動由廠商實現(xiàn)(一般通過BSP或者CSP提供出來)。

軟件模擬RTC以及RTC驅(qū)動框架的配置項可以通過RT-Thread Settings進(jìn)行設(shè)置:

943d16b8-0a07-11ed-9ade-dac502259ad0.png

HPM6750的BSP中已經(jīng)實現(xiàn)了RTC硬件驅(qū)動,我們可以在RT-Thread Settings中設(shè)置硬件RTC功能:

945dcd86-0a07-11ed-9ade-dac502259ad0.png

6.2 使能網(wǎng)絡(luò)和NTP——實現(xiàn)聯(lián)網(wǎng)自動對時

使能WiFi聯(lián)網(wǎng),具體操作參考我此前的帖子:http://bbs.eeworld.com.cn/thread-1206656-1-1.html 或參考 (HPM6750 測評 | 不寫一行代碼,兩分鐘實現(xiàn)WiFi聯(lián)網(wǎng))

RT-Thread的netutils軟件包中包含了NTP功能,使能NTP功能可以參考帖子中使能netutils軟件包中ifconfig相關(guān)的介紹。

七、本篇小結(jié)


可以看到,在基于RT-Thread系統(tǒng)的項目中,我們沒有添加任何代碼,就可以實現(xiàn)對HPM6750開發(fā)板上的SD卡進(jìn)行文件系統(tǒng)、目錄、文件相關(guān)操作。這是因為RT-Thread系統(tǒng)本身已經(jīng)積累了大量優(yōu)秀開發(fā)者的工作成果,其中包括SDIO驅(qū)動框架、FATFS支持、芯片廠的SDXC驅(qū)動。所謂的“站在巨人的肩膀上”,大概就是這種體驗吧。

本篇就到這里了,感謝你的閱讀,下次再會。

(本文摘選自EEWORLD@xusiwei1236)

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

    關(guān)注

    5210

    文章

    20680

    瀏覽量

    337427
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    請問使用HPM6750連續(xù)讀取norflash,程序會跑飛,是什么原因?求解

    使用這個讀norflash函數(shù) int norflash_read(uint32_t offset, void *buf, uint32_t size_bytes) { hpm
    發(fā)表于 04-08 23:12

    hpm6750 高頻發(fā)送 udp_send 時 過一段時間就返回ERR_INPROGRESS

    現(xiàn)在發(fā)生的異常是 運行環(huán)境是 hpm6750 開發(fā)的一個例程 是用lwip 裸機(jī)(無os) 每500us 發(fā)送一個 udp請求 開始運行的時候正常
    發(fā)表于 04-06 21:49

    固件燒錄速度實測:JTAG比UART快6.8倍

    推出的工業(yè)級LGA封裝核心板,搭載先楫半導(dǎo)體HPM6450/HPM6750芯片,集成4路CANFD、雙千兆以太網(wǎng)及15路串口等工業(yè)通信接口,適用于PLC、運動控制、
    的頭像 發(fā)表于 01-27 11:34 ?462次閱讀
    固件燒錄<b class='flag-5'>速度</b>實測:JTAG比UART快6.8倍

    hpm6750 兩個板載網(wǎng)卡+usbcdc_ecm網(wǎng)卡,多次調(diào)用ftp,切換網(wǎng)卡后,報錯

    hpm6750 兩個板載網(wǎng)卡+usbcdc_ecm網(wǎng)卡,多次調(diào)用ftp,多次切換網(wǎng)線后,出現(xiàn)報錯pbuf_free:p-&gt;ref&gt;0;有時候出現(xiàn)[E
    發(fā)表于 01-19 16:05

    超高精度 MEMS 加速度計:極致性能的微型傳感新標(biāo)桿

    本帖最后由 jf_58979705 于 2026-1-6 15:47 編輯 在傳統(tǒng)加速度傳感器難以支撐高精尖領(lǐng)域需求,MEMS加速度傳感器憑借微機(jī)電技術(shù)橫空出世。而在MEMS慣性傳感領(lǐng)域
    發(fā)表于 01-06 15:38

    程序運行速度很慢如何優(yōu)化?

    提升時鐘頻率: 在MCU允許的范圍內(nèi)適當(dāng)提高主頻。 使用硬件加速: 利用MCU自帶的硬件加速器(如CRC計算單元、加密引擎、DMA控制器)。 使用DMA: 將數(shù)據(jù)搬運(內(nèi)存<->外設(shè),內(nèi)存<->內(nèi)存)交給DMA,釋放CPU資源。 優(yōu)化算法: 選擇時間復(fù)雜度更低的算法。避免不必要的循環(huán)和重復(fù)計算。 減少函數(shù)調(diào)用開銷: 對于頻繁調(diào)用的小函數(shù),考慮內(nèi)聯(lián)(inline)。 優(yōu)化數(shù)據(jù)結(jié)構(gòu): 使用更高效的數(shù)據(jù)結(jié)構(gòu)(如用查表代替復(fù)雜計算)。對齊數(shù)據(jù)訪問。 編譯器優(yōu)化: 啟用合適的優(yōu)化等級(如-O2, -O3)。注意調(diào)試時可能需要降低優(yōu)化。 檢查中斷頻率: 過高頻率的中斷會占用大量CPU時間。優(yōu)化ISR代碼,使其盡可能短小精悍。能合并的中斷盡量合并。 使用RTOS特性: 如果使用了RTOS,確保任務(wù)優(yōu)先級設(shè)置合理,避免高優(yōu)先級任務(wù)長時間阻塞低優(yōu)先級任務(wù)。利用信號量、消息隊列等高效通信機(jī)制。
    發(fā)表于 11-17 06:12

    開發(fā)者分享 | HPM5E-EC-DEV:基于HPM5E00的EtherCAT開發(fā)板分享

    Azure一名業(yè)余單片機(jī)愛好者,平時喜歡折騰各種開發(fā)板和新出的MCU。本職工作是一名軟件工程師,日常主要從事軟件應(yīng)用開發(fā),更多是和系統(tǒng)、應(yīng)用打交道。相比工作里的軟件世界,更喜歡在業(yè)余時間動手做一些
    的頭像 發(fā)表于 10-29 10:15 ?2223次閱讀
    <b class='flag-5'>開發(fā)</b>者分享 | <b class='flag-5'>HPM</b>5E-EC-DEV:基于<b class='flag-5'>HPM</b>5E00的EtherCAT<b class='flag-5'>開發(fā)</b>板分享

    HPM5E00EVK,ecat_io例程,卡在DisableSyncManChannel函數(shù)

    向大家請教一個問題。如題, 硬件:HPM5E00EVK 開發(fā)環(huán)境:win10, embedded studio 軟件:sdk_env_v1.10.0,ethercat/ecat_io 硬件連接
    發(fā)表于 09-25 15:06

    【作品合集】玄鐵Banana Pi BPI-RV2開發(fā)測評

    玄鐵Banana Pi BPI-RV2開發(fā)測評作品合集 產(chǎn)品介紹: Banana Pi BPI-RV2 開源網(wǎng)關(guān)是?款基于矽昌 SF21H8898 SoC的設(shè)備,1 × 2.5 G WAN?絡(luò)接
    發(fā)表于 09-17 10:58

    hpm的vscode開發(fā)環(huán)境搭建openocd燒錄問題求解

    最近嘗試搭建基于vscode的hpm芯片開發(fā)環(huán)境,遇到一些問題,求大佬們幫忙看看。 使用hpm6e00evk開發(fā)板sdk_env_1.10.0,cmake、ninja、openocd和
    發(fā)表于 09-09 09:55

    速度與激情的碰撞:直線電機(jī)如何實現(xiàn)超高速運行

    在工業(yè)自動化領(lǐng)域,生產(chǎn)效率往往與運動速度直接掛鉤。無論是半導(dǎo)體芯片的制造,還是鋰電池的極耳切割,都對運動系統(tǒng)的速度提出了近乎苛刻的要求。傳統(tǒng)“旋轉(zhuǎn)電機(jī)+滾珠絲杠”的傳動方案受其機(jī)械結(jié)構(gòu)的先天限制,在
    的頭像 發(fā)表于 08-29 09:48 ?879次閱讀

    HPM monitor studio 只能在 hpm芯片+hpm_sdk 的組合下才能用嗎?

    使用 hpm6200evk開發(fā)板,但未使用hpm_sdk。 然后編譯的固件elf無法在hpm monitor studio解析成功。所以說必須要使用
    發(fā)表于 08-28 09:36

    如何使用CYW920829M2EVK-02 將 UART 速度設(shè)置為 8Mbps?

    我們正在測試CYW920829M2EVK的uart速度。正如 CYW20829 的數(shù)據(jù)表所述,uart 的運行速度最高可達(dá) 8 Mbps。 我們只能實現(xiàn)高達(dá) 3Mbps 的 uart 速度。有沒有什么方法可以配置 uart 來實
    發(fā)表于 07-17 08:17

    同一水平的 RISC-V 架構(gòu)的 MCU,和 ARM 架構(gòu)的 MCU 相比,運行速度如何?

    ARM 架構(gòu)與 RISC-V 架構(gòu)的 MCU 在同一性能水平下的運行速度對比,需從架構(gòu)設(shè)計原點、指令集特性及實際測試數(shù)據(jù)展開剖析。以 ARM Cortex-M33 這類 ARMv8M 架構(gòu)核心與采用
    的頭像 發(fā)表于 07-02 10:29 ?1760次閱讀
    同一水平的 RISC-V 架構(gòu)的 MCU,和 ARM 架構(gòu)的 MCU 相比,<b class='flag-5'>運行速度</b>如何?

    RVCT編譯器是否比GNU的編譯器的代碼執(zhí)行速度更快?

    ,是rvct3.1還是rvct4.0?如何把rvct編譯器集成到ide中? 2、RVCT編譯器是否比GNU的編譯器的代碼執(zhí)行速度更快?
    發(fā)表于 05-08 07:49
    嘉祥县| 金昌市| 南召县| 陇西县| 太仆寺旗| 新沂市| 平顺县| 察隅县| 九江县| 太湖县| 绥化市| 旬邑县| 南通市| 兴文县| 白朗县| 腾冲县| 高要市| 阳东县| 清原| 太谷县| 仲巴县| 仙桃市| 同心县| 奉贤区| 广水市| 同仁县| 铜鼓县| 礼泉县| 延边| 沙雅县| 阜城县| 卓尼县| 敦煌市| 从江县| 明水县| 毕节市| 抚州市| 姚安县| 富蕴县| 莆田市| 泰顺县|