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

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

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

option bytes 的配置介紹

STM32單片機 ? 來源:STM32單片機 ? 作者:STM32單片機 ? 2022-10-26 09:02 ? 次閱讀

1、引言

實際工程中如果需要對 MCU 的 option bytes 進行修改,可以有以下幾種方式:

? 通過 STLINK-Utility 或是 CubeProgrammer 圖形化工具進行配置

? 通過 ST-LINK_CLI.exe 命令行的方式進行配置

? 通過應(yīng)用代碼中軟件修改寄存器的方式進行配置

以上的方式中前兩種都需要脫離 KEIL 或是 IAR 的開發(fā)環(huán)境進行操作,在實際項目的開發(fā)階段可以使用,但是到量產(chǎn)階段由于多了一道工序,增加了成本與出錯的風(fēng)險;通過應(yīng)用代碼軟件修改的方式在一定程度上也是增加了軟件的復(fù)雜度。

如果客戶使用 KEIL 作為軟件開發(fā)環(huán)境,則存在一種更簡單的方式,就是使用 opt.s 文件,采用該方法可以與應(yīng)用工程融合在一起,一步完成 option bytes 的配置。

2、opt.s 文件介紹

Opt.s 文件存在于 KEIL 的開發(fā)包中,以 F3 系列 MCU 為例,可以在如下的路徑中找到。

bf248f94-54c8-11ed-a3b6-dac502259ad0.png

打開該文件后,可以看到如下部分截圖,類似匯編語言的方式對變量進行賦值,其實也就是對 option bytes 中的各個關(guān)鍵變量進行賦值操作。

bf3b9662-54c8-11ed-a3b6-dac502259ad0.png

2、通過 opt.s 配置 option bytes

通過 opt.s 修改 option bytes 只能在 KEIL 開發(fā)環(huán)境下進行,接下來在 STM32F334R8 為例說明。

Step 1:新建或是任意打開一個基于 STM32F334R8 的工程,這里直接使用 CubeMx 例程中STM32F334R8-Nucleo 下的 GPIO_IOToggle 例程。

Step 2:將 STM32F3xx_OPT.s 添加到功能目錄中,如下:

bf47b6c2-54c8-11ed-a3b6-dac502259ad0.png

Step 3:雙擊打開 STM32F3xx_OPT.s 文件,如下圖所示。KEIL 提供了兩種編輯方式,如果對.s 文件的編程方式以及 option bytes 變量的每個 bit 都非常熟悉的話,可以直接在 text editor 下對.s 文件中進行修改;更加簡單的方式是直接在 Configuration Wizard 下進行配置。建議采用后面一種配置方式,更加簡單明了。

bf83d620-54c8-11ed-a3b6-dac502259ad0.png

Step 4:Configuration Wizard 下修改配置,比如將 RDP 由 level 0 更改為 level 1 并保存修改,此時可以通過 Text Editor 查看對應(yīng)的 RDP 的值也變了。

bf9a2344-54c8-11ed-a3b6-dac502259ad0.png

Step 5:重新編譯工程,可以看到 opt.s 文件被直接編譯到應(yīng)用工程中。

bfb368c2-54c8-11ed-a3b6-dac502259ad0.png

Step 6:將生成的燒錄文件直接下載到目標(biāo)板中。此時需要注意的是,在燒錄前一定要將對應(yīng)的 Flash options 的燒錄算法添加到 Programming Algorithm 中,如下所示,完成后直接連接目標(biāo)板進行燒錄即可。

bfcb4a1e-54c8-11ed-a3b6-dac502259ad0.png

完成以上的操作后,可以對上述進行的 option bytes 的修改進行驗證,可以直接打開CubeProgrammer 讀取目標(biāo)板的 option bytes,得到的結(jié)果如下圖所示,可以看到,RDP 的結(jié)果與上述配置一致。

bfdae384-54c8-11ed-a3b6-dac502259ad0.png

4、小結(jié)

通過將 opt.s 文件添加到工程中實現(xiàn) option bytes 的配置,好處是將配置融合到燒錄文件中,不需要通過其他工具或是在應(yīng)用代碼中去操作 option bytes,簡化量產(chǎn)過程中的燒錄工序。但是目前該方法不是所有的 MCU 型號都適用,例如對 G4 雙 Bank 系列就存在問題,需要等待官方提供適合雙 Bank 的 option bytes 的燒錄算法與 opt.s 文件。

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

    關(guān)注

    31

    文章

    5253

    瀏覽量

    119206
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    4570

    瀏覽量

    86702
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4671

    瀏覽量

    67770

