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

電子發燒友App

硬聲App

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

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

3天內不再提示
創作
電子發燒友網>電子資料下載>電子資料>嵌入式Web服務器的 STM32 固件更新代碼

嵌入式Web服務器的 STM32 固件更新代碼

2023-06-21 | zip | 0.00 MB | 次下載 | 2積分

資料介紹

此開源參考設計演示了如何通過支持 LwIP 的微控制器系統上的嵌入式 Web 服務器安全、穩健和專業地更新固件。

使用stm32-secure-patching-bootloader作為后端固件更新引擎,該設計通過 HTML 多部分/表單數據文件上傳方法提供簽名和加密的固件更新補丁或完整圖像文件。大多數瀏覽器都原生支持此方法。后端多部分表單處理已集成到現有的 FreeRTOS 和支持 LwIP-netconn 的 Web 服務器應用程序中。

該項目在 NUCLEO-F429ZI 開發板上運行。它價格低廉,隨時可用,并且包括 USB OTG 和以太網端口

什么是多部分表單文件上傳?它是如何工作的?

以下 HTML 代碼被插入到網頁中并提供給瀏覽器。瀏覽器自動生成一個文件選擇器按鈕并將另一個按鈕綁定到表單提交操作(按下時生成 POST 請求)。不需要javascript。

id="form" action="upload" method="post" enctype="multipart/form-data"> id="file" type="file" name="binary" accept=".sfb,.sfbp"/> type="submit">upload

服務器將在 /upload URL 處看到一個 HTTP POST 請求。請求中有一些常用的 HTTP 協議標頭,包括預期長度(文件八位字節數據加上 HTTP 數據)和內容類型指示符。來自表單的每個“部分”在標題中都有自己的內容類型指示符。我們正在尋找的是Content-Type:application/octet-stream后跟 HTTP 標頭終止符“\r\n”。此后在 LwIP 緩沖區中接收到的所有數據都是固件更新文件字節并按原樣使用。

?

POST /upload HTTP/1.1\r\n
...
Content-Length: 129773\r\n
...
Content-Type: multipart/form-data; 
...
Content-Type: application/octet-stream\r\n
\r\n

?

在 Web 服務器源代碼 (httpserver-netconn.c) 中,我構建了一個狀態機來解析此數據流并適當地使用 SE_PATCH_InitSE_PATCH_Data API

本質上,當找到并驗證 HTTP 標頭時,將調用 SE_PATCH_Init 函數。這個函數只是重置和準備補丁引擎內部狀態機。然后作為“八位字節流”的一部分接收到的所有字節都被送入 SE_PATCH_Data 函數。修補引擎管理字節計數器以及擦除和寫入閃存以及執行修補(如果使用 .sfbp 文件)的所有細節,因此除了在 Web 服務器中正確解析接收到的網絡數據包之外,更新固件真的沒有什么可做的處理循環。

修補引擎首先使用 ECDSA 簽名驗證來驗證固件更新文件頭(256 字節),然后再接受任何其他字節。當滿意有效的固件更新文件正在發送時,它將累積字節并將它們寫入下載槽(使用 .sfb 文件)或將它們與現有固件映像組合以重新創建新的固件映像內部閃存中的下載槽(using.sfbp 文件)。

當所有字節都被正確接收和處理后,修補引擎可以立即重啟或由用戶手動重啟。我選擇手動重新啟動,以便可以將“成功”消息發送回客戶端瀏覽器并在重新啟動前關閉連接。“成功”頁面包含一個重定向計時器,用于在延遲顯示更新后的固件版本后自動重新加載固件更新頁面。

需要重新啟動,因為實際上是stm32-secure-patching-bootloader在下載槽 (SLOT1) 中獲取更新映像候選并覆蓋 SLOT0 中的活動固件映像。它只有在所有簽名、解密和 SHA256 哈希都經過檢查時才會這樣做,這使得它非常健壯,非常適合任何打包的交付框架,如以太網、wifi、藍牙lora、lorawan、CAN、modbus、UART 等。

