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

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

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

3天內不再提示

如何通過SD卡和ymodem串口升級固件

RTThread物聯網操作系統 ? 來源:RTThread物聯網操作系統 ? 2020-09-04 14:32 ? 次閱讀

1.文件系統簡介

1.1 DFS 簡介

DFS( Device File System)是一種抽象的文件機制,RT-Thread中對文件系統的相關操作實際上都是通過操作DFS實現,也就是說DFS是對各種文件系統的抽象。DFS使的其他部分無須關心不同文件系統之間的差異,使得RT-Thread可以支持多種類型的文件系統。

1.2 DFS 框架

RT-Thread DFS 組件的主要功能特點有:

為應用程序提供統一的 POSIX 文件和目錄操作接口:read、write、poll/select 等。

支持多種類型的文件系統,如 FatFS、RomFS、DevFS 等,并提供普通文件、設備文件、網絡文件描述符的管理。

支持多種類型的存儲設備,如 SD Card、SPI Flash、Nand Flash 等。

DFS 的層次架構如下圖所示,主要分為 POSIX 接口層、虛擬文件系統層和設備抽象層。

1.3 elm-FAT文件系統簡介

FatFs 是一個通用的文件系統(FAT/exFAT)模塊,用于在小型嵌入式系統中實現FAT文件系統。

1.4 使用流程

初始化 DFS 組件。

初始化具體類型的文件系統。

在存儲器上創建塊設備。

格式化塊設備。

掛載塊設備到 DFS 目錄中。

當文件系統不再使用,可以將它卸載

1.5 注冊elm-FAT文件系統

elm-FAT文件系統注冊過程如下圖所示:

1.6 掛載elm-FAT文件系統

1voidsd_mount(void*parameter) 2{ 3while(1) 4{ 5rt_thread_mdelay(500); 6if(rt_device_find("sd0")!=RT_NULL) 7{ 8if(dfs_mount("sd0","/fatfs","elm",0,0)==RT_EOK) 9{ 10LOG_I("sdcardmountto'/fatfs'"); 11break; 12} 13else 14{ 15LOG_W("sdcardmountto'/fatfs'failed!"); 16} 17} 18} 19} 20 21intstm32_sdcard_mount(void) 22{ 23rt_thread_ttid; 24 25tid=rt_thread_create("sd_mount",sd_mount,RT_NULL, 261024,RT_THREAD_PRIORITY_MAX-2,20); 27if(tid!=RT_NULL) 28{ 29rt_thread_startup(tid); 30} 31else 32{ 33LOG_E("createsd_mountthreaderr!"); 34} 35returnRT_EOK; 36} 37INIT_APP_EXPORT(stm32_sdcard_mount);

在文件系統操作表中找出elm文件系統

檢查"/fatfs"路徑是否存在

檢查elm文件系統是否已經掛載在文件系統表中

檢查文件系統表是否有空余,如果有,把空余地址指向elm文件系統

注冊文件系統

調用elm文件系統的掛載接口

1.7 測試elm-FAT文件系統

在根目錄下使用ls命令,可以查看目錄:

2.設計界面

使用TouchGFX 4.14.0 Designer添加設置界面。增加進度條,和兩個按鈕,以及固件版本和更新時間的記錄(記錄環境變量使用的是easyflash軟件包)。我這個界面設計的比較簡陋,重在實現功能,審美好的人,歡迎重新設計這個界面。


依然利用TouchGFX的MVP架構,將UI命令傳遞到后臺。
參考前邊的文章:【DIY數字儀表】使用TouchGFX的MVP架構來實現GUI和硬件的雙向交互(2)

3.添加sd卡或者spi flash拷貝到SDRAM的代碼