原文標(biāo)題:工程師筆記|在 KEIL 中通過 opt.s 文件設(shè)置 Option Bytes

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    工程師筆記|STM32G4 應(yīng)用程序與 Option Bytes 同時燒錄問題

    “ 關(guān)鍵詞:雙Bank,Option Bytes 1、引言 客戶使用 STM32G474 系列芯片,在燒錄應(yīng)用程序的同時要對 Option Bytes 中的 DBANK 進行修改,采用
    的頭像 發(fā)表于 11-11 19:50 ?1909次閱讀

    STVP中stm8af6226的Option bytes與Datasheet不符是為什么?

    有沒有人用過stm8af6226,在燒錄軟件STVP中選擇芯片只有STM8AF6226TXSSS這一款,但里面的Option bytes內(nèi)容與stm8af6226的Datasheet不符,而是
    發(fā)表于 05-09 08:22

    在STM32F103XX系統(tǒng)的mcu里,F(xiàn)LASH_OBR寄存器中有個USER【User option bytes】字段,這是什么意思?

    在STM32F103XX系統(tǒng)的mcu里,F(xiàn)LASH_OBR寄存器中有個USER【User option bytes】字段,請問這個是什么意思?用于什么作用的?必須得配置還是可選的?能隨便配置
    發(fā)表于 05-10 06:13

    st-link utility為什么option bytes總是失???

    我用的是4.0版本,我新買的芯片一開始connect失敗,然后我按照網(wǎng)上教程,但是設(shè)置好option bytes后總是顯示失敗,不過我再次點擊connect后成功了,這是怎么回事,是版本問題嗎?大家有這樣的問題嗎?
    發(fā)表于 11-21 20:26

    Capital功能選項Option的實際設(shè)置實例

    在Capital Harness System的Capital Project模板下有個選項設(shè)計條目,使用很多。本文主要介紹下Capital功能選項Option的實際設(shè)置實例,方便大家理解與操作
    發(fā)表于 01-12 17:10

    STM8S配置字節(jié)OPTION BYTE

    STM8S的配置字類似于AVR的Fuse熔絲位。用于配置端口的復(fù)用功能和讀保護等操作。不同于AVR的熔絲位,STM8S的時鐘配置并不在Option Byte中,不會出現(xiàn)寫完STM8S后
    發(fā)表于 10-10 06:07

    MDK-ARM工程中各目標(biāo)(Targets)之間選項(Option配置有什么區(qū)別 ?

    MDK-ARM工程中各目標(biāo)(Targets)之間選項(Option配置有什么區(qū)別?
    的頭像 發(fā)表于 03-14 10:32 ?5809次閱讀
    MDK-ARM工程中各目標(biāo)(Targets)之間選項(<b class='flag-5'>Option</b>)<b class='flag-5'>配置</b>有什么區(qū)別 ?

    HMC754 Gerber Files - Option 2

    HMC754 Gerber Files - Option 2
    發(fā)表于 02-19 10:20 ?0次下載
    HMC754 Gerber Files - <b class='flag-5'>Option</b> 2

    原理圖 Cloud Option Board

    原理圖 Cloud Option Board
    發(fā)表于 03-14 19:52 ?0次下載
    原理圖 Cloud <b class='flag-5'>Option</b> Board

    CANape |Option Driver Assistance功能詳解

    本文介紹CANape的快速驗證功能Option Driver Assistance,助力于汽車輔助駕駛技術(shù)的研發(fā)與測試。
    的頭像 發(fā)表于 08-04 14:32 ?1047次閱讀
    CANape |<b class='flag-5'>Option</b> Driver Assistance功能詳解

    原理圖 Cloud Option Board

    原理圖 Cloud Option Board
    發(fā)表于 07-05 20:18 ?0次下載
    原理圖 Cloud <b class='flag-5'>Option</b> Board

    STM32G4 應(yīng)用程序與 Option Bytes 同時燒錄問題

    STM32G4 應(yīng)用程序與 Option Bytes 同時燒錄問題
    的頭像 發(fā)表于 09-28 18:02 ?906次閱讀
    STM32G4 應(yīng)用程序與 <b class='flag-5'>Option</b> <b class='flag-5'>Bytes</b> 同時燒錄問題

    在 KEIL 中通過 opt.s 文件設(shè)置 Option Bytes

    在 KEIL 中通過 opt.s 文件設(shè)置 Option Bytes
    的頭像 發(fā)表于 09-28 17:30 ?1198次閱讀
    在 KEIL 中通過 opt.s 文件設(shè)置 <b class='flag-5'>Option</b> <b class='flag-5'>Bytes</b>

    Option的基礎(chǔ)用法

    Option 是 Rust 語言中的一個枚舉類型,它表示一個值可能存在,也可能不存在的情況。Option 可以理解為一個容器,它可能裝有一個值,也可能為空。在 Rust 中,Option 可以用
    的頭像 發(fā)表于 09-20 11:07 ?1950次閱讀

    STM8S的配置字節(jié)Option Byte

    電子發(fā)燒友網(wǎng)站提供《STM8S的配置字節(jié)Option Byte.pdf》資料免費下載
    發(fā)表于 10-07 16:12 ?0次下載
    STM8S的<b class='flag-5'>配置</b>字節(jié)<b class='flag-5'>Option</b> Byte