找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9058|回復: 0
打印 上一主題 下一主題
收起左側(cè)

STM32F0的BOOT配置及相關(guān)話題

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:98618 發(fā)表于 2016-5-16 00:23 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
   關(guān)于STM32F0系列的啟動配置,有人說有點看不太懂,貌似有兩套啟動方式,又是腳又是選項位的。其實,它跟其它STM32 系列一樣也是有三種啟動模式,只是配置方式上有其特色。

    它有兩種配置方式,第一種是利用BOOT0物理腳和Nboot1Boot_Sel選項位來確定啟動模式;第二種只使用Boot_SelNboot1 、Nboot0 三個選項位來確定啟動模式,完全省卻了物理腳,多出一根腳給用戶應用。

    對于第一種配置方式,所有STM32F0系列的芯片都適用。第二種配置方式適用于STM32F04XSTM32F09X系列的器件。


下圖是STM32F0系列啟動模式配置表。


    紅色方框內(nèi)就是上面所指的第一種配置方式,對所有STM32F0芯片適用。圖表中的灰色區(qū)域就是前面所說的僅適用于STM32F04X和STM32F09X的配置方式,

 

    可以看出,對于STM32F04XSTM32F09X到底使用哪種配置方式取決于Boot_Sel選項位。對于非STM32F04XSTM32F09X32F0系列芯片,配置方式只能使用第一種配置方式,此時Boot_Sel固定為1。


    這里不妨說說第一種配置方式,該方式對所有STM32F0芯片都適用。BOOT0腳置高、置低簡單,Nboot1、Boot_Sel選項位怎么定的呢?


    Nboot0 、Nboot1Boot_Sel選項位在用戶選項字節(jié)里,一起來看看。


    顯然,從其出廠的默認初始值可以看出,Nboot0Nboot1、Boot_Sel選項位的默認值均為1,即默認為第一種配置方式。

    如果此時BOOT0腳為1則從system memory啟動,即從芯片內(nèi)嵌的BOOTLOADER啟動。

    如果此時BOOT0腳為0,則從main flash memory啟動,進入用戶程序。


    針對STM32F04X/STM32F09X的第二種配置方式 ,這里就不多說了。個人覺得如果不是特別需要那個BOOT0腳、或者對這個做法特別感興趣的話,大可不必花太多心思和精力在第二種配置方式上 。畢竟你得自行編寫用戶代碼修改Nboot0、Nboot1、Boot_Sel相關(guān)選項位,而且這個過程還是有些折騰。折騰了半天可能就為多用一根IO腳,此時BOOT模式完全由選項位來確定,個人覺得也不是那么直觀和方便 。

    ST官方有一篇應用筆記就是針對STM32F04X/STM32F09X的第二種配置方式的應用介紹的,該筆記名為《STM32F09X不使用BOOT腳實現(xiàn)SYSTEMBOOTLOADER升級代碼》,有興趣的可以去下載看看。


    倒是有關(guān)STM32F04X/STM32F09X兩個子系列的空檢操作值得了解下。

    所謂空片一般是指從芯片出廠起就沒用過或用過但經(jīng)過CHIP erase操作后的芯片。


    STM32F04X/STM32F09X芯片復位后通過檢測地址0x080000000的內(nèi)容是否為0xFFFFFFFF且上面提到的Boot_Sel選項位是否為1來判斷該芯片是否為空片。若是,則設(shè)置相關(guān)空檢標志Empty Check。

 

    在芯片被判定為空的條件下,即使當前BOOT配置為從main flash memory啟動,芯片硬件也會跳到System Memory 去執(zhí)行內(nèi)嵌啟動程序。用過其它STM32芯片的人就會明顯感覺到這里有個好處,這樣通過ISP模式進行燒錄后不必將BOOT配置腳撥來撥去的。如果量產(chǎn)的話,還是省了不少事。

 

    STM32F0參考手冊里在針對空檢標志的描述時,應該說上面那段英文講得很清楚了,后面做了一句補充式的描述“檢查地址0x08000 0000的內(nèi)容是否為 0xFFFF FFFF作為判斷為空的條件”。這一說可能增加了理解上的困擾,本來說空片就完了,讓芯片回歸到出廠初始狀態(tài)就好。至于對某地址內(nèi)容或選項位的檢測只是對空片的一個簡單確認。

     

    圍繞TM32F04X/STM32F09X芯片的空檢話題及下載燒錄,ST官方也有份應用筆記,名為《STM32F091空片使用system bootloader下載代碼》,推薦下載閱讀,可以加深理解,從中或許還能順便了解些別的東西。


作者:Miler Shao
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表