成人免费无码不卡毛片,亚洲AⅤ无码精品一区二区三区,国产尤物精品视频,久久精品日本亚洲,欧美成人一区三区无码乱码A片,中文字日产幕码一区二区色哟哟,亞洲日韓中文字幕網AV

  • 正文
    • 一、SDP協(xié)議簡(jiǎn)介
    • 二、Secure Provisioning Tool設(shè)置
    • 三、在RT1010上手工測(cè)試
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

RT10xx系列UART SDP能設(shè)置多高波特率?

05/28 15:20
197
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是i.MXRT10xx系列ROMUART SDP設(shè)置不同波特率的方法。

恩智浦 i.MXRT 四位數(shù)系列目前分為 RT10xx 和 RT11xx,前者的 BootROM 支持的上位機(jī)通信協(xié)議叫 SDP(來(lái)自于 i.MX),后者通信協(xié)議是 blhost(來(lái)自于 Kinetis),兩種協(xié)議都實(shí)現(xiàn)了通過(guò) UART/USB 與上位機(jī)通信的一系列命令。blhost 協(xié)議支持 UART 波特率自動(dòng)識(shí)別,而 SDP 協(xié)議不支持自動(dòng)識(shí)別,但可以通過(guò)專用命令設(shè)置不同 UART 波特率。

近期有一個(gè) RT1011 日本客戶,在查看芯片參考手冊(cè)時(shí)發(fā)現(xiàn)?System Boot?章節(jié)介紹了 UART SDP 可以支持設(shè)置不同的波特率,客戶想知道能夠支持的最大波特率,這點(diǎn)在手冊(cè)里并未提及,而在恩智浦官方工具(Secure Provisioning Tool,簡(jiǎn)稱 SPT)里可設(shè)的最大波特率是 460800(V10 版本),那么這就是極限嗎?今天痞子衡來(lái)實(shí)測(cè)一下:

一、SDP協(xié)議簡(jiǎn)介

SDP 協(xié)議在不同的 RT10xx 型號(hào)上是有區(qū)別的,其中在 RT1060 上協(xié)議最全,一共支持 7 條命令,而在 RT1010 上則簡(jiǎn)化為僅支持 4 條命令。不管怎樣 SET_BAUDRATE 是基礎(chǔ)命令。

SDP 協(xié)議命令組成也足夠簡(jiǎn)單,固定 16 個(gè)字節(jié),由 COMMAND TYPE + ADDRESS + FORMAT + DATA COUNT + DATA + RESERVED 組成,簡(jiǎn)單又粗暴。

二、Secure Provisioning Tool設(shè)置

恩智浦官方工具 SPT 里集成了 SDP 協(xié)議支持,我們只需要在界面里選擇不同波特率即可,從最低 14400 到最高 460800,不過(guò)遺憾的是波特率窗口并不支持用戶手動(dòng)輸入,所以在這個(gè)上位機(jī)工具里沒(méi)法測(cè)極限波特率。

熟悉這個(gè)上位機(jī)的朋友應(yīng)該知道,其底層依賴得是 SPSDK,這是一個(gè)基于 Python 實(shí)現(xiàn)的命令集合 SDK。其用于 SDP 通信的工具是 sdphost,命令列表里有 set-baudrate 支持,我們當(dāng)然可以使用這個(gè)工具來(lái)做測(cè)試。

https://spsdk.readthedocs.io/en/latest/apps/sdphost.html

三、在RT1010上手工測(cè)試

痞子衡也開(kāi)發(fā)過(guò)一個(gè)上位機(jī) MCUBootUtility (這是官方工具 SPT 的前身),其底層依賴得是 toolssdphostwinsdphost.exe,這個(gè)程序是最早的 SDP 協(xié)議工具,但是比較遺憾的是其不支持 set-baudrate 命令并且該工具已經(jīng)不再升級(jí)。今天我們就結(jié)合這個(gè)古早的工具以及串口調(diào)試助手來(lái)做極限波特率測(cè)試,順便了解一下 SDP 協(xié)議里的數(shù)據(jù)包格式。

準(zhǔn)備一塊 RT1010 板卡,調(diào)到 SDP 模式,將 UART 連接好便可以開(kāi)始測(cè)試,先用 sdphost.exe -- error-status 命令測(cè)試一下連通性(-d 參數(shù)可以看到與上位機(jī)交互數(shù)據(jù)包),波特率僅能設(shè)置為默認(rèn)的 115200:

當(dāng)然也可以直接用串口調(diào)試助手(依然是默認(rèn) 115200 波特率),手工打入 16 個(gè)字節(jié)的 error-status 數(shù)據(jù)包,看看結(jié)果是不是和 sdphost.exe 一致:

這時(shí)候繼續(xù)在串口調(diào)試助手里使用默認(rèn) 115200 波特率發(fā)送 set-baudrate 數(shù)據(jù)包,注意數(shù)據(jù)包里 ADDRESS 為波特率值時(shí)是大端模式(0x0000E100 對(duì)應(yīng)波特率 57600),當(dāng)收到 RT1010 傳來(lái)的 ACK 0x900dd009 時(shí)表明波特率設(shè)置"成功"(這里有個(gè)誤區(qū),MCU 發(fā)送 ACK 并不是用新設(shè)置的波特率,而用得與當(dāng)前上位機(jī)一致的波特率,這個(gè) ACK 僅僅代表正確收到了上位機(jī) set-baudrate 命令)。如果在此基礎(chǔ)上再次設(shè)波特率,則需要調(diào)整串口調(diào)試助手里的波特率與上次設(shè)置一致。

要測(cè)試新波特率是否設(shè)置成功,還是要繼續(xù)使用 sdphost -- error-status 命令做一次新的測(cè)試。最終痞子衡實(shí)測(cè) RT1010 上最高波特率可達(dá) 512000 (614400 測(cè)試失?。捎谄ψ雍饣诘沫h(huán)境里 Host 是 RT1010-EVK 上的 DAP-LINK 里自帶的 USB 轉(zhuǎn) UART 功能,實(shí)際最高波特率性能可能也受此影響,大家可以選擇更高性能的 Host 做更極限的測(cè)試。

至此,i.MXRT10xx系列ROM的UART SDP設(shè)置不同波特率的方法痞子衡便介紹完畢了,掌聲在哪里~~~

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

碩士畢業(yè)于蘇州大學(xué)電子信息學(xué)院,目前就職于恩智浦(NXP)半導(dǎo)體MCU系統(tǒng)部門,擔(dān)任嵌入式系統(tǒng)應(yīng)用工程師。痞子衡會(huì)定期分享嵌入式相關(guān)文章

卓资县| 钦州市| 丹东市| 锦屏县| 武乡县| 莱州市| 邳州市| 南丰县| 金堂县| 澄迈县| 内黄县| 锡林郭勒盟| 盐亭县| 奉化市| 天等县| 三河市| 邵武市| 通渭县| 西藏| 柘荣县| 阜平县| 乌兰浩特市| 兴义市| 蓬安县| 阳曲县| 安康市| 苏尼特右旗| 阿尔山市| 昭觉县| 榆林市| 庆安县| 云林县| 上思县| 富锦市| 肇州县| 鹿泉市| 辽阳县| 巴南区| 沂水县| 颍上县| 白水县|