在存儲庫中,您可以使用 bin 目錄中的預構建文件立即測試更新,或者您可以使用 STM32CubeIDE 和包含的項目文件自行構建更新文件。有關如何執行此操作的更多說明,請參閱項目 readme.txt。

使用網絡更新界面

打開連接到 Nucleo 的 STLINK 的終端,這樣您就可以看到分配給它的 IP 地址:

?

[  0.000] Bootloader starting up.
STM32 Secure Patching Bootloader. github.com/firmwaremodules/stm32-secure-patching-bootloader
Build: v1.3.0
Registered to: unregistered
Target: NUCLEO-F429ZI
UID: 175053388a356f20
Clock:HSE,8,168 Crypto:SW UART:3,115200,N81
SLOT0:08020000 SLOT1:08060000 SIZE:40000
APP RAMSTART:20002700 VTOR:08020200
[  0.029] Target check: CPUID:410FC241 IDCODE:20036419 FLASHSZ:0800 .. OK.
[  0.288] Verify bootloader.
[  0.315] SHA256: 3e8790d4724c52e5f5f2352bc6b132f1c8320134e0c89de983b98904c80e73a5 Valid
[  0.323] UART loader check trigger.
[  1.328] Check USB flash media.
[  2.330] No valid firmware found on flash media, status=1
[  2.336] Verify slot 1 header.
[  2.339] Slot 1 is empty.
[  2.341] Verify slot 0.
[  2.343] Verify slot 0 header.
[  2.484] Verify slot 0 signature.
[  2.535] Verify slot 0 ready.
[  2.538] Verify slot 0 fw ver.
[  2.679] Slot 0 has valid active firmware version 1.0.0
[  2.684] Preparing to launch application in slot 0.

LwIP_HTTP_Server_Netconn_RTOS - NUCLEO-F429ZI
Built FW_UPDATE_VERSION=1
Firmware Version: 1.0.0
Bootloader Version: v1.3.0
  State: Looking for DHCP server ...
IP address assigned by a DHCP server: 192.168.1.75

?

使用 Chrome 或兼容的瀏覽器,轉到 http://

單擊固件更新選項卡。

poYBAGSAZwyAdXs9AADRHJrR8EM813.jpg

使用文件選擇器按鈕選擇要上傳的更新文件。然后單擊“上傳”按鈕,它將從那里開始。

pYYBAGSAZw6Ad5AtAABASbkdGzA642.jpg

選擇器只允許選擇 .sfb(全圖)或 .sfbp(補丁)。下面顯示了可供選擇器使用的預構建圖像。

poYBAGSAZxGAaoKUAAA_L-ZSWto683.jpg

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 青柠在线观看视频在线高清完整| 少女10声大哥喊退色狼| 忘忧草在线影院WWW日本动漫| 99视频福利| 男女生爽爽爽视频免费观看| 最新国产精品视频免费看| 老师的玉足高跟鞋满足我| 中文字幕视频免费在线观看| 美艳人妻在厨房翘着屁股| 2019伊人查蕉在线观看| 年轻的母亲4线在线观看完整| 99re2.久久热最新地址| 美女夫妻内射潮视频| java农村野外妇女hd| 日日操天天操夜夜操| 国产精品1区2区| 亚洲欧美日韩国产另类电影| 久久6699精品国产人妻| 5580免费午夜福利院| 日本精品久久久久中文字幕2 | 果冻传媒视频在线观看完整版免费 | 精品日韩视频| 20岁中国男同志china1069| 欧美一区二区三区激情视频 | 丰满的女朋友 在线播放| 亚洲AVAV天堂AV在线网爱情| 久久精品中文字幕有码日本| c了瑜伽老师嗷嗷叫一节课视频| 日韩在线中文字幕无码| 国产一区内射最近更新| 76人遣返航班上71人呈阳性| 日本视频一区二区免费观看| 国产在线精品亚洲另类| 2021久久99国产熟女人妻| 日韩精品欧美亚洲高清有无| 国产在线精品视频免费观看| 99er久久国产精品在线| 新金梅瓶玉蒲团性奴3| 美女扒开尿口直播| 国产伦子沙发午休系列资源曝光| 2019午夜75福利不卡片在线|