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

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

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

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

如何通過SD卡和ymodem串口升級(jí)固件

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來源:RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 2020-09-04 14:32 ? 次閱讀

1.文件系統(tǒng)簡(jiǎn)介

1.1 DFS 簡(jiǎn)介

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

1.2 DFS 框架

RT-Thread DFS 組件的主要功能特點(diǎn)有:

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

支持多種類型的文件系統(tǒng),如 FatFS、RomFS、DevFS 等,并提供普通文件、設(shè)備文件、網(wǎng)絡(luò)文件描述符的管理。

支持多種類型的存儲(chǔ)設(shè)備,如 SD Card、SPI Flash、Nand Flash 等。

DFS 的層次架構(gòu)如下圖所示,主要分為 POSIX 接口層、虛擬文件系統(tǒng)層和設(shè)備抽象層。

1.3 elm-FAT文件系統(tǒng)簡(jiǎn)介

FatFs 是一個(gè)通用的文件系統(tǒng)(FAT/exFAT)模塊,用于在小型嵌入式系統(tǒng)中實(shí)現(xiàn)FAT文件系統(tǒng)。

1.4 使用流程

初始化 DFS 組件。

初始化具體類型的文件系統(tǒng)。

在存儲(chǔ)器上創(chuàng)建塊設(shè)備。

格式化塊設(shè)備。

掛載塊設(shè)備到 DFS 目錄中。

當(dāng)文件系統(tǒng)不再使用,可以將它卸載

1.5 注冊(cè)elm-FAT文件系統(tǒng)

elm-FAT文件系統(tǒng)注冊(cè)過程如下圖所示:

1.6 掛載elm-FAT文件系統(tǒng)

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);

在文件系統(tǒng)操作表中找出elm文件系統(tǒng)

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

檢查elm文件系統(tǒng)是否已經(jīng)掛載在文件系統(tǒng)表中

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

注冊(cè)文件系統(tǒng)

調(diào)用elm文件系統(tǒng)的掛載接口

1.7 測(cè)試elm-FAT文件系統(tǒng)

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

2.設(shè)計(jì)界面

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


依然利用TouchGFX的MVP架構(gòu),將UI命令傳遞到后臺(tái)。
參考前邊的文章:【DIY數(shù)字儀表】使用TouchGFX的MVP架構(gòu)來實(shí)現(xiàn)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

此代碼用來根據(jù)設(shè)置的環(huán)境變量選擇從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命令也能升級(jí)固件,將SD的圖片資源拷貝到spi flash的功能


updata命令默認(rèn)將從sd卡中讀取ER_IROM1.rbl固件,將固件下載到download分區(qū)。


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

5.生成bin文件

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


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

