<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

在MIMXRT1020CAG4B中設置BT_FUSE_SEL熔絲位

li1756686189 ? 來源:嵌入式 MCU ? 作者:嵌入式 MCU ? 2022-11-07 10:44 ? 次閱讀

從參考手冊中了解到,在軟件運行時才能設置eFuse。如何設置BT_FUSE_SEL,使用Keil MDK燒寫 eFuse進行批量生產呢?這樣保持每次固定只從外部的 QSPI Flash引導,而不需要判斷外部BOOT GPIO引腳電平,可以減少外部下拉電阻的設置,對于原理圖設計會簡化許多。根據手冊,BT_FUSE_SEL位于熔絲地址 0x460的第四位。

882bfce2-5cd5-11ed-a3b6-dac502259ad0.png

88ae0db8-5cd5-11ed-a3b6-dac502259ad0.png

當配置Boot_Mode在內部引導(b10)時,BT_FUSE_SEL的狀態確定引導配置是否取自熔絲位或引腳狀態。如果BT_FUSE_SEL=0,boot_cfg是從GPIO獲取的。如果BT_FUSE_SEL=1,則從熔絲中獲取引導配置cfg。

當配置Boot_Mode為BOOT_MODE[1:0]=b00:

——BT_FUSE_SEL=0,引導器件中沒有應用程序,BootROM進入串行下載模式

——BT_FUSE_SEL=1,引導器件中有應用程序,BootROM從FUSE獲取所有引導設備信息

當配置Boot_Mode為BOOT_MODE[1:0]=b10:

——BT_FUSE_SEL=0,引導器件中的有效應用程序,BootROM從boot_cfg引腳獲取引導設備信息

——BT_FUSE_SEL=1,引導器件中的有效應用程序,BootROM從熔絲位獲取所有引導設備信息

即使配置了 BT_FUSE_SEL=1,當配置了 BOOT_MODE[1:0]=01b時,仍然可以進入串行下載器模式,這與BT_FUSE_SEL沒有關系,僅當配置BOOT_MODE[1:0]=00b時,ROM引導加載程序將檢查BT_FUSE_SEL。所以,如果有BOOT_MODE兩個引腳,仍然可以進入串行下載模式。

在MDK IDE環境下運行如下固件代碼,該代碼在固件首次啟動時燒寫BT_FUSE_SEL。在批量生產中,調試器對Flash進行編程并第一次調用啟動。所以不再需要引導 Boot引腳判斷。

