chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

AT32講堂037 | 如何使用AT32F437以太網(wǎng)通信接口實現(xiàn)在應用中編程(IAP)

雅特力 AT32 MCU ? 2022-11-23 09:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

IAP概述

工作原理

在應用中編程(IAP)是一種在現(xiàn)場通過MCU通信接口(例如USART、USB、CAN以太網(wǎng))進行固件升級的方式。

啟動微控制器時,可以選擇讓其在以下任一模式運行:

  • IAP模式,用于執(zhí)行IAP代碼
  • 正常模式,用于執(zhí)行應用程序代碼

無論是IAP代碼還是應用程序代碼都位于微控制器的內置FLASH中,IAP代碼通常存儲在MCU FLASH的第一頁,而用戶應用程序代碼則占據(jù)剩余的FLASH區(qū)域。

圖1介紹了IAP操作流程

圖1 IAP操作流程ea3ac0c2-69a9-11ed-b116-dac502259ad0.png

使用MCU以太網(wǎng)接口實現(xiàn)IAP

如果有以太網(wǎng)可用,則它通常是嵌入式系統(tǒng)中實現(xiàn)IAP功能的首選接口,其優(yōu)勢包含:

高速通信接口(10/100 Mbps)

通過網(wǎng)絡(LAN或WAN)進行遠程編程

可以使用FTP、TFTP、HTTP等基于TCP/IP棧的標準應用協(xié)議實現(xiàn)IAP

通過以太網(wǎng)在AT32F437上實現(xiàn)IAP

本應用筆記將介紹兩種使用以太網(wǎng)通信外設在AT32F437上實現(xiàn)IAP的解決方案:

  • 使用TFTP(簡單文件傳輸協(xié)議)的IAP
  • 使用HTTP(超文本傳輸協(xié)議)的IAP

這兩種解決方案均基于LwIP棧(2.1.2),它是輕量級的TCP/IP協(xié)議棧

使用TFTP實現(xiàn)IAP方法使用TFTP實現(xiàn)IAP的方法廣泛應用于需要具有固件升級功能的嵌入式系統(tǒng)應用中(例如,嵌入式Linux bootloader中)。

TFTP是一種在UDP傳輸層上執(zhí)行的簡單文件傳輸協(xié)議。此協(xié)議非常適合在局域網(wǎng)環(huán)境中使用。它基于客戶端/服務器架構,在這種架構中,客戶端會向服務器發(fā)出文件傳輸請求(讀取或寫入操作)。

為實現(xiàn)IAP,需要在LwIP協(xié)議棧上實現(xiàn)一個簡單的TFTP服務器,服務器只須處理來自PC的TFTP客戶端的寫入請求即可。

使用HTTP實現(xiàn)IAP方法使用HTTP協(xié)議進行固件升級沒有使用TFTP常見,但是在需要通過Internet進行遠程編程時,這種解決方案就顯得極為有用。這時,需要使用TCP傳輸協(xié)議來實現(xiàn)HTTP服務。

HTTP基于TCP協(xié)議運行,它提供了一個一種以HTML表單形式從Web客戶端(Mozilla Firefox或Microsoft Internet Explorer)發(fā)送一個二進制文件的方式。這稱為HTTP文件上傳(RFC1867)。

本文檔中的后續(xù)章節(jié)將詳細介紹這兩種IAP方法的實現(xiàn),并會對如何使用軟件進行說明。

使用TFTP實現(xiàn)IAP

TFTP概述

TFTP是一種基于UDP的簡單文件傳輸協(xié)議。文件傳輸由TFTP客戶端發(fā)起,會向TFTP服務器發(fā)送讀取或寫入請求。服務器確認請求后,即開始進行文件數(shù)據(jù)傳輸。數(shù)據(jù)將以固定大小的塊盡情發(fā)送(例如每塊含512個字節(jié))。

必須在每個發(fā)出的數(shù)據(jù)塊都得到接收方確認后,才可以發(fā)送下一個數(shù)據(jù)塊。這種確認機制通過隨各個數(shù)據(jù)塊一同發(fā)送的編塊號來實現(xiàn)。數(shù)據(jù)塊小于固定塊大小表示文件傳輸?shù)慕Y束。

圖2描述了各種TFTP數(shù)據(jù)包的格式:圖2 TFTP數(shù)據(jù)包eb2c7d04-69a9-11ed-b116-dac502259ad0.png表1列出了TFTP操作碼。表1 TFTP操作碼eb410f80-69a9-11ed-b116-dac502259ad0.png

使用TFTP為AT32F437實現(xiàn)IAP