6.制作BootLoader

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


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

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

    關(guān)注

    2

    文章

    566

    瀏覽量

    64035
  • 串口
    +關(guān)注

    關(guān)注

    14

    文章

    1557

    瀏覽量

    76826
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1304

    瀏覽量

    40296

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    LS10串口數(shù)據(jù)庫模塊外擴(kuò)SD功能

    LS10串口數(shù)據(jù)庫模塊外擴(kuò)SD功能
    的頭像 發(fā)表于 11-23 09:42 ?242次閱讀
    LS10<b class='flag-5'>串口</b>數(shù)據(jù)庫模塊外擴(kuò)<b class='flag-5'>SD</b><b class='flag-5'>卡</b>功能

    工業(yè)級(jí)SD:穩(wěn)健發(fā)展,未來可期

    多次技術(shù)革新和升級(jí)。 其中,工業(yè)級(jí)SD以其堅(jiān)固、可靠、高性能的特點(diǎn),在工業(yè)領(lǐng)域得到了廣泛應(yīng)用。在SD的早期發(fā)展階段,即
    的頭像 發(fā)表于 11-07 10:16 ?326次閱讀
    工業(yè)級(jí)<b class='flag-5'>SD</b><b class='flag-5'>卡</b>:穩(wěn)健發(fā)展,未來可期

    3568F-Linux系統(tǒng)啟動(dòng)制作及系統(tǒng)固化

    磁盤工具的“第二步:選擇功能模式”勾選 “固件升級(jí)”,點(diǎn)擊“選擇固件”選擇目標(biāo)鏡像文件,點(diǎn)擊“開始創(chuàng)建”,在彈出的窗口 中點(diǎn)擊“是(M)”,制作SD
    發(fā)表于 07-25 15:46

    請(qǐng)問使用ymodem_ota時(shí)如何更換串口

    現(xiàn)在使用串口1可以正常使用ymodem_ota進(jìn)行固件升級(jí),但是現(xiàn)在項(xiàng)目需要使用串口1來進(jìn)行其他作用,求怎么把
    發(fā)表于 07-15 06:09

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

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

    請(qǐng)問如何通過ESP32S3的USB進(jìn)行固件升級(jí)

    如果通過USB口,在不需要按IO0的情況下,進(jìn)行升級(jí)。目前測(cè)試ESP-BOX的固件可以進(jìn)行升級(jí)通過VCS的IDF創(chuàng)建的測(cè)試用例,也可以自動(dòng)
    發(fā)表于 06-13 06:01

    求助,通過UART進(jìn)行基本設(shè)備固件升級(jí)的問題求解

    我正在研究設(shè)備固件升級(jí)代碼 我可以修改代碼,通過修改 common.mk 使其通過 UART 運(yùn)行固件
    發(fā)表于 05-28 07:45

    使用YMODEM協(xié)議下的USART進(jìn)行上下位機(jī)的數(shù)據(jù)傳輸遇到的疑問求解

    樓主想?yún)⒖糀N2557的例程,使用YMODEM協(xié)議下的USART進(jìn)行上下位機(jī)的數(shù)據(jù)傳輸,但發(fā)現(xiàn)所有可參考的例子都是使用PC機(jī)的超級(jí)終端通過串口向下位機(jī)發(fā)送,可樓主的項(xiàng)目中是攝像機(jī)(上位機(jī))和控制板(下位機(jī))
    發(fā)表于 05-17 06:55

    stm32使用SD保存HEX升級(jí)芯片內(nèi)部flash,需要轉(zhuǎn)換成BIN文件嗎?

    請(qǐng)問下:stm32 自己使用SD保存HEX升級(jí)芯片內(nèi)部flash,需要轉(zhuǎn)換成BIN文件嗎?
    發(fā)表于 05-09 06:15

    ZDP1440系列小技巧—如何OTA差分升級(jí)顯示素材?

    ZDP1440是一款基于開源GUI引擎的圖像顯示專用驅(qū)動(dòng)芯片,支持U盤、SD本地升級(jí)UI固件,同時(shí)也支持通過UART/SPI方式進(jìn)行OTA
    的頭像 發(fā)表于 05-06 14:01 ?940次閱讀
    ZDP1440系列小技巧—如何OTA差分<b class='flag-5'>升級(jí)</b>顯示素材?

    3562-Linux系統(tǒng)啟動(dòng)制作及系統(tǒng)固化

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

    SD連接器是什么

    SD連接器是數(shù)字設(shè)備中用于連接SD的一種硬件接口。隨著數(shù)字設(shè)備的普及,SD已成為存儲(chǔ)數(shù)據(jù)的
    的頭像 發(fā)表于 03-04 10:48 ?7465次閱讀

    sd中文資料

    電子發(fā)燒友網(wǎng)站提供《sd中文資料.pdf》資料免費(fèi)下載
    發(fā)表于 03-04 09:54 ?3次下載

    sd是什么有什么用途 TFSD有什么區(qū)別

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

    sd是什么有什么用途 TFSD有什么區(qū)別

    SD和TF都是一種可移動(dòng)存儲(chǔ)設(shè)備,用于存儲(chǔ)數(shù)據(jù)和文件。它們?cè)谕庥^和使用方面有些許差異,但兩者的用途和功能幾乎相同。下面將詳細(xì)介紹SD
    的頭像 發(fā)表于 01-25 10:44 ?5921次閱讀
    主站蜘蛛池模板: 最近中文字幕2019免费版日本| 久久国产乱子伦精品免费M| jzz大全18| 国产午夜精品一区二区理论影院| 久草在线福利视频在线播放| 欧美91精品久久久久网免费| 亚洲 欧洲 国产 日产 综合| 97亚洲狠狠色综合久久久久| 国产人妻人伦精品98| 欧美互交人妖247| 亚洲中久无码永久在线| 成人在线观看视频免费| 久久精品一区二区免费看| 少妇性饥渴BBBBBBBBB| 中国老头oldday tv| 国产一区二区三区内射高清 | 亚洲一区二区影院| 郭德纲于谦2012最新相声| 免费人成在线观看视频不卡| 亚洲精品免费视频| 国产成人a在一区线观看高清| 牛牛在线(正)精品视频| 中文字幕精品AV内射夜夜夜| 果冻传媒2021在线观看| 午夜神器老司机高清无码| 丰满人妻无码AV系列| 日本精品无码久久久久APP | 国产精品视频yy9099| 秋霞电影在线观看午夜伦| 99久久精品免费看国产一区二区三区 | 青草影院内射中出高潮-百度| 3D内射动漫同人资源在线观看| 解开美女胸衣2破解版| 亚洲狠狠97婷婷综合久久久久| 国产精品av| 偷拍自怕亚洲在线第7页| 高清午夜福利电影在线| 色偷偷影院| 夫妻主vk| 色色激情网| 国产精品AV色欲蜜臀在线|