色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

ART-Pi Bootloader分析,驅動SD卡和USB設備做TF讀卡器

冬至子 ? 來源:林夕 ? 作者:jf_1689824183.6148 ? 2023-10-09 10:30 ? 次閱讀

Bootloader解析

我看了Z_Tam大佬創建一個Bootloader工程,然后下載到板子上,然后也說明了BootLoader主要功能:BootLoader主要用于使用外掛Falsh存儲代碼時 初始化外掛的Flash、映射物理地址及地址跳轉。

ART - Pi使用QSPI連接8M的W25Q64,也有一個大佬回答這個bootloader是直接燒寫到內部128k的flash程序里,他的作用是引導應用程序到外部flash里面,main函數里面是直接跳轉到外部QSPI接口的flash。

我的理解:

ART-Pi有兩個存儲的空間,一個是存儲空間為 128K的flash ROM起始地址為 0x08000000,

1.jpg

ART-Pi從存儲空間為128K flash ROM開始運行代碼。

我們下載bootloader工程是為了將 bootloader下載到flash程序中,然后將應用程序下載到W25Q64中。

當ART-Pi上電后,先運行flash中的bootloader然后根據bootloader的引導再運行W25Q64中的應用程序。

總結:Bootloader的作用,以及什么時候使用Bootloader

作用: Bootloader在這里主要考慮內部flash空間不足,應用程序放在外部flahs也就是W25Q64中,需要通過Bootloader實現程序跳轉執行。

使用場景:flash中沒有bootloader,而我們的寫的項目代碼量又足夠大的情況下,也就是當我們需要執行到下載到W25Q64中的項目。理論情況下,項目代碼量足夠小的情況下可以直接下載到flash中運行的。

當flash中下載的是其它項目代碼,然后我們又將另一個項目代碼下載到起始地址為 0x90000000的W25Q64中,這個時候運行的是flash中的項目,并且W25Q64中的項目并不會執行。

所以在構建項目前應下載Bootloader工程到開發板中

創建一個基礎的LED工程

1.jpg

這個是基于已經下載完Bootloader工程之后。

然后編譯下載,打開串口之后可以看到打印

1.jpg

使能SDIO和虛擬文件系統

點擊RT-Thread Settings,并打開Fatfs和SDIO。

1.jpg

使能組件中的SDIO調試日志輸出,方便觀看。

1.jpg

并打開硬件中的SDIO1

1.jpg

然后保存配置,再次構建工程,并下載到板子上。

1.jpg

到這里,按照兩位大佬的文章應該是已經能正常識別SD卡,但是我這邊和評論區中一些小伙伴并沒有識別,這里是寫這個文章的一個重點。

原因:需在main函數中添加以下代碼

#include "drv_sdio.h"
int sdcard_mount(void)
{
rt_device_t device;
device = rt_device_find("sd0");
if (device == NULL)
{
mmcsd_wait_cd_changed(0);
sdcard_change();
mmcsd_wait_cd_changed(RT_WAITING_FOREVER);
device = rt_device_find("sd0");
}
return 0;
}
INIT_COMPONENT_EXPORT(sdcard_mount);

1.jpg

注意: sdcard_change()會報隱式聲明,我們在”drv_sdio.h”中聲明一下即可。這個時候再次編譯下載到開發板。

即可出現識別成功的現象。

1.jpg

然后我們添加掛載文件系統代碼:

int sd_init(void)
{
rt_thread_mdelay(500);//這段延時必須加上,系統上電過程中存在延時,否則會出現先掛載后注冊塊設備sd0的情況
//mkfs("elm","sd0");//掛在前需格式化
if(dfs_mount("sd0","/","elm",0,0)==0) //掛載文件系統,參數:塊設備名稱、掛載目錄、文件系統類型、讀寫標志、私有數據0
{
rt_kprintf("dfs mount successrn");
}
else
{
rt_kprintf("dfs mount failedrn");
}
return 0;
}
MSH_CMD_EXPORT(sd_init,sd_init);

這是沒有使用INIT_COMPONENT_EXPORT(),自動掛載是為了后面的TF卡作USB設備,后面會解釋。

1.jpg

然后再次編譯下載到開發板之后,使用list_device命令發現掛載成功。

1.jpg

然后先使用sd_init命令再使用ls命令就能查看TF卡里面的內容,接下了我又跟著做了USB設備作為TF讀卡器

1.jpg

TF設備作為讀卡器
1、打開RT-Thread Setting配置,”使用USB”。并改變設備類型,以及改變磁盤名,注意這個磁盤名默認為flash0,我們一定要改成sd0.

1.jpg

2.jpg

5、注意:和adaphoto大佬所說的一致,TF卡做USB設備的時候一開始上電的時候不能使sd0不能掛載文件系統也就是不能注冊到elm上,因為掛載到文件系統就不能掛載到USB的。所以在TF卡做USB設備的時候不執行sd_init()函數。

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

    關注

    2

    文章

    410

    瀏覽量

    39366
  • SD卡
    +關注

    關注

    2

    文章

    564

    瀏覽量

    63890
  • QSPI接口
    +關注

    關注

    0

    文章

    14

    瀏覽量

    3343
  • w25Q64
    +關注

    關注

    1

    文章

    15

    瀏覽量

    3017
  • ART-Pi
    +關注

    關注

    0

    文章

    23

    瀏覽量

    1297
