8.1 Firmware Update Process

8.1 Firmware Update Process

通過reset激活firmware 更新的過程:

  • host發出firmare下載命令,將FW image下載到控制器。FW image可能有多個部分要下載,因此FW image 下載命令中指定正在下載的FW image的每個部分的偏移量。FW image 下載命令中提供的數據應該符合Identify Controller data structure中的FWUG,否則會更新失敗。
  • FW image下載到控制器后,host下一步是FW Commit 命令。FW Commit 命令驗證最后下載的FW image是否有效,并將該image提交到指定的FW Slot以供使用。FW image不以0偏移開始,包含間隙或包含重疊區域,則視為無效。控制器可以采用額外的供應商特定方法(例如檢驗, CRC,密碼三列或數字簽名)來確定FW image的有效性。 FW Commit可以用于激活與先前提交的FW slot相關聯的FW image。
  • 最后一步是執行reset,然后激活FW Commit 命令中FW Slot中指定的FW image。重置可以是NVM 子系統重置, Conventional Reset, Function Level Reset, or Controller Reset (CC.EN transitions from ‘1’ to ‘0’):在某些情況下,需要a Conventional Reset or NVM Subsystem Reset 來激活FW image,這個要求有FW commit 命令特定狀態指出,參考 章節5.11。
  • 在reset完成后,host重新初始化控制器。包括重新分配I/O提交和完成隊列。參見章節7.6.1.

在沒有reset的情況下激活FW更新的過程是:

  • host發出FW image 下載命令,將FW image下載到控制器。下載的FW image 可能存在多個部分,因此在FW image下載命令中指定正在下載的FW image的每個部分的偏移量。FW image下載命令中提供的數據應符合 Identify Controller data structure中的FWUG,否則FW 會更新失敗。
  • host 提交具有011b的提交操作的FW Commit 命令,該命令指定應立即激活image 而不reset。下載的image 應替換FW slot中的image。如果自上次 reset或FW commit命令(即跳過第一步)以來沒有下載image,則控制器應驗證并激活指定slot中的image。如果控制器開始激活FW,受新FW影響的任何控制器都會向host發送FW激活啟動異步事件(如果啟用了固件激活通知)參見圖291.
    a.FW 提交命令還可以用于激活與先前提交的FW slot相關聯的FW image。

Figure 291: Asynchronous Event Configuration

BitsDescription
09Firmware Activation Notices: 該bit位確定是否向主機發送FW激活啟動事件的異步事件通知(參見圖149),如果此位設置為1,則當出現此情況時,FW激活啟動事件會發送到host。如果此位被清除為0,則控制器不應向host發送FW激活啟動事件。

Figure 149: Asynchronous Event Information – Notice

ValueDescription
01hFirmware Activation Starting: 控制器正在啟動FW 激活過程,在次過程暫停命令處理。host可以通過CSTS.PP 確定命令處理何時已恢復。要清除此事件,host將讀取FW slot信息日志頁。
  • 控制器完成FW 提交命令。在某些錯誤情況下會采取以下操作:
    a. 如果FW image 無效,則控制器報告適當的錯誤(例如, Invalid
    Firmware Image )
    b. 如果FW 激活不成功,因為需要Controller Level Reset來激活該FW ,則控制器報告FW激活需要Controller Level Reset的錯誤,并且在下一次Controller Level Reset時應用該image。
    c.如果FW 激活不成功,因為需要NVM Subsystem Reset來激活該FW,則控制器報告FW激活需要NVM Subsystem Reset的錯誤,并且在下一次NVM Subsystem Reset是應用該image。
    d. 如果FW激活不成功,因為需要Conventional Reset來激活該FW,則控制器報告FW激活需要Conventional Reset的錯誤,并且在下一次Conventional Reset時應用圖像。
    e. 如果FW激活不成功,因為FW激活時間將超過 Identify Controller data structure中的MTFA值,則控制器報告FW激活需要最長時間違規的錯誤。在這種情況下,要激活FW,需要重新發出FW 提交命令,并使用reset 激活image。

