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

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

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

3天內不再提示

使用Y modem協議進行瑞薩RX MCU OTA數據傳輸

瑞薩MCU小百科 ? 來源:瑞薩MCU小百科 ? 2025-07-29 11:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、Y modem協議

X modem是較早的文件傳輸協議。Y modem是X modem的改良版,有傳輸快速穩定優勢,通常所說的Y modem一般指YModem-1K。

bb2e3c28-6843-11f0-a6aa-92fbcf53809c.png

圖1 Y modem協議幀

二者核心差異可概括為下表:

bb424bfa-6843-11f0-a6aa-92fbcf53809c.png

點擊可查看大圖

二、基于X modem的OTA代碼修改

目前瑞薩官網提供的OTA代碼基于X modem協議(例如r20an0640ej樣例程序的System_BootLoader工程),改為Y modem協議需修改協議相關的傳輸邏輯、校驗邏輯、幀處理邏輯等部分。

01握手信號調整

X modem握手:

通常接收方可能以簡單ACK或特定字符(如有些實現中接收方發‘C’表示用CRC16校驗)啟動,邏輯相對簡單。

Y modem握手:

必須由接收方發起YMODEM_C(字符‘C’,ASCII碼0x43),發送方收到后才開始傳輸起始幀(含文件名、文件大)。

修改點:

新增函數void ymodem_send_c(void),用于發送Ymodem協議必需的0x43(‘C’)握手信號,通知發送方傳輸起始幀。

02起始幀結構與處理

X modem起始幀:

一般直接傳輸數據塊,無文件信息。

Y modem起始幀:

需將文件名、文件大小放入起始幀(以SOH133字節長度幀傳輸,包號固定0x00,包號反碼0xff)。

bb5b64fa-6843-11f0-a6aa-92fbcf53809c.png

圖2 Y modem起始幀

修改點:

定義Y modem起始幀結構體ymodem_start_frame_t

修改幀校驗函數uint8_t xmodem_check_frame (uint8_t* const p_xmodem_buff),增加對起始幀格式的校驗邏輯。

03數據幀接收處理

X modem數據幀:

幀頭為SOH(128字節塊)或STX(部分衍生版1024字節塊),現有代碼幀頭為SOH(128字節塊)。

Y modem數據幀:

幀頭以SOH(128字節信息塊)、STX(1024字節信息塊)區分,傳輸時需按規則填充數據。SOH幀如最后一包不足128字節時的填充0x1A處理,最后一幀長度仍為133字節;STX幀最后一包數據小于等于128字節以133字節幀長度發送,大于128字節小于等于1024字節,以1029長度幀發送,無效數據填充0x1A。

bb6cc7a4-6843-11f0-a6aa-92fbcf53809c.png

圖3 Y modem數據幀

修改點:

修改uint8_txmodem_check_frame(uint8_t* const p_xmodem_buff),修改數據幀的接收處理。

04結束幀處理

X modem結束幀:

一般發送EOT(0x04)字符,接收方回ACK即結束。

Y modem結束幀:

采用SOH133字節空包(數據區、校驗等填0x00)作為結束幀,需構建對應結束幀發送邏輯:

bb7e9efc-6843-11f0-a6aa-92fbcf53809c.png

圖4 Y modem結束幀

修改點:

修改uint8_t xmodem_rx_frame (uint8_t* p_xmodem_buff),對結束幀進行判斷,響應兩次EOT,分別回復NACK和ACK。

05校驗機制升級

X modem校驗:

使用校驗和或CRC16,目前X modem例程使用校驗和。

Y modem校驗:

Y modem強制規范使用CRC16校驗,且計算范圍明確為信息塊數據(不含幀頭、包號等)。需確保CRC16計算函數精準,修改原X modem可能存在的簡易校驗邏輯:

修改點:

新增static uint16_t CRC16_check (unsigned char *q,int len)函數,對數據進行CRC16校驗。

移除Xmodem校驗和邏輯,強制使用CRC16校驗。

06數據緩沖區配置

X modem數據緩沖配置:

XModem數據包會被送入一個由buffer.c控制的緩沖區。該緩沖區為循環緩沖區,即當到達緩沖區末尾時,會回環至起始位置。由于數據幀接收的數組從132字節變成1029字節,RAM開銷變大。

XModem例程里,每個packet132bytes(128數據+3header+1校驗),代碼中的XMODEM_FRAME_SIZE是132U。

Y modem數據緩沖配置:

YModem例程里,定義YMODEM_FRAME_SIZE_1024為1029U,YMODEM_FRAME_SIZE_128為133U。

定義環形存儲的BUFFER_SIZE定義為1542,保持原有配置,數據的解析正常。

修改點:

可根據實際測試結果增加BUFFER_SIZE

07硬件驅動與配置適配

瑞薩RX系列需確保串口驅動適配Y modem的波特率、數據位、停止位等配置,可以使用smart configurator進行驅動配置(如常見的波特率 115200bps、8數據位、1停止位、無校驗等)。

088多文件傳輸適配

若OTA需傳輸多個文件,需在代碼中添加多文件遍歷、逐個構建起始幀+數據幀+結束幀的邏輯。由于客戶只要求傳輸單個文件,不涉及相關修改。

三、實測結果

01測試環境搭建

bb90dd10-6843-11f0-a6aa-92fbcf53809c.png

點擊可查看大圖

02功能測試

MCU執行bootloader升級程序,串口輸出"Please start file send using YModem protocol...";

Teraterm選擇Ymodem協議發送固件文件;

傳輸過程中通過Bus Hound抓取幀序列,驗證:

