女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Telink Python腳本生成工廠數(shù)據(jù)的步驟介紹

泰凌微電子 ? 來源:泰凌微電子 ? 2024-03-27 10:13 ? 次閱讀

工廠數(shù)據(jù)是在制造過程中寫入非易失性存儲器的一組設(shè)備參數(shù)。

所有的工廠數(shù)據(jù)參數(shù)都受保護,以避免被軟件修改。在設(shè)備使用周期內(nèi),固件的數(shù)據(jù)參數(shù)集必須保持不變。在生成固件時,除了某些廠商定義的情況,必須確保在設(shè)備固件更新或恢復(fù)出廠設(shè)置期間,工廠數(shù)據(jù)不會被重寫或覆蓋。

在生成固件的時候,可以用多種方式實現(xiàn)Matter工廠數(shù)據(jù),只要保證最終的 HEX/BIN 文件包含工廠數(shù)據(jù)組件表中定義的所有強制要求的組件。

在本次分享中,我們描述了一種由我們的平臺維護者創(chuàng)建的工廠數(shù)據(jù)集的實現(xiàn)方式。在完成后,將得到一個包含 `CBOR` 格式的工廠數(shù)據(jù)分區(qū)的十六進制和二進制文件。

1

工廠數(shù)據(jù)組件表和數(shù)據(jù)格式

工廠數(shù)據(jù)參數(shù)集包括不同類型的信息,例如設(shè)備證書、加密密鑰、設(shè)備標(biāo)識符,以及硬件等等。所有的這些參數(shù)都是特定于廠商的,并且在制造過程中,必須保存到設(shè)備的持久性存儲器中。工廠數(shù)據(jù)參數(shù)將會在設(shè)備啟動時被讀取,然后可以被用在 Matter 協(xié)議棧和用戶應(yīng)用程序中(例如在配網(wǎng)過程中)。下表列出了工廠數(shù)據(jù)集中包含的參數(shù):

4f82a684-ebdb-11ee-a297-92fbcf53809c.png

工廠數(shù)據(jù)集需要被寫入到Matter設(shè)備的閃存中,所以在我們的示例中,工廠數(shù)據(jù)集以 `CBOR` 格式表示,并存儲在十六進制或二進制文件中。然后,該文件將被燒錄到設(shè)備上。

工廠數(shù)據(jù)集的參數(shù)包括強制參數(shù)和可選參數(shù):

必須始終提供強制性參數(shù),因為設(shè)備在進行配網(wǎng)進入Matter網(wǎng)絡(luò)時需要它們。

可選參數(shù)可用于開發(fā)和測試目的。例如,用戶數(shù)據(jù)參數(shù)包含了特定制造商所需要的且不包含在強制性參數(shù)中的所有數(shù)據(jù)。

在工廠數(shù)據(jù)集中,使用了以下格式:

`uint16` 和 `uint32` -- 這些是分別表示兩字節(jié)長度無符號整數(shù),和四字節(jié)長度無符號整數(shù)的數(shù)字格式。此值以大端順序存儲在十六進制文件中`Byte string` -- 該參數(shù)表示在0到255之間(包括255)的整數(shù)序列,沒有任何編碼。由于JSON格式不允許使用字節(jié)字符串,因此將 `hex:` 前綴添加到參數(shù)中,并將其轉(zhuǎn)換為十六進制字符串。

`ASCII string` 是ASCII編碼中的字符串表示形式,沒有空終止。

`ISO 8601` 格式是一種日期格式,表示以`YYYY-MM-DD`或`YYYYMMDD`格式提供的日期。

存儲在工廠數(shù)據(jù)中的所有證書都以X.509格式提供。

2

啟用工廠數(shù)據(jù)支持

在所有的 Telink 示例中,要開始使用存儲在閃存和 Telink 平臺中的工廠數(shù)據(jù)和 Telink 平臺的 Factory Data Provider,請使用以下編譯選項構(gòu)建一個示例:

1、westbuild---DCONFIG_CHIP_FACTORY_DATA=y

3

生成工廠數(shù)據(jù)

本節(jié)介紹使用以下 Telink Python 腳本生成工廠數(shù)據(jù)的步驟。

檢查和安裝Matter依賴項