如果控制器在提交試圖金雞湖FW image的FW 提交命令之后并且在該命令完成之前轉到D3cold 狀態(參考PCI Express Base Specification),則控制器可以在提交FW 提交命令時激活FW image或者由該命令激活的FW image的情況下恢復操作。如果無法成功加載FW,則控制器應恢復到最近激活的FW slot中的FW image或基線只讀FW image(如果可用),并將故障指示為帶有FW image加載錯誤的異步事件。
如果host 覆蓋活動FW slot中的FW,則先前活動的FW image可能不在可用。因此需要使用該FW slot的任何動作(例如: power cycling the controller)都可以使用當前在該FW Slot中的FW image。
host不應同時更新多個FW image,下載FW image后,host 會在下載其他FW image 之前發出FW 提交命令。在完成FW提交命令對第一個FW 下載命令的處理應使控制器丟棄下載image的剩余部分(如果有)。如果FW下載和FW提交命令完成之間發生reset,則控制器應丟棄下載image的所有部分(如果有)。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/38734.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/38734.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/38734.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Sui創始團隊在競速環節中的快問快答

在Sui Basecamp活動期間,Sui區塊鏈的最初貢獻者在Oracle紅牛賽車模擬器上展示了他們的技術能力,在駕駛圈時回答了有關Sui的問題。 Evan Cheng(又名Revvin’ Evan)在解釋Mysticeti創下區塊鏈最終性記錄的同時保持著他的駕駛線路。…

Java | Leetcode Java題解之第200題島嶼數量

題目&#xff1a; 題解&#xff1a; class Solution {void dfs(char[][] grid, int r, int c) {int nr grid.length;int nc grid[0].length;if (r < 0 || c < 0 || r > nr || c > nc || grid[r][c] 0) {return;}grid[r][c] 0;dfs(grid, r - 1, c);dfs(grid, r…

go Channel原理 (三)

Channel 設計原理 不要通過共享內存的方式進行通信&#xff0c;而是應該通過通信的方式共享內存。 在主流編程語言中&#xff0c;多個線程傳遞數據的方式一般都是共享內存。 Go 可以使用共享內存加互斥鎖進行通信&#xff0c;同時也提供了一種不同的并發模型&#xff0c;即通…

【嵌入式——FreeRTOS】任務

【嵌入式——FreeRTOS】任務 任務創建和刪除動態方式創建任務靜態方式創建任務 刪除任務任務切換調度器任務切換流程 任務掛起任務恢復相關API函數 任務創建和刪除 動態方式創建任務 任務的任務控制塊以及任務的棧空間所需的內存&#xff0c;均由freeRTOS從freeRTOS管理的堆中…

c#asp.net中字典的使用

字典是一個鍵值對&#xff0c;可以用來保存數據&#xff0c;再查詢&#xff1b; 下面是一個案例&#xff1a;依據多個學號查詢多個學生的姓名&#xff0c;只能到數據庫查詢一次數據&#xff01;&#xff01;&#xff01; 先在數據庫查詢學號對應的學生&#xff0c;把數據保存在…

mysql8.0.19安裝zip版本

下載地址https://downloads.mysql.com/archives/community/ 下載版本 下載后解壓&#xff0c;不包括data 和my.ini文件。其中data 文件是自動生成的【mysqld --initialize --console】&#xff0c;my.ini需要自己編寫設置。 新建my.ini文件 需要自己設置 basedirG:\soft\mysql…

內網服務器時間校正

新購買的云服務器發現內網機器和可以訪問外網的機器時間慢了三分鐘&#xff0c;導致有些訪問會報錯&#xff0c;那么我們配置一下ntp校正一下時間。外網配置起來比較簡單&#xff0c;直接下載ntp執行校正命令即可。 比當前時間慢了三分鐘 注意當前服務器是可以訪問外網的機器這…

【gitee使用教程】(創建項目倉庫并上傳代碼簡易版)

gitee使用教程&#xff0c;創建項目倉庫并上傳代碼簡易版 1.在碼云上創建一個倉庫2.將代碼克隆到本地1.復制倉庫地址2.找到你想要放置的文件位置&#xff0c;右鍵點擊更多選項&#xff0c;選擇Git Clone3.將復制的倉庫地址填入URL 3. IDEA結合GIT和Gitee的簡單使用idea需要識別…

【python】最新版抖音s逆向拿到數據,非常詳細教程(附完整代碼)

?? 歡迎大家來到景天科技苑?? ???? 養成好習慣,先贊后看哦~???? ?? 作者簡介:景天科技苑 ??《頭銜》:大廠架構師,華為云開發者社區專家博主,阿里云開發者社區專家博主,CSDN全棧領域優質創作者,掘金優秀博主,51CTO博客專家等。 ??《博客》:Python全…

Excel 宏錄制與VBA編程 ——VBA編程技巧篇一 (Union方法、Resize方法、Cells方法、UseSelect方法、With用法)