此IAP實現(xiàn)由基于LwIP TCP/IP棧的TFTP服務器組成。此服務器會對遠程TFTP客戶端(PC)發(fā)來的寫請求做出響應。TFTP讀請求會被忽略。TFTP通常會將接收到的文件寫入到文件系統(tǒng),但是該服務器卻并非如此,它會將接受到的數(shù)據(jù)塊寫入到MCU FLASH(用戶FLASH區(qū)域中)。注:在這個實現(xiàn)過程中,數(shù)據(jù)塊大小固定為512個字節(jié)。

圖3 概述了使用TFTP實現(xiàn)IAP操作的過程。

圖3 使用TFTP實現(xiàn)IAP流程圖eb58c03a-69a9-11ed-b116-dac502259ad0.png

使用軟件

要通過TFTP對IAP進行測試,需執(zhí)行以下步驟:1. 在iap.h文件中,取消USE_IAP_TFTP選項的注釋。2. 重新編譯軟件。使用生成的映射文件,確保IAP代碼區(qū)域之間沒有重疊(從地址0x0開始),而且用戶FLASH區(qū)域從以下地址開始:APP_START_SECTOR_ADDR(在iap.h中定義)。3. 在AT32 FLASH中編寫并運行軟件程序。4. 要進入IAP模式,需要在按住開發(fā)版上的USER Key。5. 分配完IP后(可以是靜態(tài)或動態(tài)地址),用戶即可啟動IAP流程。6. 在PC側,打開TFTP客戶端(例如Tftpd64),然后配置TFTP服務器地址(Tftpd64中的主機地址)7. 單擊Tftpd64實用程序中的Put(寫入)按鈕,啟動文件寫請求8. 在IAP操作結束時,可以復位開發(fā)板并在AT32 FLASH中運行剛剛編寫的應用程序圖4 TFTP64對話框eb95ce4e-69a9-11ed-b116-dac502259ad0.png

使用HTTP實現(xiàn)IAP

HTTP文件上傳概述

RFC1867中定義了使用HTTP進行文件上傳。此文件上傳方法是基于HTTP表單。發(fā)送原始二進制數(shù)據(jù)時,要使用HTTP POST方法而不是GET方法。

以下是一個HTML代碼示例,用于實現(xiàn)基于表單的文件上傳:

圖5 文件上傳HTML表單的瀏覽器畫面ebd3f098-69a9-11ed-b116-dac502259ad0.png注:在發(fā)送文件數(shù)據(jù)前,Web客戶端會首先發(fā)送HTTP頭文件數(shù)據(jù),其中包含諸如文件名稱和內容長度等信息,Web服務器必須對其中的一些信息進行解析。Web客戶端使用的HTTP頭文件格式并不總是相同。圖6顯示的是Internet Explorer在POST請求中的HTTP頭文件格式。圖7顯示的是Mozilla Firefox的HTTP頭文件格式。HTTP Web服務器必須能夠處理這些不同的格式。

圖6 IE11 HTTP頭文件格式

ebeaf680-69a9-11ed-b116-dac502259ad0.png

圖7 Mozilla Firefox HTTP頭文件格式

ebfb276c-69a9-11ed-b116-dac502259ad0.png

使用HTTP在AT32F437上實現(xiàn)IAP

此IAP實現(xiàn)由基于LwIP棧的HTTP Web服務器組成。

在瀏覽器中輸入的AT32的IP地址后,將顯示登錄Web頁面(圖8)。此登錄Web頁面只有已獲授權的用戶才能使用IAP文件上傳功能。

圖8 登錄web頁面ec6f59c0-69a9-11ed-b116-dac502259ad0.png注:1. 默認的User ID(用戶ID)為user, Password(密碼)為at322. 如果User ID(用戶ID)或Password(密碼)不正確,登錄Web頁面會重新加載。登錄成功后,瀏覽并選擇要上傳到AT32 FLASH的二進制文件注:確保二進制文件大小不超過AT32用戶FLASH區(qū)域的總容量。單擊Upload(上傳)按鈕后(參見圖x),將向服務器發(fā)出POST請求。這時,服務器開始擦除用戶FLASH區(qū)域的全部內容,等待接受二進制文件原始數(shù)據(jù)。然后將街收到的數(shù)據(jù)寫入用戶FLASH區(qū)域。注意,要接收的數(shù)據(jù)總長度信息將從傳輸開始時發(fā)出的HTTP頭文件數(shù)據(jù)中提取。在IAP操作結束后,Web頁面將只是IAP操作成功,同時顯示一個可用于復位MCU的按鈕。圖9 文件上傳完成web頁面ec803d62-69a9-11ed-b116-dac502259ad0.png