在使用生成器工具之前,請確保已具備以下工具。

CHIP Certificate Tool

SPAKE2P Parameters Tool

chip-tool

安裝的詳細(xì)描述:

使用以下命令在 `path/to/connectedhomeip/build/out/host` 生成 chip-tool, spake2p 和chip-cert

cdpath/to/connectedhomeip

sourcescripts/activate.sh

gngenbuild/out/host

ninja-Cbuild/out/host

在$PATH 中加入工具路徑

exportPATH="$PATH:path/to/connectedhomeip/build/out/host"

在設(shè)備固件上準(zhǔn)備工廠數(shù)據(jù)分區(qū)

工廠數(shù)據(jù)分區(qū)是設(shè)備持久存儲中存儲工廠數(shù)據(jù)集的區(qū)域。這個區(qū)域在 DeviceTrees 文件里進行配置。

對于 Matter v1.0-branch 分支,配置文件在Zephyr工程中,路徑為:`zephyrproject/zephyr/boards/riscv/tlsr9518adk80d/tlsr9518adk80d.dts`。

對于 Matter v1.1-branch 分支,配置文件在Matter工程中,路徑為:`connectedhomeip/src/platform/telink/tlsr9518adk80d.overlay`。

對于 Matter master 分支,配置文件在Matter工程中。不過,將對分區(qū)的聲明從 `tlsr9518adk80d.overlay` 中提取出來,分別寫作 `1m_flash.overlay`,`2m_flash.overlay`,和 `4m_flash.overlay`。那么,可以根據(jù)所選的芯片的 Flash 尺寸,去選擇合適的配置文件。

若要準(zhǔn)備一個客制化的支持工廠數(shù)據(jù)的示例,請在 `tlsr9518adk80d.dts`,`tlsr9518adk80d.overlay` 或 `Xm_flash.overlay` 文件中添加或修改一個名為 `factory-data` 的分區(qū)。分區(qū)大小應(yīng)該是一個 flash page 的倍數(shù)(單個 page 大小等于 4kB)。

腳本使用

若要使用此腳本,請完成以下步驟:

1、進入 `connectedhomeip` 根目錄。

2、使用 `-h` 選項運行腳本,以查看所有可能的選項:

pythonscripts/tools/telink/mfg_tool.py-h

3、準(zhǔn)備一個參數(shù)列表:

填寫所有強制性參數(shù):

--serial-num--vendor-id,--product-id,--vendor-name,--product-name,--mfg-date,--hw-ver,--hw-ver-str,--enable-rotating-device-id,--spake2-path,--chip-tool-path,--chip-cert-path,--offset,--size

添加輸出文件路徑:

--output

添加證書聲明路徑(必選):

-cd

指定使用哪個證書:

用戶:

--dac-cert

--dac-key

--cert

--key

--pai

生成DAC和PAI:

--cert

--key

--paa

使用以下選項之一為輪換設(shè)備 ID 添加新的唯一 ID:

提供一個已存在的 ID:

--rdid--uid

生成一個新的 ID 并提供:

--enable-rotating-device-id

(可選)指定自己的密碼:

--passcode

(可選)指定自己的鑒別碼:

--discriminator

(可選)添加覆蓋現(xiàn)有輸出文件的請求:

--overwrite

指定分區(qū)偏移量和大小:

--offset

--size

這個命令中:

是設(shè)備的持久存儲區(qū)域中的地址,分區(qū)數(shù)據(jù)集將存儲在其中。

是設(shè)備持久存儲區(qū)域中分區(qū)的大小。根據(jù)這個值檢查新數(shù)據(jù),看它的大小是否適合。

重要提示:

對 Matter v1.0-branch 分支使用:

--offset0xf4000--size0x1000

對 Matter ***v1.1-branch*** 分支使用:

--offset0x104000--size0x1000

對最新的 Matter ***master*** 分支(2MB flash)使用:

--offset0x107000--size0x1000

使用已準(zhǔn)備好的參數(shù)列表運行該腳本

1、python3mfg_tool.py

例如,對Python腳本的最終調(diào)用看起來類似于下面的用法:

python3scripts/tools/telink/mfg_tool.py

--vendor-id0xFFF2--product-id0x8001

