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

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

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

3天內不再提示

如何使用AT32F407以太網通信接口實現在應用中編程(IAP)

jf_pJlTbmA9 ? 來源:AT32 MCU 雅特力科技 ? 作者:AT32 MCU 雅特力科技 ? 2023-11-07 17:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

IAP概述

工作原理

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

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

IAP模式,用于執(zhí)行IAP代碼

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

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

圖1介紹了IAP操作流程

100564539-273307-1.png

使用MCU以太網接口實現IAP

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

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

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

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

通過以太網在AT32F407上實現IAP

本應用筆記將介紹兩種使用以太網通信外設在AT32F407上實現IAP的解決方案:

使用TFTP(簡單文件傳輸協議)的IAP

使用HTTP(超文本傳輸協議)的IAP

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

使用TFTP實現IAP方法

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

TFTP是一種在UDP傳輸層上執(zhí)行的簡單文件傳輸協議。此協議非常適合在局域網環(huán)境中使用。它基于客戶端/服務器架構,在這種架構中,客戶端會向服務器發(fā)出文件傳輸請求(讀取或寫入操作)。為實現IAP,需要在LwIP協議棧上實現一個簡單的TFTP服務器,服務器只須處理來自PC的TFTP客戶端的寫入請求即可。

使用HTTP實現IAP方法

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

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

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

使用TFTP實現IAP

TFTP概述

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

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

圖2描述了各種TFTP數據包的格式:

100564539-273308-2.png 圖2 TFTP數據包

表1列出了TFTP操作碼。

100564539-273309-3.png 表1 TFTP操作碼

使用TFTP為AT32F407實現IAP

此IAP實現由基于LwIP TCP/IP棧的TFTP服務器組成。

此服務器會對遠程TFTP客戶端(PC)發(fā)來的寫請求做出響應。

TFTP讀請求會被忽略。

TFTP通常會將接收到的文件寫入到文件系統,但是該服務器卻并非如此,它會將接受到的數據塊寫入到MCU FLASH(用戶FLASH區(qū)域中)。

注:在這個實現過程中,數據塊大小固定為512個字節(jié)。

圖3概述了使用TFTP實現IAP操作的過程。

100564539-273310-4.png 圖3 使用TFTP實現IAP流程圖

使用軟件

要通過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中運行剛剛編寫的應用程序

wKgZomUD3DaAP0M9AAEvs8SXF7g900.png 圖4 TFTP64對話框

使用HTTP實現IAP

HTTP文件上傳概述

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

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

100564539-273312-6.png 圖5 文件上傳HTML表單的瀏覽器畫面

注:在發(fā)送文件數據前,Web客戶端會首先發(fā)送HTTP頭文件數據,其中包含諸如文件名稱和內容長度等信息,Web 服務器必須對其中的一些信息進行解析。

Web客戶端使用的HTTP頭文件格式并不總是相同。圖6顯示的是Internet Explorer在POST請求中的HTTP頭文件格式。圖7顯示的是Mozilla Firefox的HTTP頭文件格式。

HTTP Web服務器必須能夠處理這些不同的格式。

wKgaomUD3DqACfeYAAFiiVe6dqc646.png 圖6 IE11 HTTP頭文件格式

wKgaomUD3DuAFUgnAAGnPgAqMfk246.png 圖7 Mozilla Firefox HTTP頭文件格式

使用HTTP在AT32F407上實現IAP

此IAP實現由基于LwIP棧的HTTP Web服務器組成。

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

wKgZomUD3D2ABqUjAABPXgYvK2o705.png 圖8 登錄web頁面

注:1. 默認的User ID(用戶ID)為user, Password(密碼)為at32
2. 如果User ID(用戶ID)或Password(密碼)不正確,登錄Web頁面會重新加載。

登錄成功后,瀏覽并選擇要上傳到AT32 FLASH的二進制文件

注:確保二進制文件大小不超過AT32用戶FLASH區(qū)域的總容量。
單擊Upload(上傳)按鈕后(參見圖x),將向服務器發(fā)出POST請求。這時,服務器開始擦除用戶FLASH區(qū)域的全部內容,等待接受二進制文件原始數據。然后將街收到的數據寫入用戶FLASH區(qū)域。

注意,要接收的數據總長度信息將從傳輸開始時發(fā)出的HTTP頭文件數據中提取。

在IAP操作結束后,Web頁面將只是IAP操作成功,同時顯示一個可用于復位MCU的按鈕。

wKgZomUD3D6ARSbDAAAx1_xGT3w209.png 圖9 文件上傳完成web頁面