//寫熔絲位
if (!(SRC->SBMR2 & SRC_SBMR2_BT_FUSE_SEL_MASK))
{
int timing = OCOTP_TIMING_STROBE_PROG(1325) | OCOTP_TIMING_RELAX(2) | OCOTP_TIMING_STROBE_READ(11) |OCOTP_TIMING_WAIT(24); //ipg_clk=132MHz
OCOTP->TIMING = timing;
while ((OCOTP->CTRL & (1<CTRL & (1< int ocotp_ctrl = OCOTP->CTRL;
ocotp_ctrl &= ~OCOTP_CTRL_ADDR_MASK;
ocotp_ctrl|= OCOTP_CTRL_ADDR(6);
ocotp_ctrl &= ~OCOTP_CTRL_WR_UNLOCK_MASK ;
ocotp_ctrl|= OCOTP_CTRL_WR_UNLOCK(0x3E77);
OCOTP->CTRL = ocotp_ctrl; //寫地址,解鎖
OCOTP->DATA = (long)((1<<4)|(1<<16));//寫入 BT_FUSE_SEL (1<<4) 和FORCE_INTERNAL_BOOT (1<<16)
}

那么如何在生產中做到這一點呢?使用MIMXRT1021CAG4B,之前BT_CFG_xx信號與GND相連,目前想利用這些GPIO 去連接外部的GPIO或者是LCD或者是ADC芯片,上面介紹的代碼可以做到這一點。注意,當編程到外部 Flash中時,如何讓MCU 執行這些代碼?BT_CFG_xxx信號最初是否不需要正確設置才能執行代碼,或者是否需要額外使用調試器工具進行了一些設置?在后臺啟動keil的批處理文件,也可以在下載到flash后開始代碼處執行(參見如下μVision用戶指南:命令行)。因此,它在編程Flash 后第一次使用調試器啟動,屆時熔絲位將被寫入。

μVision User's Guide (arm.com)

當然 MCU BootUtility或者MFG都是比較好的燒錄Fuse的工具。

參考文檔"i.MX MCU Manufacturing User's Guide.pdf"Rev. 1, 01/2018, 第8部分有 load fuse命令,例如load fuse 0x00000008 -> 0x06

意味著將32位的數值0x00000008 寫入到 OTP 區0, 字6 (ADDR = 0x06)。在參考手冊中,生產配置OTP Bank0 Word6 (HW_OCOTP_CFG5)] ,表示熔絲位的偏置是 460h 。

89156b66-5cd5-11ed-a3b6-dac502259ad0.png

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    16024

    瀏覽量

    343777
  • 熔絲位
    +關注

    關注

    0

    文章

    19

    瀏覽量

    11171
  • Fuse
    +關注

    關注

    0

    文章

    11

    瀏覽量

    12271

原文標題:在MIMXRT1020CAG4B中設置BT_FUSE_SEL熔絲位

文章出處:【微信號:嵌入式 MCU,微信公眾號:嵌入式 MCU】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    AVR 設置及拯救方法

    AVR 設置及拯救方法
    發表于 07-26 22:48

    atmel studio 7如何設置?

    如何設置?atmel studio 7的界面
    發表于 05-11 11:48

    AVR操作時的要點和需要注意的相關事項

    `AVR的器件手冊,對使用已編程(Programmed)和未編程(Unprogrammed)定義
    發表于 04-08 10:25

    【文末福利!】基于IMX6ULL開發板的啟動方式——開源資料,操作詳解

    通過GPIO來選擇啟動設備;當BT_FUSE_SEL為1時就會通過eFUSE來選擇啟動設備。開發階段,我們使用GPIO來選擇設備,這就引入下面第3個問題。 ③ 如何通過eFUSE或GPIO選擇、設置啟動
    發表于 09-08 17:18

    AVR的器件手冊怎樣去定義的狀態?

    AVR的器件手冊,怎樣去定義的狀態?
    發表于 07-08 07:30

    AVR單片機的

    1.簡介:狀態為“1”表示未編程,
    發表于 07-13 07:36

    如何對AVR進行配置

    相關章節,附錄中將給出一個完整的匯總表。(1)AVR的器件手冊,對使用已編程(Pro
    發表于 07-13 07:24

    如何設置AVR單片機加密?

    什么是?如何設置AVR單片機加密?
    發表于 09-24 06:55

    SD SRD104模式不可用的原因?

    30390070”輸出,BT_FUSE_SEL 為 0,即 22000009。BT_FUSE_SEL 是該數字的第 4 ,確實為“0”。長話短說,我想在不向這些引腳施加邏輯電壓的情
    發表于 03-17 07:45

    BLHost從NOR執行應用程序無法正常啟動的原因?

    FLASH_AUTO_PROBE_EN=1 和 BT_FUSE_SEL=1。這使我們成功啟動了應用程序,同時 BOOT_MODE[1:0] = 00(從啟動)和 BOOT_MODE[1:0] = 10(內部 ROM
    發表于 03-23 07:37

    如果SJC被禁用,MCU i.MXRT 1051加密的XIP啟動軟件重置后失敗怎么解決?

    =0b10、DIR_BT_DIS、SEC_CONFIG[1]、BT_FUSE_SEL)。當設備通過所有測試時,我們會燒斷鎖定 SerialDownloader 和調試支持的保險(燒斷
    發表于 04-04 07:41

    MIMXRT1021CAG4A無法正常啟動是為什么?

    問題描述我們有一個硬件問題,MIMXRT1021CAG4A 無法正常啟動當BOOT_MODE寄存器設置為01(串口下載器)時,MCU不枚舉為HID而且我們無法使用 MCUXpresso Secure
    發表于 04-18 06:21

    如何使用SD卡啟動MIMXRT1024CAG4B?

    我們計劃使用 SD 卡啟動 MIMXRT1024CAG4B。 基于參考手冊 IMXRT1024RM chapter9.6.6.3,我們假設引導操作不支持 SDR50 和 SDR104。希望支持SDR50和SDR104的SD卡正常運行(數據傳輸率)。我的理解正確嗎?
    發表于 05-05 08:08

    progisp168的設置在哪里修改?

    誰用這個軟件設置,我的沒有了,(USB
    發表于 11-03 06:17

    的作用是什么?如何設置呢?

    的作用是什么?如何設置? 給個清晰明白的
    發表于 11-06 07:14
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>