收藏 人收藏

    評論

    相關推薦

    ART-Pi Smart開發板開箱及愛之初次體驗

    ART-Pi Smart 開發板初次嘗鮮,ART-Pi Smart開箱及初次體驗內置應用.
    的頭像 發表于 05-03 16:25 ?5022次閱讀
    <b class='flag-5'>ART-Pi</b> Smart開發板開箱及愛之初次體驗

    電腦相關的讀卡器

    移動磁盤”。但是,如果您取出存儲,“可移動磁盤”將消失。)如果你使用另外一個閱讀,這個問題不太可能發生。但是,它需要一個USB插座。提示:通過讀卡器
    發表于 09-16 16:51

    基于USBSD讀卡器設計

    你好,我想設計一個基于單片機的SD讀卡器,我可以用USB接口與我的PC機接口。有沒有參考設計?請分享,謝謝。 以上來自于百度翻譯 以下為原文 Hello, I want to d
    發表于 06-19 14:05

    BL8810替代GL823K代替GL823K方案SD/TF讀卡器方案

    BL8810替換GL823K低BOM讀卡器主控芯片方案,支持SD/TF ,性能穩定。BL8810搭配MA8601可以實現Typec轉USB+SD
    發表于 10-23 10:51

    USB 2.0讀卡器方案設計電路資料分享

    BL8810旺玖Prolific高度集成的單芯片解決方案設計的USB 2.0讀卡器.提供USB2.0和SD之間的高速數據傳輸SDHC、MiniSD、Micro
    發表于 11-06 17:01

    Art_Pi學習筆記匯總

    1、Art-Pi學習筆記1:驅動SDIO和USB設備TF
    發表于 03-18 14:27

    ART-PI在MDK中使用SDIO設備的方法

    一、ENV使能SDIO1.1.在kconfig增加配置因為ART-PI的SDIO2連接的是wifi,所以這里我們使用SDIO1。1.2.ENV中使能SDIO1.3.使能文件系統1.4.使用SD設備
    發表于 04-11 10:07

    使用ART-Pi ST-LINK的步驟教程

    等待升級完成后退出。查看 ART-Pi 調試的指示燈變成藍色。設備管理器能看到 J-LINK 的設備。3. 修改 ART-Pi 工程配置本
    發表于 04-11 10:10

    art-pibootloader進入到系統的時候非常慢是為什么

    我用 rt-studio 給art-pi 燒寫工程,有時候經常會遇到有些工程在燒寫之后,從bootloader進入系統的時候,非常的慢,要上十幾秒才能進入,這是為啥?有誰遇到過同樣的問題么?
    發表于 04-24 09:31

    Bootloader有何作用?什么時候使用Bootloader

    之后,使用list_device命令發現掛載成功。然后先使用sd_init命令再使用ls命令就能查看TF卡里面的內容,接下了我又跟著做了USB設備作為
    發表于 06-23 10:42

    sd讀卡器原理圖

    sd讀卡器原理圖
    發表于 02-02 22:05 ?1967次下載
    <b class='flag-5'>sd</b><b class='flag-5'>卡</b><b class='flag-5'>讀卡器</b>原理圖

    sd/tf/讀卡器速度測試軟件

    sd/tf速度測試軟件一個很小的軟件,用來測試TFSD
    發表于 03-21 21:34 ?247次下載
    <b class='flag-5'>sd</b><b class='flag-5'>卡</b>/<b class='flag-5'>tf</b><b class='flag-5'>卡</b>/<b class='flag-5'>讀卡器</b>速度測試軟件

    MAX14500–MAX14503 USBSD讀卡器

      MAX14500–MAX14503 USBSD讀卡器為帶有一個或兩個SD槽且支持全速
    發表于 11-11 09:19 ?1109次閱讀

    MA8621帶SD讀卡器USB HUB方案設計電路

    。 MA8621是一項創新,它集成了USB 2.0集線SD讀卡器的功能。讀卡器符合
    發表于 11-11 16:55 ?2066次閱讀
    MA8621帶<b class='flag-5'>SD</b><b class='flag-5'>讀卡器</b>的<b class='flag-5'>USB</b> HUB方案設計電路

    RT-Thread Studio驅動SD

    總結前言硬件平臺:RT-Thread ART-Pi STM32H750XBH6開發板 H750開發板開發軟件:RT-Thread Studio參考博客:RT-Thread Studio使用SDIO驅動SD
    發表于 12-27 19:13 ?20次下載
    RT-Thread Studio<b class='flag-5'>驅動</b><b class='flag-5'>SD</b><b class='flag-5'>卡</b>
    主站蜘蛛池模板: 亚洲AV久久无码精品九号软件| 人人模人人干| 男女疯狂一边摸一边做羞羞视频| 麻豆无人区乱码| 欧美性色xo影院69| 天天久久狠狠色综合| 亚洲成人免费观看| 影音先锋色av男人资源网| 95国产欧洲精华液| 大乳牛奶女magnet| 国产在线观看免费| 美女被黑人巨大进入| 琪琪see色原网站在线观看| 偷偷鲁青春草原视频分类| 亚洲精品卡2卡3卡4卡5卡区| 中文字幕精品视频在线| avtt天堂网2014| 国产人妻人伦精品A区| 久久精品综合网中文字幕| 欧美精品一卡二卡| 无码AV毛片色欲欧洲美洲| 伊人精品在线| 成年人在线免费观看视频网站| 国产乱码精品一区二区三区四川| 久久精品黄AA片一区二区三区| 欧美午夜a级精美理论片| 午夜理论片日本中文在线| 伊人久久青草| 各种肉黄浪荡故事集| 久草色在线| 日韩精品 电影一区 亚洲高清| 亚洲欧洲日本天天堂在线观看| 99久久久久国产精品免费| 国产精品久久精品视| 考好老师让你做一次H| 色宅男看片午夜大片免费看| 一扒二脱三插片在线观看| 刺激性视频黄页| 久久伊人免费| 亚色九九九全国免费视频| ankha成人|