Uniom方法 使用Union方法可以將多個非連續區域連接起來成為一個區域&#xff0c;從而可以實現對多個非連續區域一起進行操作。 Resize方法 使用Range對象的Resize屬性調整指定區域的大小&#xff0c;并返回調整大小后的單元格區域。 Cells方法 Cells屬性返回一個Range對象。 Us…

Domino應用中的HTML5

大家好&#xff0c;才是真的好。 在xpages多年不見有效更新&#xff0c;前景不明的時候&#xff0c;Domino傳統Web應用開發方式還是受到了應有的青睞。畢竟&#xff0c;在Nomad Web時代&#xff0c;連最傳統的Notes CS原生應用也突然煥發了勃勃生機一樣。 但&#xff0c;對有…

什么是strcmp函數

目錄 開頭1.什么是strcmp函數2.strcmp函數里的內部結構3.strcmp函數的實際運用(這里只列舉其一)腦筋急轉彎 結尾 開頭 大家好&#xff0c;我叫這是我58。今天&#xff0c;我們要來認識一下C語言中的strcmp函數。 1.什么是strcmp函數 strcmp函數來自于C語言中的頭文件<str…

ARP 原理詳解 一

ARP 原理 ARP&#xff08;Address Resolution Protocol&#xff09;地址解析協議&#xff0c;是根據 IP 地址獲取物理地址的一個 TCP/IP 協議。 OSI 網絡七層模型中&#xff0c;IP 地址在 OSI 模型第三層&#xff0c;MAC 地址在第二層&#xff0c;彼此不直接通信。 在通過以…

Spring Cloud Alibaba AI 大模型使用示例

1 pom.xml, 注意版本(jdk17) &#xff0c;倉庫地址&#xff0c;排除的依賴&#xff08;日志錯誤&#xff09; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www…

性能測試中的場景設計和測試執行

假設一個內部系統要求響應時間在 3s 以內&#xff0c;支持最大用戶數為4萬。根據二八原則&#xff0c;80%用戶在20%時間使用系統(4w80%)/(24h20%)≈1.9點擊/秒。并發數TPS&#xff08;運行時間思考時間&#xff09;1.9&#xff08;30.50.330.50.30.53&#xff09;21。 注意&am…

Flutter循序漸進==>數據結構(列表、映射和集合)和錯誤處理

導言 填鴨似的教育確實不行&#xff0c;我高中時學過集合&#xff0c;不知道有什么用&#xff0c;毫無興趣&#xff0c;等到我學了一門編程語言后&#xff0c;才發現集合真的很有用&#xff1b;可以去重&#xff0c;可以看你有我沒有的&#xff0c;可以看我有你沒有的&#xf…

毫米波雷達深度學習技術-1.7訓練一個神經網絡

1.7 訓練一個神經網絡 對于訓練神經網絡&#xff0c;有兩個步驟&#xff0c;即前向傳遞和誤差反向傳播。 1.7.1 前向傳播和反向傳播 在前向傳遞中&#xff0c;輸入被饋送到模型并與權重向量相乘&#xff0c;并為每一層添加偏差以計算模型的輸出。密集層或全連接層第l層的輸入、…

SQL面試題練習 —— 查詢前2大和前2小用戶并有序拼接

目錄 1 題目2 建表語句3 題解 1 題目 有用戶賬戶表&#xff0c;包含年份&#xff0c;用戶id和值,請按照年份分組&#xff0c;取出值前兩小和前兩大對應的用戶id&#xff0c;需要保持值最小和最大的用戶id排首位。 樣例數據 ------------------------- | year | user_id | v…

網絡基礎-RIP協議

RIP&#xff08;Routing Information Protocol&#xff09;是一個基于距離矢量的動態路由協議&#xff0c;常用于小型到中型網絡。RIP是較早的路由協議之一&#xff0c;具有簡單易用的特點。以下是關于RIP協議的詳細介紹&#xff1a; RIP的主要特點 ①使用跳數&#xff08;ho…

非標設備行業的數智化項目管理

近年來&#xff0c;中國制造快速發展&#xff0c;企業迫切需要加快轉型升級。與傳統制造業相比&#xff0c;高端制造業具有明顯的優勢&#xff1a;高技術、高附加值、低污染、低排放、競爭優勢強。一方面&#xff0c;企業對于生產效率和自動化水平的要求不斷提高&#xff0c;期…