圖10對使用HTTP實現(xiàn)IAP方法進行了總結

圖10 使用HTTP實現(xiàn)IAP的流程圖ed2c8220-69a9-11ed-b116-dac502259ad0.png

使用軟件

要使用HTTP對IAP進行測試,需執(zhí)行以下步驟:1. 在iap.h文件中,取消選項USE_IAP_HTTP的注釋。2. 重新編譯軟件,使用生成的映射文件,確保IAP區(qū)域代碼之間沒有重疊(從地址0x0開始),而且用戶FLASH區(qū)域從以下地址開始:APP_START_SECTOR_ADDR(在iap.h中定義)。3. 在AT32 FLASH中編寫并運行軟件程序。4. 要進入IAP模式,需要再按住開發(fā)板上的USER Key。5. 分配完IP地址后(可以是靜態(tài)或動態(tài)地址),用戶即可啟動IAP流程6. 打開Web客戶端(Mozilla Firefox或Internet Explorer),輸入AT32 IP地址7. 會顯示登錄Web頁面。在User ID(用戶ID)字段中輸入”user”,在Password(密碼)字段中輸入”at32”,然后按下Login(登錄)按鈕。8. IP操作結束后,將加載新的Web頁面,只是文件上傳操作已經(jīng)成功完成。9. 可以按下Reset MCU(復位MCU)按鈕復位MCU,然后在AT32 FLASH中運行剛剛編寫的應用程序。注:使用以下Web客戶端對軟件進行測試:Microsoft Internet Explorer11和Mozilla Firefox 80.0

已知限制

二進制文件中添加的額外字節(jié)Internet瀏覽器(Microsoft Internet Explorere或Mozilla Firefox)會在上傳的二進制文件的末尾添加一個隨機邊界標記(根據(jù)RFC1521規(guī)定,此標記不得超過72個字節(jié))。在最新的IAP軟件版本中,并沒有刪除此邊界標記,而是在空間足夠的情況下將其存儲在FLASH中。如果沒有足夠空間,則不會在FLASH中寫入額外字節(jié),也不會返回錯誤。

環(huán)境

硬件配置

1. DM9162以太網(wǎng)模塊2. AT-START-F407開發(fā)板3. 以太網(wǎng)線

軟件源碼

  • utilities\AT32F437_emac_iap_demo\source_code\bootloader, emac iap源程序,運行iap升級程序

MAC地址和IP地址設置

在netconf.h文件中對MAC地址進行了定義。默認的MAC地址固定為:004456:01。在netconf.h文件中對IP地址進行了定義。IP地址可以設置為靜態(tài)地址,也可以設置為由DHCP服務器分配的動態(tài)地址。默認的靜態(tài)地址為:192.168.81.37。可以通過在lwipopts.h文件中使能LWIP_DHCP來選擇DHCP模式。

軟件文件組成

表2 介紹了項目源文件ed5454bc-69a9-11ed-b116-dac502259ad0.png注:表格中沒有列出標準固件庫和 LwIP 棧中所使用的文件。

構建IAP映像