1boolTouchGFXHAL::blockCopy(void*RESTRICTdest,constvoid*RESTRICTsrc,uint32_tnumBytes) 2{ 3uint32_tdataOffset=(uint32_t)src; 4if(dataOffset>=0x90000000&&dataOffset

此代碼用來根據設置的環境變量選擇從sd卡還是spi flash拷貝圖片。

4.添加msh命令

1#ifdefRT_USING_FINSH 2#include 3/*exporttofinsh*/ 4FINSH_FUNCTION_EXPORT(ReadUpdataToSpiflash,ReaddataToSpiflashtest); 5 6#ifdefFINSH_USING_MSH 7staticvoidcmd_updata(intargc,char*argv[]) 8{ 9char*filename; 10 11if(argc==2) 12{ 13filename=argv[1]; 14} 15else 16{ 17filename=DEFAULT_FILENAME; 18recv_partition=DEFAULT_DOWNLOAD_PART; 19LOG_I("Defaultsavefirmwareondownloadpartition. "); 20} 21ReadUpdataToSpiflash(filename); 22} 23FINSH_FUNCTION_EXPORT_ALIAS(cmd_updata,__cmd_updata,ReaddataToSpiflashtest); 24#endif/*FINSH_USING_MSH*/ 25#endif/*RT_USING_FINSH*/

添加msh命令,使通過msh命令也能升級固件,將SD的圖片資源拷貝到spi flash的功能


updata命令默認將從sd卡中讀取ER_IROM1.rbl固件,將固件下載到download分區。


通過updata /ER_EROM1命令,可以將sd中的圖片資源拷貝到tgfx分區(spi flash中圖片所在的位置)中

5.生成bin文件

keil中添加以下命令,然后便會在binary目錄下,生成外部flash和內部flash的bin文件:


利用rt_ota_packaging_tool工具,對內部flash燒錄bin文件進行加密和壓縮,然后將生成的ER_IROM1.rbl文件和ER_EROM1文件拷貝到SD卡中:

6.制作BootLoader

參考以下文章:STM32通用Bootloader——FOTA
rt_fota集成了ymodem的協議,在沒有app的情況下,也可以通過rt_fota的ymodem命令給固件和圖片資源升級。
ymodem_ota命令,默認將固件下載到download分區:


ymodem_ota -p tgfx命令,可以將sd中的圖片資源拷貝到tgfx分區中:

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

    關注

    2

    文章

    566

    瀏覽量

    63959
  • 串口
    +關注

    關注

    14

    文章

    1555

    瀏覽量

    76647
  • RT-Thread
    +關注

    關注

    31

    文章

    1293

    瀏覽量

    40228

原文標題:【DIY數字儀表】RT-Thread移植Touchgfx使用sd卡升級固件和圖片資源(4)

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    LS10串口數據庫模塊外擴SD功能

    LS10串口數據庫模塊外擴SD功能
    的頭像 發表于 11-23 09:42 ?224次閱讀
    LS10<b class='flag-5'>串口</b>數據庫模塊外擴<b class='flag-5'>SD</b><b class='flag-5'>卡</b>功能

    工業級SD:穩健發展,未來可期

    多次技術革新和升級。 其中,工業級SD以其堅固、可靠、高性能的特點,在工業領域得到了廣泛應用。在SD的早期發展階段,即
    的頭像 發表于 11-07 10:16 ?279次閱讀
    工業級<b class='flag-5'>SD</b><b class='flag-5'>卡</b>:穩健發展,未來可期

    請問使用ymodem_ota時如何更換串口?

    現在使用串口1可以正常使用ymodem_ota進行固件升級,但是現在項目需要使用串口1來進行其他作用,求怎么把
    發表于 07-15 06:09

    貼片式SD功能介紹【MK SD NAND】

    SDNAND,通常稱為嵌入式SD、貼片式TFSD Flash、直接貼裝SD、貼裝
    的頭像 發表于 07-05 17:03 ?807次閱讀
    貼片式<b class='flag-5'>SD</b><b class='flag-5'>卡</b>功能介紹【MK <b class='flag-5'>SD</b> NAND】

    請問如何通過ESP32S3的USB進行固件升級?

    如果通過USB口,在不需要按IO0的情況下,進行升級。目前測試ESP-BOX的固件可以進行升級,通過VCS的IDF創建的測試用例,也可以自動
    發表于 06-13 06:01

    求助,通過UART進行基本設備固件升級的問題求解

    我正在研究設備固件升級代碼 我可以修改代碼,通過修改 common.mk 使其通過 UART 運行固件
    發表于 05-28 07:45

    stm32使用SD保存HEX升級芯片內部flash,需要轉換成BIN文件嗎?

    請問下:stm32 自己使用SD保存HEX升級芯片內部flash,需要轉換成BIN文件嗎?
    發表于 05-09 06:15

    3562-Linux系統啟動制作及系統固化

    至 eMMC 的方 法。 使用瑞芯微創建升級磁盤工具 SDDiskTool_v1.74 可將 Linux 系統鏡像通過讀卡器固化 至 Micro SD 中,將 Micro
    的頭像 發表于 03-05 15:58 ?329次閱讀
    3562-Linux系統啟動<b class='flag-5'>卡</b>制作及系統固化

    SD連接器是什么

    SD連接器是數字設備中用于連接SD的一種硬件接口。隨著數字設備的普及,SD已成為存儲數據的
    的頭像 發表于 03-04 10:48 ?7154次閱讀

    sd中文資料

    電子發燒友網站提供《sd中文資料.pdf》資料免費下載
    發表于 03-04 09:54 ?3次下載

    sd是什么有什么用途 TFSD有什么區別

    SD(Secure Digital Card)是一種便攜式存儲設備,一般用于存儲照片、視頻、音頻和其他文件。SD是由SD協會開發的,并于
    的頭像 發表于 01-31 13:53 ?5396次閱讀

    sd是什么有什么用途 TFSD有什么區別

    SD和TF都是一種可移動存儲設備,用于存儲數據和文件。它們在外觀和使用方面有些許差異,但兩者的用途和功能幾乎相同。下面將詳細介紹SD
    的頭像 發表于 01-25 10:44 ?5339次閱讀

    SD的分類以及常見屬性

    SD(secure digital card)是SD協會開發的低成本,非易失性存儲格式(相比較于RAM,
    的頭像 發表于 01-18 10:17 ?6169次閱讀
    <b class='flag-5'>SD</b><b class='flag-5'>卡</b>的分類以及常見屬性

    TFSD的區別有哪些?

    TFSD卡在物理尺寸和一些應用領域上存在差異,但在技術規格上,特別是MicroSD,它們之間的差異相對較小。選擇TF還是SD卡通常取
    的頭像 發表于 01-18 09:17 ?1.1w次閱讀
    TF<b class='flag-5'>卡</b>和<b class='flag-5'>SD</b><b class='flag-5'>卡</b>的區別有哪些?

    MicroSD如何轉接成SD

    SD套主要用于將TF(MicroSD)轉接成SD的形狀,以實現TF卡在
    的頭像 發表于 01-11 14:00 ?1507次閱讀
    MicroSD<b class='flag-5'>卡</b>如何轉接成<b class='flag-5'>SD</b><b class='flag-5'>卡</b>?
    主站蜘蛛池模板: 久久精品亚洲AV无码三区观看| 男人插女人逼逼| 日本人娇小hd| 超碰在线观看| 三级黄色在线视频| 国产精品成人影院在线观看| 亚洲欧美偷拍视频一区| 老司机福利在视频在ae8| a级销魂美女| 校园男男高h小黄文| 久久精品熟女亚洲AV国产| G国产精品无马| 亚洲AV 日韩 国产 有码| 久久秋霞理论电影| 成人影片迅雷下载| 野草视频在线观看| 欧美性猛交AAA片免费观看| 国产午夜亚洲精品不卡电影| 97精品国偷拍自产在线| 我的家庭女教师| 老司机无码精品A| 国产精品久久久久久久久爆乳 | 99精产国品一二产区在线| 手机在线亚洲日韩国产| 六六影院午夜伦理| 国产亚洲精品久久久久久禁果TV| 99麻豆精品国产人妻无码| 亚洲大片免费观看| 青青草伊人久久| 久久精品热在线观看85| 国产精品乱人无码伦AV在线A| 99久久无码一区人妻A片蜜| 亚洲精品免费观看| 色迷迷电影| 欧美6O老妪与小伙交| 好男人在线视频| 国产AV精品无码免费看| CHINA末成年VIDEO学生| 一个人日本的视频免费完整版 | 国产成人啪精品视频免费网| 真实伦 乱|