--serial-numAABBCCDDEEFF11223344556677889900

--vendor-name"TelinkSemiconductor"

--product-name"not-specified"

--mfg-date2022-12-12

--hw-ver1

--hw-ver-str"prerelase"

--enable-rotating-device-id

--pai

--keycredentials/test/attestation/Chip-Test-PAI-FFF2-8001-Key.pem

--certcredentials/test/attestation/Chip-Test-PAI-FFF2-8001-Cert.pem

-cdcredentials/test/certification-declaration/Chip-Test-CD-FFF2-8001.der

--spake2-pathbuild/out/host/spake2p

--chip-tool-pathbuild/out/host/chip-tool

--chip-cert-pathbuild/out/host/chip-cert

--offset0x107000--size0x1000

--out./factory_data_for_2mb_flash

作為上述示例的結(jié)果,將會生成以下文件:

4f9896c4-ebdb-11ee-a297-92fbcf53809c.png

可選示例/

生成多個工廠分區(qū)數(shù)據(jù)

[可選參數(shù) :--count]

python3scripts/tools/telink/mfg_tool.py--count2-v0xFFF2-p0x8001

--serial-numAABBCCDDEEFF11223344556677889900

--vendor-name"TelinkSemiconductor"

--product-name"not-specified"

--mfg-date2022-12-02

--hw-ver1

--hw-ver-str"prerelase"

--enable-rotating-device-id

--pai

--keycredentials/test/attestation/Chip-Test-PAI-FFF2-8001-Key.pem

--certcredentials/test/attestation/Chip-Test-PAI-FFF2-8001-Cert.pem

-cdcredentials/test/certification-declaration/Chip-Test-CD-FFF2-8001.der

--spake2-pathbuild/out/host/spake2p

--chip-tool-pathbuild/out/host/chip-tool

--chip-cert-pathbuild/out/host/chip-cert

--offset0x107000--size0x1000

--out./factory_data_for_2mb_flash

作為上述示例的結(jié)果,將會生成以下文件:

4fb07956-ebdb-11ee-a297-92fbcf53809c.png

*注意:默認(rèn)情況下,生成的文件不能覆蓋現(xiàn)有輸出目錄。如果想要允許覆蓋,請將 `--overwrite` 選項添加到 Python 腳本的參數(shù)列表中。



審核編輯:劉清

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

    關(guān)注

    2

    文章

    803

    瀏覽量

    42134
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4823

    瀏覽量

    86142
  • 非易失性存儲器
    +關(guān)注

    關(guān)注

    0

    文章

    109

    瀏覽量

    23642

原文標(biāo)題:【技術(shù)專欄】Matter工廠數(shù)據(jù)使用介紹(一)

