女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

在HPM6750上使用RT-Thread驅動SD卡實現文件讀寫只需要三步:

配置FATFS和SDIO功能

編譯項目代碼

燒錄二進制到開發板

PS:本篇內容特點——實操性強,異常簡單,有手就行。

一、準備工作

1.1 準備好開發板和SD卡


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

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

1.2 創建RT-Thread項目

首先,使用RT-Thread Studio創建名為hpm_sdio_test的項目:

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

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

二、配置RT-Thread

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

2.1 打開FATFS和SDIO組件

創建項目后,打開RT-Thread Settings,開啟FATFS和SDIO配置:

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

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

為了方便觀察實驗現象,這里最好再打開SDIO組件的調試日志:

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

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

內核欄中的屬于內核組件配置,相關源碼位于rt-thread子目錄;

組件欄中的屬于系統組件配置,相關源碼位于rt-thread/components子目錄;

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

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

2.2 打開SDIO驅動


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

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

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

三、編譯、燒錄、運行

3.1 編譯項目代碼

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

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

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

3.2 燒錄程序

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

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

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

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

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

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

3.3 運行程序

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

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

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

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

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

四、在msh中操作SD卡

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

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

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

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

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

可以寫文件的命令——echo

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

文件系統操作命名——mkfs/mount/umount/df

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

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

4.1 查看塊設備

我們可以在串口終端內使用list_device命令查看設備:

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

此時,我們可以看到已經有了一個名為“sd0”的塊設備。

4.2 格式化SD卡

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

注意:格式化操作會導致SD卡上已有數據全部丟失;因此,在執行格式化操作前,請確認SD卡上沒有重要數據,或者你已對SD卡上的重要數據進行了備份。

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

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

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

4.3 掛載文件系統

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

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

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

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

4.4 簡單的文件讀寫測試


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

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

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

4.5 簡單的目錄操作測試

接下來,進行簡單的目錄操作演示。

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

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

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

五、業務代碼中使用SD卡

前面都是使用命令進行相關操作的,實際項目中往往需要在業務代碼中使用前面的那些功能,包括文件系統、目錄、文件操作。

5.1 使用代碼進行相關操作

所謂“授人以魚不如授人以漁”,這里不準備展開介紹前面所有命令行操作如何用代碼實現,只介紹如何找到前面那些操作的源碼實現。總體來說,主要有兩個方法:

grep大法

grep結合正則表達式進行搜索

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

RTFSC(read the f**king source code)

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

對,會這兩招就可以了。

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

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

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

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

可以看到這里調用了dfs_munt實現了文件系統掛載功能。

六、完善細節

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

6.1 使能RTC

在RT-Thread系統中,RTC的實現有兩種,一種是純軟件方式,另一種是硬件方式。

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

軟件模擬RTC以及RTC驅動框架的配置項可以通過RT-Thread Settings進行設置:

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

HPM6750的BSP中已經實現了RTC硬件驅動,我們可以在RT-Thread Settings中設置硬件RTC功能:

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

6.2 使能網絡和NTP——實現聯網自動對時

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

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

七、本篇小結


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

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

