處理月臺工作
重要
這是 Azure Sphere (舊版) 檔。 Azure Sphere(舊版)將於 2027 年 9 月 27 日淘汰,且使用者此時必須移轉至 Azure Sphere(整合式)。 使用位於 TOC 上方的版本選取器來檢視 Azure Sphere (整合式) 檔。
包含 Azure Sphere 硬體的製造連線裝置牽涉到下列處理月臺工作,以準備裝置寄送:
- 將每個 Azure Sphere 晶片連線到工廠樓層電腦
- 取得裝置詳細數據,並錄製這些詳細數據以供稍後使用
- 視需要更新 Azure Sphere OS
- 視需要更新受信任的金鑰存放區
- 將軟體載入裝置
- 執行功能測試以確認產品的正確作業
- 執行無線電頻率 (RF) 測試和校正
- 驗證Wi-Fi通訊
- 設定乙太網路的裝置
- 完成要寄送的 Azure Sphere 裝置
您必須先將晶片連線到計算機,再取得裝置詳細數據,最後完成裝置,但您可以依任何符合製造環境的順序執行其他工作。
重要
您應該進行一些準備,以協助確保您的工廠工作可以在不延遲的情況下完成。 準備包括設定工廠樓層計算機和任何其他必要設備,以及安裝必要的計算機軟體工具。 您在準備順暢的製造程式時應該執行的所有工作,都會在製造程序準備中說明。
將每個 Azure Sphere 晶片連線到工廠樓層的電腦
在製造期間,您必須將每個 Azure Sphere 晶片連線到工廠樓層電腦。 如果您想要同時將多個 Azure Sphere 裝置連線到單一計算機,請參閱 製造準備工作中的工廠 用設備。
大部分的 Factory-floor 工作都牽涉到 azsphere device 命令。 當您有多個裝置連結至計算機時,您必須指定要套用 azsphere device 命令的裝置,方法是將 參數設定為裝置的 --device
或裝置的連線路徑。 如果省略 參數並連結多個裝置, --device
命令將會失敗。 若要取得IP位址或連線路徑,請參閱 取得裝置詳細數據。
重要
Azure Sphere 23.05 SDK 版本和更新版本支援與 Windows 和 Linux 上多個連結裝置的通訊。
取得裝置詳細數據
您必須記錄貴公司納入製造產品之每個 Azure Sphere 晶片的裝置識別碼。 您需要雲端設定工作的裝置識別碼。
如果您有多個裝置連接到工廠樓層計算機,您也必須記錄連結裝置的IP位址或連線路徑,以供稍後在處理月臺工作中使用。 如連線每個 Azure Sphere 晶片中所述,需要 IP 位址或連線路徑,才能在有多個連結的裝置時指定目標裝置。
若要取得連結裝置的裝置標識碼、IP 位址和連線路徑,請使用 azsphere device list-attached 命令。 下列描述提供裝置標識碼、IP 位址和連線路徑的基本詳細數據。
裝置標識碼 - 晶元製造商會建立裝置標識碼、將其儲存在晶元上,並將它註冊到Microsoft。 此裝置註冊可確保Microsoft知道所有 Azure Sphere 晶片,而且只有合法的晶片可用於連線裝置。
IP 位址 - 當 FTDI 型裝置介面連結至計算機時,會指派 IP 位址;它不會指出有回應式裝置。 當 FTDI 型裝置介面連接到電腦時,IP 位址會持續存在,即使不同的 Azure Sphere 裝置插入介面也一樣。 不過,在計算機重新啟動之後,IP 位址可能會變更。 要連接的第一個 FTDI 型裝置介面會指派位址 192.168.35.2。 即使IP位址沒有回應,每個裝置都會獲派IP位址,因此您可以使用IP位址來識別需要復原的裝置。
線上路徑 - 連線路徑是 識別 USB 連線的 FTDI 位置識別碼 。 當 FTDI 型裝置介面連接到相同 USB 中樞上的相同 USB 埠時,位置標識符會持續存在,並接著連接到電腦上的相同埠。 因此,它會在重新啟動時持續存在。 不過,計算機與裝置之間線路的任何變更都可能導致連線路徑的變更。 如同IP位址,即使不同的 Azure Sphere 裝置插入 FTDI 介面,也不會變更。
更新 Azure Sphere OS
每個 Azure Sphere 晶片都會從矽製造商寄送時,使用 Azure Sphere OS 載入。 根據供應商提供的晶片上的 Azure Sphere OS 版本,以及根據應用程式的 OS 版本需求而定,您可能需要在製造連線的裝置期間更新 Azure Sphere OS。 您可以安裝應該已存在於您電腦上的特定復原映像來更新 OS。 請參閱 在製造準備工作中準備操作系統 的更新。 製造 範例 包含執行平行多重裝置復原的範例腳本。
您可以發出 azsphere device recover 命令,以更新 Azure Sphere 裝置上的 OS。
--images
使用 參數來安裝特定的復原映射:
azsphere device recover --images <path-to-images> [--device <IP-address or connection-path>]
注意
如果有多個裝置連線到計算機,請包含 --device
參數,以依IP位址或聯機路徑識別目標裝置。 如需詳細資訊,請參閱 將每個 Azure Sphere 晶片連線到工廠樓層電腦 。
更新受信任的金鑰存放區
作為將軟體載入裝置的必要條件,您可能需要更新裝置上的受信任密鑰存放區。 只有當裝置上的 OS 比軟體還舊,而且只有在 AS3 所使用的 Azure Sphere 映像簽署金鑰在發行的 OS 與正在生產環境簽署的軟體之間更新時,才需要此密鑰。 若要避免此步驟並減少製造時間,請考慮更新您在製造期間所使用的OS版本。
您可以根據下一節中的指示,輕鬆判斷是否需要更新受信任的密鑰存放區。 如果載入成功,您就不需要更新受信任的金鑰存放區。 如果載入失敗,訊息開頭為 Internal device error: Image not trusted by device
,則過期的受信任密鑰存放區是原因。
若要更新受信任的金鑰存放區,您必須 取得最新的受信任密鑰存放區檔案。 然後,在製造腳本中,使用 azsphere device sideload deploy 命令在載入應用程式軟體之前載入更新的受信任密鑰存放區,並將 取代 <path-to-trusted-keystore.bin>
為受信任密鑰存放區檔案的路徑:
azsphere device sideload deploy --image-package <path-to-trusted-keystore.bin> [--device <IP-address or connection-path>]
載入裝置軟體
您載入的所有軟體,無論它是面板組態映像、測試應用程式或生產應用程式,都必須經過生產簽署。 如果您載入暫存應用程式進行測試,則必須在測試完成之後將其刪除。
在工廠階段程式期間您需要的所有生產簽署映像,在開始此程式之前,應該先儲存在工廠計算機,如取得生產環境簽署映像中所述的製造準備工作。
在製造期間,Azure Sphere 裝置不得要求任何特殊的裝置功能,例如可進行偵錯的 appdevelopment 功能。 取得個別裝置的功能可降低裝置安全性,而且需要因特網連線能力,這在工廠地板上通常是不想要的。
若要將軟體載入處理站中的裝置,或在測試完成後從裝置刪除暫存軟體,請使用 azsphere device sideload 命令,如下所示:
使用 azsphere device sideload deploy 來載入映射,並將 取代
<file-path>
為生產簽署映射檔案的名稱和路徑:azsphere device sideload deploy --image-package <file-path> [--device <IP-address or connection-path>]
使用 azsphere device sideload delete 刪除 暫存映射,將 取代
<component-id>
為要刪除之映射的元件標識碼:azsphere device sideload delete --component-id <component-id> [--device <IP-address or connection-path>]
注意
如果有多個裝置連線到計算機,請包含 --device
參數,以依IP位址或聯機路徑識別目標裝置。 如需詳細資訊,請參閱 將每個 Azure Sphere 晶片連線到工廠樓層電腦 。
執行功能測試
必須進行功能測試,才能確認產品運作正常。 執行您在製造準備工作中針對功能測試所開發的應用程式。 請參閱 開發應用程式以進行功能測試。
如果您的功能測試需要與所測試晶元的通訊,請透過您自己的設計的適當電路,將 MT3620 周邊 UART (ISU0、ISU1、ISU2 或 ISU3) 連接到工廠樓層電腦或外部測試設備。
執行無線電頻率 (RF) 測試和校正
Azure Sphere 晶片可以使用Wi-Fi來接收軟體更新,並與因特網通訊。 如果您的產品使用Wi-Fi,併入晶片設計或未經過 RF 認證的模組,您必須為每個裝置執行 RF 測試和校正。 這項工作所需的設備和工具會在 製造準備工作中用於 RF 測試和校正 的設備和軟體中說明。
RF 工具套件包含公用程式和 C API 連結庫,以供測試期間使用。 您可以使用 C API 連結庫,在 e-fuse 中設計產品特定的 RF 設定。 例如,e-fuse 會設計為設定天線和頻率、調整裝置以獲得最佳效能,以及啟用Wi-Fi通道。 RF 測試工具主題描述如何使用 RF 工具。
程式電子融合以啟用Wi-Fi通道
Azure Sphere OS 會根據編碼為 MT3620 e-fuse 的區域代碼來選取 Wi-Fi 通道,其位移位址0x36和0x37。 如需MT3620上 e-fuse 的詳細資訊,請參閱 MT3620 E-fuse內容指導方針 Mediatek 檔。
區域代碼是兩個字母的 ASCII 程式代碼。 Azure Sphere OS 會使用 e-fuses 中的區域代碼設定來查閱 Linux 無線法規資料庫中的區域,然後選取該區域所允許的通道。 如果未將任何區域代碼程式代碼程式碼程式設計成 e-fuse,在此情況下,e-fuses 會保持設定為 0x00 0x00,或如果程式化字元 「00」 ,則 OS 預設為所有區域中通常允許的保守通道集合。 Linux 無線法規資料庫中會指定區域 「00」 允許的通道。
e-fuses 中的區域代碼設定不需要符合將使用裝置的國家/地區。 製造商可以選擇任何對應至作業區域允許通道集的區域代碼。 不同的區域和國家/地區通常會採用類似或相同的法規,以允許區域代碼交替使用。
範例: 若要指示 Azure Sphere OS 選取區域 “DE” (德國)的Wi-Fi 通道,程式0x44=D 和 0x45=E 到位址0x36和0x37的 e-fuses。 從 Linux 無線法規資料庫摘錄的德國允許通道如下所示。 歐盟(EU)中的大多數國家都允許同一組管道。
country DE: DFS-ETSI
(2400 - 2483.5 @ 40), (100 mW)
(5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI
(5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI
(5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI
# short range devices (ETSI EN 300 440-1)
(5725 - 5875 @ 80), (25 mW)
# 60 GHz band channels 1-4 (ETSI EN 302 567)
(57000 - 66000 @ 2160), (40)
確認 RF 組態
使用 RfSettingsTool 來確認已正確設定無線電組態選項,例如目標傳輸電源、區域代碼和 Wi-Fi 媒體 存取控制 (MAC) 位址。 RF 設定工具檔提供有關使用此工具的詳細資訊。
確認Wi-Fi通訊
請考慮連線到Wi-Fi存取點,以確認您的產品應用程式能夠透過Wi-Fi進行通訊。 確定Wi-Fi連線沒有因特網存取權,因為如果晶片連線到已啟用因特網的存取點,可能會發生無線更新。
若要將裝置連線到Wi-Fi存取點,請遵循快速入門 (CLI] 索引標籤中的指示。 如果多個裝置連線到計算機,您必須在 --device
azsphere device wifi show-status 命令和 azsphere device wifi add 命令中包含 參數。 如需搭配多個連結裝置使用 azsphere device 命令的詳細資訊,請參閱 將每個 Azure Sphere 晶片連線到工廠樓層計算機。
在Wi-Fi測試之後,您應該從晶片移除任何用於測試的Wi-Fi存取點,讓客戶看不到這些存取點。 裝置復原會從晶元中移除所有Wi-Fi設定數據。
設定乙太網路的裝置
Azure Sphere 裝置可以透過乙太網路進行通訊。 裝置需要外部乙太網路卡和面板組態映像,以便透過乙太網路進行通訊。
若要設定乙太網路的 Azure Sphere 裝置,請將乙太網路卡連線至 Azure Sphere 裝置,如連線乙太網路卡中所述。
Azure Sphere 操作系統支援兩個乙太網路裝置。
- 微晶元ENC28J60。 這是 10Base-T (10mbps) 配接器。 它可以以半雙工速度連接 LED 指示器,或沒有全雙工速度的 LED 指示器。 所見的 devkit 是針對半雙工作業所連接的。
- Wiznet W5500。 這是 100Base-TX (100mpbs) 配接器。 它支援整合式 TCP/IP 堆棧和 NIC 傳遞模式,但 Azure Sphere 僅支援使用 W5500 進行因特網連線時的 NIC 傳遞。 由於總線頻寬限制,MT3620 裝置可能無法達到完整 100 mbps 的速度。
載入面板組態后,乙太網路介面會自動啟用,如載入裝置軟體中所述,並重新啟動裝置。 所有介面預設都會使用動態IP位址。
完成 Azure Sphere 裝置
完成可確保 Azure Sphere 裝置處於安全狀態,且已準備好寄送給客戶。 您必須先完成裝置,才能寄送裝置。 最終處理牽涉到:
執行就緒寄送檢查,以確保已安裝正確的系統軟體和生產應用程式,並停用 RF 工具。
將裝置製造狀態設定為鎖定 RF 組態和校正工具,並防止安全性缺口。
執行準備寄送檢查
在運送包含 Azure Sphere 裝置的產品之前,請務必先執行現成的寄送檢查。 必須針對不同的製造狀態執行不同的檢查。 準備寄送檢查可確保下列各項:
- 裝置製造狀態已針對該製造階段正確設定。
- 裝置上的 Azure Sphere OS 有效且預期的版本。 這隻能檢查尚未處於 DeviceComplete 狀態的裝置。
- 裝置上使用者提供的映像符合預期的映像清單。 這隻能檢查尚未處於 DeviceComplete 狀態的裝置。
- 裝置上未設定未預期的Wi-Fi網路。 這隻能檢查尚未處於 DeviceComplete 狀態的裝置。
- 裝置不包含任何特殊功能憑證。 針對 MT3620 型裝置,這隻能在不在 [空白] 狀態的裝置上檢查。
不同的製造階段需要不同的檢查,因為裝置的製造狀態會 決定裝置的功能 。
您執行的檢查也會取決於您正在設計模組或連線的裝置。 例如,身為模組製造商,您可以選擇讓晶片保持空白製造狀態,讓模組的客戶可以執行額外的無線電測試和設定。
使用device_ready.py來執行檢查
製造範例套件包含稱為 device_ready.py 的工具,可針對每個製造狀態執行上述檢查。 它應該針對與裝置相關的每個製造狀態執行。
下表列出device_ready.py腳本採用的參數:
參數 | 描述 |
---|---|
--expected_mfg_state |
決定要檢查的製造狀態,並控制要執行哪些測試。 如果未指定此參數,則預設為 “DeviceComplete”。 如果裝置的製造狀態與此值不同,檢查就會失敗。 |
--images |
指定裝置上必須存在的映像標識碼清單,以便檢查成功。 清單是由以空格分隔的影像 GUID 所組成。 如果未指定,此參數會預設為空白清單。 如果裝置上已安裝的映像標識碼清單與此清單不同,檢查就會失敗。 藉由檢查映像標識碼(而非元件標識符),這項檢查可確保元件的特定版本存在。 |
--os |
指定 Azure Sphere OS 的版本清單。 如果未提供,此參數會預設為空白清單。 如果裝置上存在的 OS 版本不在此清單中,這項檢查會失敗。 |
--os_components_json_file |
指定 JSON 檔案的路徑,其中列出定義每個作業系統版本的 OS 元件。 針對 MT3620 型裝置,此檔案名為 mt3620an.json。 使用 工具來 download_os_list.py 下載最新版本。 |
--azsphere_path |
指定azsphere.exe公用程序的路徑。 如果未指定,此參數會預設為 Windows 上 Azure Sphere SDK 的預設安裝位置。 只有在預設位置中未安裝 Azure Sphere SDK 時,才使用此參數。 |
--help |
顯示命令列說明。 |
--verbose |
提供其他輸出詳細數據。 |
下列範例是具有下列自變數之工具的 device_ready.py
範例執行:
--os 22.07
--os_components_json_file mt3620an.json
--expected_mfg_state Module1Complete
device_ready.py --os 22.07 --os_components_json_file mt3620an.json --expected_mfg_state Module1Complete
Checking device is in manufacturing state Module1Complete...
PASS: Device manufacturing state is Module1Complete
Checking capabilities...
PASS: No capabilities on device
Checking OS version...
PASS: OS '22.07' is an expected version
Checking installed images...
PASS: Installed images matches expected images
Checking wifi networks...
PASS: Device has no wifi networks configured
------------------
PASS
設定裝置製造狀態
敏感性製造作業,例如將無線電放在測試模式中,以及設定Wi-Fi組態 e-fuse,不應可供包含 Azure Sphere 晶片的裝置使用者存取。 Azure Sphere 裝置的製造狀態會限制對這些敏感性作業的存取。
這三個製造狀態如下所示:
空白。 空白狀態不會限制晶元上的製造作業。 處於空白狀態的晶元可以進入 RF 測試模式,而且其電子保險絲可以進行程序設計。 當晶片從矽廠運出時,它們處於 空白 製造狀態。
Module1Complete。 Module1Complete 製造狀態的設計目的是限制使用者可以對無線電組態設定所做的調整,例如最大傳輸功率等級和允許的頻率。 在設定Module1Complete之前,可以使用 RF 命令。 若要滿足無線電硬體的法規原則,可能需要限制使用者對這些設定的存取。 此設定主要會影響需要測試和校正無線電操作參數的製造商。
Microsoft建議您在無線電測試和校正完成後設定此製造狀態;設定 RF 命令之後就無法使用。 Module1Complete 狀態可保護裝置免受可能中斷附近無線電和其他無線裝置正常運作的變更。
DeviceComplete。 DeviceComplete 製造狀態可讓成品製造商保護在現場部署的裝置,以防止變更。 一旦裝置進入 DeviceComplete 狀態,每當執行任何軟體載入和設定工作時,都必須使用裝置特定的功能檔案。 fieldservicing 功能可讓您側載生產簽署的映像,但無法刪除它們。 appdevelopment 功能允許側載和刪除影像。
請勿為 未完成的裝置或模組設定 DeviceComplete (Wi-Fi 模組、開發板等),這些裝置可能用作較大系統的一部分;此狀態會限制製造活動,例如生產線測試、軟體安裝和設定。 在設定 DeviceComplete 之後,許多 CLI 命令都無法使用,因此必須先執行特定就緒寄送檢查,才能設定此狀態。 限制的命令可以使用裝置功能重新啟用,例如字段偵測功能,但僅適用於您宣告的裝置,因此這不適用於工廠環境,因為它需要雲端連線。
下表摘要說明每個製造狀態存在的裝置功能。
製造狀態 | 裝置功能 |
---|---|
Blank | enableRfTestMode、fieldServicing,以及側載或隨著作業傳遞的作業,如裝置功能中所述。 |
Module1Complete | fieldServicing 以及側載或以作業傳遞的字段,如裝置功能中所述。 |
DeviceComplete | 只有側載或以作業傳遞的作業,如裝置功能中所述。 |
製造完成時,請使用 azsphere device manufacturing-state update 命令來設定 DeviceComplete 狀態:
azsphere device manufacturing-state update --state <desired-state> [--device <IP-address or connection-path>]
注意
如果有多個裝置連線到計算機,請包含 --device
參數,以依IP位址或聯機路徑識別目標裝置。 如需詳細資訊,請參閱 將每個 Azure Sphere 晶片連線到工廠樓層電腦 。
重要
將晶片移至 DeviceComplete 狀態是永久作業,無法復原。 一旦晶元處於 DeviceComplete 狀態,就無法進入 RF 測試模式;無法調整其電子融合設定;且 Wi-Fi 設定、作業系統更新和已安裝的應用程式無法變更,而不需宣告裝置並使用裝置功能。 如果您需要在裝置功能未重新啟用的個別晶元上重新啟用功能,例如在失敗分析案例中,請連絡Microsoft。