文章出處:【微信號:telink-semi,微信公眾號:泰凌微電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    基于Python腳本的R語言的函數(shù)

    本文介紹了采用創(chuàng)建一個Python腳本,用該腳本模仿R風(fēng)格的函數(shù)的方法來方便地進行統(tǒng)計。 是用R語言還是用Python語言?這是一個曠日持久
    的頭像 發(fā)表于 10-12 09:33 ?2296次閱讀
    基于<b class='flag-5'>Python</b><b class='flag-5'>腳本</b>的R語言的函數(shù)

    我用labview調(diào)用matlab腳本如何保存生成數(shù)據(jù)向量?

    我用labview調(diào)用matlab腳本,想保存matlab腳本生成數(shù)據(jù)向量,怎么實現(xiàn)?
    發(fā)表于 11-12 15:14

    我用labview調(diào)用matlab腳本,想保存matlab腳本生成數(shù)據(jù)向量,怎么實現(xiàn)?

    我用labview調(diào)用matlab腳本,想保存matlab腳本生成數(shù)據(jù)向量,怎么實現(xiàn)?
    發(fā)表于 02-20 10:07

    vision的腳本生成vi,vi里面是空白的

    我用vision2016的腳本生成labview2013的vi,生成的vi里面是空白的,什么都沒有,哪位大神可以幫忙解釋一下,十分感謝
    發(fā)表于 08-03 16:30

    如何將RK 3128腳本生成固件?

    如何將RK 3128腳本生成固件?
    發(fā)表于 03-04 07:03

    Telink的TLSR9系列芯片OpenHarmony開發(fā)環(huán)境配置

    bash中輸入下列命令,查看python版本:python3 --version如果不低于3.8,可以忽略第二步的重新安裝,從第三步的設(shè)置開始。如果Python版本低于3.8,不建議直接升級,請按照如下
    發(fā)表于 07-05 14:31

    如何為PyInstaller命令行添加OpenVINO依賴性,從OpenVINO python腳本生成功能 .exe文件?

    執(zhí)行此命令行以從 OpenVINO python 腳本創(chuàng)建 build.exe 文件: pyinstaller --onefile --add-data \"D
    發(fā)表于 08-15 07:16

    如何在 IIS 中執(zhí)行 Python 腳本

    如何在 IIS 中執(zhí)行 Python 腳本 Python 是一種解釋腳本語言,概念類似 Microsoft Visual Basic Scripting Edition (VBSc
    發(fā)表于 02-23 15:13 ?1339次閱讀

    如何使html網(wǎng)頁與python腳本進行通信

    現(xiàn)在運行python腳本并轉(zhuǎn)到http://localhost/或http://localhost/并開始按下按鈕,您應(yīng)該會在python腳本上看到輸入。
    的頭像 發(fā)表于 11-04 10:12 ?8048次閱讀

    基于生成器的圖像分類對抗樣本生成模型

    現(xiàn)有基于生成器的對抗樣本生成模型相比基于迭代修改原圖的算法可有效降低對抗樣本的構(gòu)造時間,但其生成的對抗樣本與原圖在感知上具有明顯差異,人眼易察覺。該模型旨在增加對抗樣本與原圖在人眼觀察感知上的相似性
    發(fā)表于 04-07 14:56 ?2次下載
    基于<b class='flag-5'>生成</b>器的圖像分類對抗樣<b class='flag-5'>本生成</b>模型

    受控文本生成模型的一般架構(gòu)及故事生成任務(wù)等方面的具體應(yīng)用

    來自:哈工大訊飛聯(lián)合實驗室 本期導(dǎo)讀:本文是對受控文本生成任務(wù)的一個簡單的介紹。首先,本文介紹了受控文本生成模型的一般架構(gòu),點明了受控文本生成
    的頭像 發(fā)表于 10-13 09:46 ?3788次閱讀
    受控文<b class='flag-5'>本生成</b>模型的一般架構(gòu)及故事<b class='flag-5'>生成</b>任務(wù)等方面的具體應(yīng)用

    Python怎么玩轉(zhuǎn)JS腳本

    本項目旨在讓大家了解如何用Python來執(zhí)行JS腳本,其主要目的是在進行數(shù)據(jù) 分析時,需要利用爬蟲獲取數(shù)據(jù),有時會遇到JS混淆加密反爬取難點,此時我們需 要獲取網(wǎng)頁JS加密代碼將其
    的頭像 發(fā)表于 02-23 16:26 ?1360次閱讀
    <b class='flag-5'>Python</b>怎么玩轉(zhuǎn)JS<b class='flag-5'>腳本</b>

    如何在Linux命令行中運行Python腳本

    Python 腳本。 在本文中,我們將詳細(xì)介紹如何在 Linux 命令行中運行 Python 腳本。我們將討論以下主題:
    的頭像 發(fā)表于 05-12 14:49 ?2022次閱讀

    如何使用Python腳本調(diào)試賽靈思PCIe設(shè)計?

    現(xiàn)在,您不僅可以使用 Python 腳本執(zhí)行調(diào)試分析,更重要的是,借由 Vivado ILA 所生成的 ILA 文件可以進一步簡化此操作。通過將 *.ila 擴展名重命名為 *.zip 然后將
    的頭像 發(fā)表于 06-26 09:20 ?1676次閱讀
    如何使用<b class='flag-5'>Python</b><b class='flag-5'>腳本</b>調(diào)試賽靈思PCIe設(shè)計?

    如何使用 Llama 3 進行文本生成

    torch 使用Hugging Face的pipeline進行文本生成python復(fù)制代碼 from tr
    的頭像 發(fā)表于 10-27 14:21 ?945次閱讀