起始幀(文件名/大小正確);

數據幀(1024字節塊與CRC16校驗正確);

結束幀(判定正確)。

升級完成后,MCU自動跳轉至新固件,功能驗證通過。

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

    關注

    146

    文章

    18013

    瀏覽量

    368411
  • 瑞薩
    +關注

    關注

    36

    文章

    22389

    瀏覽量

    88117
  • 串口
    +關注

    關注

    15

    文章

    1590

    瀏覽量

    80138
  • 代碼
    +關注

    關注

    30

    文章

    4905

    瀏覽量

    70886
  • 文件傳輸協議

    關注

    0

    文章

    4

    瀏覽量

    943

原文標題:使用Y modem協議進行瑞薩RX MCU OTA數據傳輸

文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    電子MCU無感OTA升級功能介紹

    在工業控制、電機驅動乃至物聯網邊緣節點中,固件在線升級(OTA)已成為產品生命周期管理的標配。然而傳統OTA往往伴隨停機、風險與低效。電子MCU
    的頭像 發表于 05-15 14:36 ?779次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子<b class='flag-5'>MCU</b>無感<b class='flag-5'>OTA</b>升級功能介紹

    UART協議數據傳輸格式是怎樣的

    什么是UART協議?UART的工作原理是什么?UART協議數據傳輸格式是怎樣的?
    發表于 11-02 08:14

    如何使用IrDa進行紅外數據傳輸

    我們正在使用 IrDa 進行紅外數據傳輸。但是在 LPC54018 的用戶手冊中沒有提到 IrDa。請更新此控制器是否具有 IrDa 兼容性,否則我們如何進行此通信。在 LPC 1768 和 1788 中對 UART
    發表于 03-21 06:19

    DMA進行數據傳輸和CPU進行數據傳輸的疑問

    求大佬解答,本人正在學習STM32單片機中DMA直接數據存儲部分的內容 看了DMA簡介后,也上手過實例代碼,但是沒有實際的項目經驗,所以有以下疑問: DMA外設在進行數據傳輸的操作,是否也是需要經過
    發表于 05-25 17:18

    數據傳輸的通信系統設計

    本文主要針對單片機在有線數據傳輸方面的應用,介紹了一種基于單片機MSP430 實現的MODEM數據傳輸系統。方案采用一個嵌入式的MODEM 作為系統
    發表于 06-13 13:38 ?21次下載

    基于短消息的OTA數據傳輸安全機制

    基于短消息的OTA數據傳輸安全機制 摘要:OTA技術的應用,使得移動通信不僅能夠提供語音和數據服務,還能提供更便捷的增值服務。依靠基于短消息的OT
    發表于 05-23 15:13 ?22次下載

    Modem數據傳輸標準

     Modem數據傳輸標準 數據傳輸標準是指MODEM
    發表于 12-28 13:29 ?1145次閱讀

    數據傳輸速率是什么意思

    數據傳輸速率是什么意思 數據傳輸速率是通過信道每秒可傳輸的數字信息量的量度。數據傳輸速率也稱為吞吐率。數據傳輸速率由很
    發表于 03-18 14:45 ?5099次閱讀

    tcp_ip 協議講座:介紹數據傳輸

    介紹了tcp協議數據傳輸的問題(交互式數據傳輸,批量數據傳輸,流量控制,擁塞避免)
    的頭像 發表于 07-03 11:05 ?3787次閱讀
    tcp_ip <b class='flag-5'>協議</b>講座:介紹<b class='flag-5'>數據傳輸</b>

    如何實現MQTT協議數據傳輸

    如何實現MQTT協議數據傳輸? 隨著物聯網技術的不斷發展,越來越多的設備和應用需要實現互聯互通。而MQTT作為一種輕量級的發布/訂閱消息傳輸協議,在物聯網領域應用廣泛,成為了許多設備之
    的頭像 發表于 11-15 17:23 ?1488次閱讀

    DTU的多種協議,解鎖數據傳輸的無限可能

    DTU,即數據傳輸單元,是一種在物聯網(IoT)網絡中常用的設備,主要用于在傳感器和智能設備之間進行數據傳輸。DTU使用多種協議來實現這一目標,這些協議不僅提高了
    的頭像 發表于 03-01 11:00 ?1267次閱讀
    DTU的多種<b class='flag-5'>協議</b>,解鎖<b class='flag-5'>數據傳輸</b>的無限可能

    PCIe數據傳輸協議詳解

    、網卡和聲卡等,以實現高效的數據傳輸。以下是對PCIe數據傳輸協議的介紹: 一、PCIe協議的基本概念 PCIe協議定義了一系列規范和要求,
    的頭像 發表于 11-26 16:12 ?3643次閱讀

    如何使用 HTTP 協議進行數據傳輸

    在互聯網時代,數據傳輸是信息交換的基礎。HTTP協議作為最常用的數據傳輸協議之一,支撐著全球數十億用戶的數據交互。 HTTP
    的頭像 發表于 12-30 09:24 ?1634次閱讀

    MPU數據傳輸協議詳解

    在現代電子系統中,微控制器(MPU)扮演著核心角色,負責處理各種任務和數據。為了實現這些功能,MPU需要與其他設備進行數據交換。數據傳輸協議就是規定這些
    的頭像 發表于 01-08 09:37 ?924次閱讀

    電子RX261/RX260 32位觸摸控制MCU數據表與技術手冊

    電子RX261/RX260 32位觸摸控制MCU數據表與技術手冊
    的頭像 發表于 03-17 16:32 ?774次閱讀