(本文摘選自EEWORLD@xusiwei1236)

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5152

    文章

    19676

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

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

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

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

    ,是rvct3.1還是rvct4.0?如何把rvct編譯器集成到ide中? 2、RVCT編譯器是否比GNU的編譯器的代碼執行速度更快?
    發表于 05-08 07:49

    重磅更新 | 先楫半導體HPM_SDK v1.9.0 發布

    版本更新概況[New]增加HPM6P00系列MCU以及hpm6p00evk支持[New]增加了開發板已知問題說明[Update]將全系列開發板VCore電壓調節至1.275V,
    的頭像 發表于 04-02 08:31 ?431次閱讀
    重磅更新 | 先楫半導體<b class='flag-5'>HPM</b>_SDK v1.9.0 發布

    HPM6E80 cherryusb_winusb10例程速度測試

    Hi,大家好,我最近用hpm6e80評估板做winusb的速度測試,發現usb的讀寫速度只有大約的 3.2MB/s,比普通USB速度低了很多,后面我用USB Packet Viewer
    發表于 03-30 15:03

    高速鏈路設計難?利用HPM6750雙千兆以太網透傳實現LED大屏實時控制

    HPM6750雙千兆以太網透傳方案演示LED大屏顯示系統利用發光二極管構成的點陣模塊或像素單元組成大面積顯示屏顯示字符、圖像等信息,具有低功耗、低成本、高亮度、長壽命、寬視角等優點,近年來隨著
    的頭像 發表于 02-08 13:45 ?998次閱讀
    高速鏈路設計難?利用<b class='flag-5'>HPM6750</b>雙千兆以太網透傳實現LED大屏實時控制

    開發者分享 | 適用于HPM的RustSBI實現

    HPMicro的MCU一直以高性能著稱,之前也一直有想在HPM的MCU上運行Linux的想法。直到看見Linux6.10中支持了RISC-V架構在S-mode中運行nommu內核*,才下定決心開始在
    的頭像 發表于 02-08 13:44 ?605次閱讀
    <b class='flag-5'>開發</b>者分享 | 適用于<b class='flag-5'>HPM</b>的RustSBI實現

    基于HPM_SDK_ENV開發應用程序的升級處理

    基于HPM_SDK_ENV開發應用程序的方式HPM_SDK_ENV是先楫半導體MCU的Windows集成開發環境,其包含HPM_SDK,工具
    的頭像 發表于 02-08 13:38 ?1023次閱讀
    基于<b class='flag-5'>HPM</b>_SDK_ENV<b class='flag-5'>開發</b>應用程序的升級處理

    光纖寬帶的速度測試方法

    的問題。 1. 理解光纖寬帶速度 在進行速度測試之前,了解光纖寬帶的速度參數是必要的。光纖寬帶的速度通常以Mbps(兆比特每秒)或Gbps(吉比特每秒)來衡量。
    的頭像 發表于 01-02 09:41 ?2103次閱讀

    自己做的hpm5321和6750板子怎么都沒有1.1的輸出呢?

    新手硬件開發求分析 。 不知道是layout的關系還是什么原因呢,主要IC內部dcdc部分跟其他引腳配置沒關系吧,對比了官方開發板和野火的開發版沒什么差,難道電容規格會影響嗎? 5321原理圖,3.3上電正常,無1.1v輸出
    發表于 12-14 11:48

    如何做一個hpm6750evk2的bootloader?

    我正在做一個hpm6750evk2的bootloader。設計很簡單,boot工程代碼只做跳轉到1M后的APP工程代碼處,APP工程就是做的一個點燈的程序而已,boot、APP工程都是跑
    發表于 10-23 19:01

    HPM6750 Bootloader設計

    我正在做一個hpm6750evk2的bootloader。設計很簡單,boot工程代碼只做跳轉到1M后的APP工程代碼處,APP工程就是做的一個點燈的程序而已,boot、APP工程都是跑
    發表于 10-23 18:59

    6G測試速度達938Gbps,比5G速度快5000倍

    智能手機網絡連接速度的5000倍。典型的5G運行速度約為200Mbps,而在實際使用中,由于信號連接問題,其提供的速度往往遠低于100Mbps。
    的頭像 發表于 10-22 16:27 ?1267次閱讀

    HPM6750evkmini如何實現可信的執行環境?

    HPM6700的datasheet中的1.2.15 信息安全系統有提到“基于BOOT ROM 的安全啟動機制,支持加密啟動,支持可信的執行環境”,請問可信的執行環境如何實現的?有相關的Demo或者資料嗎?是類似于TFM這樣的嗎?
    發表于 09-25 09:27

    hpm_manufacturing_tool linux 版本 選擇 hidraw 連接等待超時

    _manufacturing_tool_gui linux 版本 選擇 hidraw 連接 HPM6750 芯片,能識別到 hidraw 設備,單擊連接是提示重啟芯片這個時候會等待超時然后軟件報錯,此時查看 lsusb 設備是檢測不到 hpm6750
    發表于 08-07 16:43