圖10對使用HTTP實現IAP方法進行了總結

wKgaomUD3ECAMH76AAKoL4-m0EA128.png 圖10 使用HTTP實現IAP的流程圖

使用軟體

要使用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頁面,只是文件上傳操作已經成功完成。

9. 可以按下Reset MCU(復位MCU)按鈕復位MCU,然后在AT32 FLASH中運行剛剛編寫的應用程序。

注:使用以下Web客戶端對軟件進行測試:Microsoft Internet Explorer 11和Mozilla Firefox 80.0

已知限制

二進制文件中添加的額外字節(jié)

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

環(huán)境

硬件配置

1. DM9162以太網模塊

2. AT-START-F407開發(fā)板

3. 以太網線

軟件源碼

utilitiesat32f407_emac_iap_demosource_codebootloader, emac iap源程序,運行iap升級程序

MAC地址和IP地址設置

在netconf.h文件中對MAC地址進行了定義。

默認的MAC地址固定為:00:00:44:45:56:01。

在netconf.h文件中對IP地址進行了定義。

IP地址可以設置為靜態(tài)地址,也可以設置為由DHCP服務器分配的動態(tài)地址。默認的靜態(tài)地址為:192.168.81.37。

可以通過在lwipopts.h文件中使能LWIP_DHCP來選擇DHCP模式。

軟件文件組成

wKgZomUD3EGAHBV_AAFI1u1nYIs915.png 表2 介紹了項目源文件

注:表格中沒有列出標準固件庫和LwIP棧中所使用的文件。

構建IAP映像

為了構建IAP映像(將會使用IAP軟件加載),應確保以下幾點:

1. 編譯/鏈接的軟件必須從用戶FLASH區(qū)域的起始地址開始運行(此地址應與iap.h的
APP_START_SECTOR_ADDR 中所定義的地址相同)。

2. 將向量表的起始地址配置為用戶FLASH區(qū)域的起始地址:
A. 在應用程序代碼中,使用misc.h/.c驅動程序的NVIC_SetVectorTable函數來重新定位應用程序加載地址的向量表。

例如,將向量表基本位置設置為0x08010000:

NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x10000);

B. 通過修改system_at32f4xx.c文件中定義的VECT_TAB_OFFSET常量的值。

例如,將向量表基本位置設置為0x08010000:

#define VECT_TAB_OFFSET 0x10000

3. 編譯后的軟件大小不超過用戶FLASH區(qū)域的總容量。

來源:AT32 MCU 雅特力科技