、為了構建IAP映像(將會使用IAP軟件加載),應確保以下幾點:1. 編譯/鏈接的軟件必須從用戶FLASH區(qū)域的起始地址開始運行(此地址應與iap.h的APP_START_SECTOR_ADDR中所定義的地址相同)。2. 將向量表的起始地址配置為用戶FLASH區(qū)域的起始地址:A. 在應用程序代碼中,使用misc.h/.c驅動程序的NVIC_SetVectorTable函數(shù)來重新定位應用程序加載地址的向量表。例如,將向量表基本位置設置為0x08010000:NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x10000);B. 通過修改system_at32f4xx.c文件中定義的VECT_TAB_OFFSET常量的值。例如,將向量表基本位置設置為0x08010000:#define VECT_TAB_OFFSET 0x100003. 編譯后的軟件大小不超過用戶FLASH區(qū)域的總容量。關于雅特力雅特力科技于2016年成立,是一家致力于推動全球市場32位微控制器(MCU)創(chuàng)新趨勢的芯片設計公司,專注于ARM Cortex-M4/M0+的32位微控制器研發(fā)與創(chuàng)新,全系列采用55nm先進工藝及ARM Cortex-M4高效能或M0+低功耗內核,締造M4業(yè)界最高主頻288MHz運算效能,并支持工業(yè)級別芯片工作溫度范圍(-40°~105°)。雅特力目前已累積相當多元的終端產(chǎn)品成功案例:如微型打印機、掃地機、光流無人機、熱成像儀、激光雷達、工業(yè)縫紉機、伺服驅控、電競周邊市場、斷路器、ADAS、T-BOX、數(shù)字電源、電動工具等終端設備應用,廣泛地覆蓋5G物聯(lián)網(wǎng)、消費、商務及工控等領域。

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

    關注

    147

    文章

    19110

    瀏覽量

    403238
  • 以太網(wǎng)

    關注

    41

    文章

    6160

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    歐姆龍 CJ2 PLC?借助以太網(wǎng)通訊模塊與上位機通訊實現(xiàn)威綸觸摸屏監(jiān)控 AGV/AMR?搬運的應用配置案例

    、電量、任務狀態(tài)、故障信息無法實時上傳,上位機無法遠程調度、路徑規(guī)劃、集群管理。在復雜車間環(huán)境下,通信易中斷,擁堵、低電量、碰撞等問題不能及時處理,嚴重影響物流效率。 捷米特JM-ETH-CJ模塊為CJ2提供穩(wěn)定以太網(wǎng)通信,實現(xiàn)
    的頭像 發(fā)表于 04-03 09:45 ?507次閱讀
    歐姆龍 CJ2 PLC?借助<b class='flag-5'>以太網(wǎng)通</b>訊模塊與上位機通訊<b class='flag-5'>實現(xiàn)</b>威綸觸摸屏監(jiān)控 AGV/AMR?搬運的應用配置案例

    基于ZYNQ-MZ702P開發(fā)板實現(xiàn)以太網(wǎng)通信

    本章以太網(wǎng)通信實驗是基于ZYNQ-MZ702P開發(fā)板進行實現(xiàn),在配置方面,需要讀者自主修改不同的地方。文章末尾有本項目原工程壓縮包,提供參考。
    的頭像 發(fā)表于 02-11 11:42 ?2144次閱讀
    基于ZYNQ-MZ702P開發(fā)板<b class='flag-5'>實現(xiàn)以太網(wǎng)通信</b>

    車載以太網(wǎng)通信協(xié)議棧如何測?UT和SP聯(lián)手!

    引言在汽車以太網(wǎng)通信測試,面對復雜的協(xié)議棧分層與交互,一個核心挑戰(zhàn)在于:如何高效、直接地對ECU內部的網(wǎng)絡層、傳輸層等協(xié)議實現(xiàn)進行驗證?僅僅通過外部網(wǎng)絡
    的頭像 發(fā)表于 01-21 10:04 ?1799次閱讀
    車載<b class='flag-5'>以太網(wǎng)通信</b>協(xié)議棧如何測?UT和SP聯(lián)手!

    探索 onsemi NCN26010:工業(yè)以太網(wǎng)的理想之選

    在工業(yè)自動化、傳感器接口等領域,穩(wěn)定高效的以太網(wǎng)通信至關重要。onsemi 的 NCN26010 作為一款符合 IEEE 802.3cg 標準的 10 Mb/s 工業(yè)以太網(wǎng) MAC + PHY IC 控制器,為我們帶來了出色的解
    的頭像 發(fā)表于 12-08 11:12 ?783次閱讀
    探索 onsemi NCN26010:工業(yè)<b class='flag-5'>以太網(wǎng)</b>的理想之選

    以太網(wǎng)通訊在FPGA上的實現(xiàn)

    一、介紹在本項目由于我們需要使用PC實時的向FPGA發(fā)送將要識別的圖片,所以我們最終選擇使用以太網(wǎng)來從PC向FPGA發(fā)送圖片并暫存在DDR,下面是對以太網(wǎng)協(xié)議和硬件實現(xiàn)的一些介紹。
    發(fā)表于 10-30 07:45

    以太網(wǎng)通訊模塊實現(xiàn)西門子S7-300PLC與MES的雙向通訊

    在制造業(yè)智能化轉型過程,生產(chǎn)數(shù)據(jù)的實時采集與分析已成為提升生產(chǎn)效率、優(yōu)化工藝流程的核心環(huán)節(jié)。然而,許多仍在服役的傳統(tǒng)工業(yè)PLC(可編程邏輯控制器)因設計年代較早,普遍缺乏以太網(wǎng)接口,
    的頭像 發(fā)表于 09-29 17:38 ?830次閱讀
    <b class='flag-5'>以太網(wǎng)通</b>訊模塊<b class='flag-5'>實現(xiàn)</b>西門子S7-300PLC與MES的雙向通訊

    以太網(wǎng)通信方式有哪些

    以太網(wǎng)通信方式主要分為 半雙工通信 和 全雙工通信 兩種,具體取決于傳輸介質和網(wǎng)絡設備的配置,以下是詳細介紹: 半雙工通信(Half-Du
    的頭像 發(fā)表于 09-29 09:32 ?1371次閱讀

    編程邏輯控制器PLC是什么?如何實現(xiàn)網(wǎng)通信?

    。它具有編程靈活、抗干擾強、適應工業(yè)環(huán)境的特點,廣泛應用于制造業(yè)、交通、能源等領域。 PLC上網(wǎng)通信實現(xiàn)方式 PLC實現(xiàn)網(wǎng)通信的核心是通
    的頭像 發(fā)表于 09-22 17:27 ?1199次閱讀

    基恩士KV系列PLC借助于以太網(wǎng)通訊模塊與上位機通訊實現(xiàn)觸摸屏監(jiān)控的應用配置案例

    的運行數(shù)據(jù),導致生產(chǎn)過程的實時監(jiān)控和遠程管理難以實現(xiàn);另一方面,觸摸屏與PLC的連接也受到限制,影響了現(xiàn)場操作人員對設備的便捷操作。為解決這一問題,捷米特的JM-ETH-KV以太網(wǎng)通訊模塊應運而生,它為基恩士KV系列PLC提供了以太網(wǎng)
    的頭像 發(fā)表于 08-18 11:14 ?827次閱讀
    基恩士KV系列PLC借助于<b class='flag-5'>以太網(wǎng)通</b>訊模塊與上位機通訊<b class='flag-5'>實現(xiàn)</b>觸摸屏監(jiān)控的應用配置案例

    西門子SMARTS7-200PLC與S7-1500PLC以太網(wǎng)通訊及PPI集成實現(xiàn)分布式IO控制

    在工業(yè)自動化領域,西門子S7-200系列PLC憑借其高可靠性和性價比,長期占據(jù)著中小型自動化項目的重要市場份額。然而,該系列PLC存在一個顯著局限:原生不具備以太網(wǎng)通接口,僅通過RS485接口支持PPI協(xié)議通訊。這一硬件限制在
    的頭像 發(fā)表于 08-15 18:03 ?1440次閱讀
    西門子SMARTS7-200PLC與S7-1500PLC<b class='flag-5'>以太網(wǎng)通</b>訊及PPI集成<b class='flag-5'>實現(xiàn)</b>分布式IO控制

    AT32 MCU如何使用IAP

    AT32 MCU使用IAP的方法涉及在微控制器上創(chuàng)建特定固件,以實現(xiàn)在應用編程(In-Application Programming,簡稱IAP
    發(fā)表于 08-08 17:13

    PLC以太網(wǎng)通訊模塊:歐姆龍 CP1H PLC在紡織機械上的應用案例

    沒有網(wǎng)口,導致其與上位機編程軟件以及觸摸屏之間的通信存在諸多限制。 因此,為了解決歐姆龍CP1H PLC沒有網(wǎng)口的問題,提高紡織機械的自動化水平和生產(chǎn)效率,引入一款合適的以太網(wǎng)模塊顯得尤為重要。 二、解決方案 遠創(chuàng)智控YC800
    的頭像 發(fā)表于 07-29 09:58 ?1015次閱讀
    PLC<b class='flag-5'>以太網(wǎng)通</b>訊模塊:歐姆龍 CP1H PLC在紡織機械上的應用案例

    AT32 IAP using the USART

    是提供在AT32微控制器上創(chuàng)建IAP應用程序的一般準則。 AT32微控制器可以運行用戶特定的固件來對微控制器嵌入的閃存執(zhí)行IAP。 此功能
    發(fā)表于 07-11 10:51

    編程電源保護電路的通信接口有哪些

    編程電源的保護電路需通過通信接口實現(xiàn)遠程監(jiān)控、參數(shù)配置和故障報警等功能。其通信接口類型多樣,涵蓋有線、無線、工業(yè)總線及高速數(shù)字
    發(fā)表于 07-03 14:33

    ESP32平臺 + SPI接口芯片DM9051ANX實現(xiàn)以太網(wǎng)通信

    與CPU等各式主控的SPI接口以太網(wǎng)通信需求。 四、開發(fā)環(huán)境 4.1準備工作 1個ESP32 開發(fā)板:我手上的開發(fā)板是合宙ESP32-C3 1個DM9051ANX開發(fā)板。 1條USB
    發(fā)表于 05-23 10:22