審核編輯:湯梓紅

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

    關注

    41

    文章

    5867

    瀏覽量

    178615
  • 通信接口
    +關注

    關注

    3

    文章

    256

    瀏覽量

    31722
  • IAP
    IAP
    +關注

    關注

    2

    文章

    165

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    以太網通信方式有哪些

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

    AT32F407 以太網設計注意事項

    AT32F407 與 PHY 連接有兩種方式:MII 模式與 RMII 模式,RMII 使用的 IO 口比 MII 少;以 DM9162 為例,原理如下圖。在 demo 程序中用宏定義
    發(fā)表于 07-28 10:28

    使用stm32F407連接PHY進行以太網通訊,一插網線就會進入錯誤中斷,為什么?

    使用stm32F407連接PHY芯片進行以太網通訊,一插網線就會進入錯誤中斷。 /*** @briefEthernet DMA transfer error callback
    發(fā)表于 06-17 06:57

    使用stm32F407連接PHY芯片進行以太網通訊,一插網線就會進入錯誤中斷怎么解決?

    使用stm32F407連接PHY芯片進行以太網通訊,一插網線就會進入錯誤中斷。 /*** @briefEthernet DMA transfer error callback
    發(fā)表于 06-12 06:53

    使用stm32F407連接PHY芯片進行以太網通訊,一插網線就會進入錯誤中斷怎么解決?

    使用stm32F407連接PHY芯片進行以太網通訊,一插網線就會進入錯誤中斷。 /*** @briefEthernet DMA transfer error callback
    發(fā)表于 06-11 07:30

    ESP32平臺 + SPI接口芯片DM9051ANX實現以太網通信

    RBOM成本,每個芯片內置獨立MAC地址,并有1.8V, 2.5V, 3.3V I/O電壓可供選擇,適用于各種MCU與CPU等各式主控的SPI接口以太網通信需求。 四、開發(fā)環(huán)境 4.1準備工作 1個
    發(fā)表于 05-23 10:22

    軟件更新 | 以太網通信仿真功能已上線!TSMaster 202503 版本更新速覽

    TSMaster202503軟件功能又更新啦!這一次,我們帶來了工程師們期待已久的以太網通信仿真功能,讓您的車載網絡測試如虎添翼!除了以太網通訊仿真功能,還新增軟件網關、GPS記錄數據格式轉換等功能
    的頭像 發(fā)表于 04-12 20:03 ?787次閱讀
    軟件更新 | <b class='flag-5'>以太網通信</b>仿真功能已上線!TSMaster 202503 版本更新速覽

    干貨分享 | TSMaster用戶必看:以太網通信仿真用戶手冊

    在汽車電子開發(fā),以太網通信仿真已成為ECU測試、診斷和網絡分析的關鍵環(huán)節(jié)。TSMaster作為一款強大的汽車電子仿真和測試工具,為工程師提供了高效的以太網通信解決方案。本手冊將帶您深入解析
    的頭像 發(fā)表于 03-28 20:04 ?599次閱讀
    干貨分享 | TSMaster用戶必看:<b class='flag-5'>以太網通信</b>仿真用戶手冊

    集成TSN三端口千兆以太網交換機, 工業(yè)以太網通信用MPU RZ/N2L數據手冊

    RZ/N2L是一種工業(yè)以太網通信用MPU,可輕松將網絡功能添加到工業(yè)設備。它搭載支持TSN的三端口千兆以太網交換機和EtherCAT?從控制器,可支持EtherCAT、PROFINET RT
    的頭像 發(fā)表于 03-13 17:39 ?1195次閱讀
    集成TSN三端口千兆<b class='flag-5'>以太網</b>交換機, 工業(yè)<b class='flag-5'>以太網通信</b>用MPU RZ/N2L數據手冊

    國產萬兆以太網通信芯片提供端到端的車載網絡解決方案

    國產萬兆以太網通信芯片提供端到端的車載網絡解決方案
    的頭像 發(fā)表于 02-28 10:01 ?735次閱讀
    國產萬兆<b class='flag-5'>以太網通信</b>芯片提供端到端的車載網絡解決方案

    工業(yè)以太網profinet網關:解鎖生產效率提升的“超級鑰匙”

    工業(yè)以太網穩(wěn)聯技術網關:解鎖生產效率提升的“超級鑰匙” ? ? 工業(yè)以太網通信網關作為工業(yè)互聯網的關鍵設備,是實現智能制造的重要支撐。其發(fā)展不僅體現了工業(yè)設計的創(chuàng)新,更是制造強國蓬勃脈動的生動體現
    的頭像 發(fā)表于 02-07 14:35 ?638次閱讀
    工業(yè)<b class='flag-5'>以太網</b>profinet網關:解鎖生產效率提升的“超級鑰匙”

    三格電子NAT網關:讓你的以太網通訊設備輕松聯網!

    有 1 個兩口以太網交換機接口(LAN 口)和 1 個以太網通接口(WAN 口)。不對原系統做任何硬件和軟件修改,不影響原系統通訊,可以實現
    的頭像 發(fā)表于 01-16 18:30 ?624次閱讀
    三格電子NAT網關:讓你的<b class='flag-5'>以太網通</b>訊設備輕松聯網!

    AT32F407在USART2 DMA發(fā)送數據時,接包接到了要發(fā)送的數據,程序還是處于等待傳輸完成的標識判斷,為什么?

    型號AT32F407,在USART2DMA發(fā)送數據時,接包已經接到了要發(fā)送的數據,但是程序還是處于等待傳輸完成的標識判斷,卡死了。請教一下是什么造成的?
    發(fā)表于 12-19 06:48

    以太網通信線的屏蔽要求

    以太網通信線的屏蔽要求主要取決于通信速率、傳輸距離以及周圍環(huán)境的電磁干擾情況。
    的頭像 發(fā)表于 12-14 11:29 ?974次閱讀

    以太網、現場總線、串行通信和工業(yè)無線通信的四種通信方式

    通信方式。 1 以太網通信方式 1.1 優(yōu)點 以太網是一種基于標準化的通信方式,廣泛應用于工業(yè)自動化設備,具有以下優(yōu)點。 (1)高速
    的頭像 發(fā)表于 11-15 10:21 ?3213次閱讀
    <b class='flag-5'>以太網</b>、現場總線、串行<b class='flag-5'>通信</b>和工業(yè)無線<b class='flag-5'>通信</b>的四種<b class='flag-5'>通信</b>方式