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

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

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

STM32芯片F(xiàn)LASH容量真如ST官方選型手冊那樣嗎?

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-03-12 10:07 ? 次閱讀

如果某一個天項目經(jīng)理提出一個需求,要求在現(xiàn)有STM32產(chǎn)品基礎(chǔ)上,內(nèi)部FLASH增加64K字庫,你腦海中首先會想到什么?

1先說點其它

一般對于初學(xué)者來說,內(nèi)部FLASH完全足夠,跑一個簡單的裸機Demo,或者一個RTOS加上兩個任務(wù)的Demo,對于現(xiàn)在的MCU完全沒有壓力。

但是,一旦你接觸到實際項目,你會發(fā)現(xiàn)很多地方都會開支FLASH,而且有些項目占用FLASH還不小。比如:某種特定算法,加載字庫,甚至放兩張圖片在FLASH里面。

再拿一個IAP應(yīng)用編程的例子來說:一般對升級這個功能做的好一點的,會有一塊區(qū)域(備份區(qū)域)與應(yīng)用程序差不多大小的FLASH區(qū)域。就是說:為了保證安全,你程序下載保存在一個備份區(qū)域,等下載成功再更新應(yīng)用程序。 這樣做的目的:就是防止在下載的時候中途掉線,導(dǎo)致失敗。

找了一個圖,大致如下,將FLASH劃分為3個區(qū)域(引導(dǎo)程序FLASH區(qū)域、應(yīng)用程序FLASH區(qū)域、備份程序FLASH區(qū)域),你們琢磨一下。

2STM32芯片選型

一般我們項目提出需求之后,都會選擇一款合適的MCU,首先想到的就是查看【選型手冊】,除了選擇外設(shè)資源之外,還有就是選擇適合的FLASH容量大小。STM32產(chǎn)品命令規(guī)則如下:

選型手冊地址:

https://www.stmcu.com.cn/upload/Selection_Guide.pdf

(微信公眾號不支持外鏈接,復(fù)制網(wǎng)址打開)

3驗證STM32內(nèi)部FLASH究竟有多大

說了關(guān)于FLASH的一些話題,回來說說本文的重點:我們的STM32內(nèi)部FLASH可能不止上面選型手冊說的那么大一點。

比如:我的MCU芯片具體型號為STM32F103RF,查看手冊可以知道其容量為768K,但實際它有1M的FLASH容量。

我這里大概說兩點簡單驗證的方法:
1.通過編程驗證

簡單來說就是通過擦除,寫入,讀取指定地址(就是超過FLASH大小的地址)。

FLASH_EraseSector

FLASH_ProgramWord

2.通過工具讀取FLASH數(shù)據(jù)

這個辦法是最直接,也是最簡單的辦法。拿STM32 ST-LINK Utility這個下載工具來舉例說明:

重點其實都在圖中描述出來了:超過768K地址,實際上還可以讀出來數(shù)據(jù)的。

(上圖是我拿STM32F103RF真實MCU讀出來的,應(yīng)用程序起始地址就是0x080C0000,應(yīng)用程序?qū)嶋H也運行起來了)

說了這么多,其實我想說的是:STM32芯片有許多也是類似,不止我上面舉例的STM32F103RF,103RC標稱的是256K,其實不止256K空間。如果你發(fā)現(xiàn)你FLASH空間不足了,通過上面方法可以看看是否不止那么大的空間。

最后留一個問題:你知道為什么ST廠家會這么操作嗎?

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

    關(guān)注

    10

    文章

    1598

    瀏覽量

    147339
  • ST
    ST
    +關(guān)注

    關(guān)注

    32

    文章

    1120

    瀏覽量

    128553
  • STM32
    +關(guān)注

    關(guān)注

    2258

    文章

    10828

    瀏覽量

    352499
  • 字庫
    +關(guān)注

    關(guān)注

    1

    文章

    15

    瀏覽量

    13261
收藏 人收藏

    評論

    相關(guān)推薦

    STM32L供電都用的什么電源管理芯片呢?

    大家都來說說給STM32L供電用過什么電源管理芯片,ST公司有官方的解決方案嗎
    發(fā)表于 05-13 08:07

    請問STM32容量芯片能應(yīng)用GUI嗎?

    STM32F0系列的芯片能用上GUI嗎,不知道像emWIN,TouchGFX對于FLASH有什么具體要求。
    發(fā)表于 04-24 06:19

    在KEIL和STM32 ST-LINK Utility中可以找到或連接到FLASH,但卻無法ERASE,怎么解決?

    STM32F030R8 ST-LINK keil_v5 STM32 ST-LINK Utility在KEIL和STM32
    發(fā)表于 04-03 07:27

    STM32G031K8程序打斷點在STARTUP.S文件中,停在斷點處會導(dǎo)致操作flash錯誤怎么解決?

    主要問題:STM32G031K8程序打斷點在STARTUP.S文件中,停在斷點處就出現(xiàn)FLASH_CR寄存中的CFGBSY置位為1,導(dǎo)致操作flash錯誤。而且按照手冊說明該位的置位和
    發(fā)表于 03-25 07:38

    雅欣 | LED driver IC 產(chǎn)品選型手冊,選擇您的專屬芯片

    雅欣 | LED driver IC 產(chǎn)品選型手冊,選擇您的專屬芯片
    的頭像 發(fā)表于 03-23 08:06 ?344次閱讀
    雅欣 | LED driver IC 產(chǎn)品<b class='flag-5'>選型</b><b class='flag-5'>手冊</b>,選擇您的專屬<b class='flag-5'>芯片</b>

    STM32F072連接ST LINK無法讀取FLASH彈出提示,是哪里出了問題?

    STM32F072連接ST LINK 無法讀取FLASH 彈出提示,讀保護(原本并未設(shè)置讀保護,不知道為何會變成讀保護狀態(tài)?) 然后用ST LINK 發(fā)現(xiàn)讀保護設(shè)置在LEVEL 1,改
    發(fā)表于 03-21 06:16

    stm32 flash寫數(shù)據(jù)怎么存儲的

    stm32 flash寫數(shù)據(jù)怎么存儲的? STM32是一款廣泛應(yīng)用于嵌入式系統(tǒng)開發(fā)的微控制器,它的Flash存儲器是其中一個重要的組成部分。在本文中,我將詳細介紹
    的頭像 發(fā)表于 01-31 15:46 ?1985次閱讀

    DC-DC產(chǎn)品選型手冊,選擇您的專屬芯片

    DC-DC產(chǎn)品選型手冊,選擇您的專屬芯片
    的頭像 發(fā)表于 01-20 08:06 ?581次閱讀
    DC-DC產(chǎn)品<b class='flag-5'>選型</b><b class='flag-5'>手冊</b>,選擇您的專屬<b class='flag-5'>芯片</b>

    stm32f103 flash模擬eeprom

    STM32F103是意法半導(dǎo)體(STMicroelectronics)推出的一款32位單片機系列,該系列芯片具有高性能和豐富的外設(shè)接口,廣泛應(yīng)用于工業(yè)控制、消費電子、汽車電子等領(lǐng)域。其中
    的頭像 發(fā)表于 01-09 11:21 ?1639次閱讀

    芯片選型應(yīng)考慮哪些因素?

    芯片選型
    芯廣場
    發(fā)布于 :2023年11月30日 18:16:25

    STM32Flash寫了保護怎么辦?STM32如何設(shè)置讀保護和解除讀保護?

    STM32Flash寫了保護怎么辦?STM32如何設(shè)置讀保護和解除讀保護? 一、STM32Flash寫了保護怎么辦? 當
    的頭像 發(fā)表于 10-29 17:24 ?1.1w次閱讀

    flash芯片時為什么需要先擦除?

    數(shù)量的頁(Page)組成,每頁又可以分成若干個扇區(qū)(Sector),扇區(qū)是Flash芯片的操作基本單位,通常為512字節(jié)或1K字節(jié)大小,而整個Flash芯片
    的頭像 發(fā)表于 10-29 17:24 ?3629次閱讀

    講講STM32單片機Flash的讀保護和寫保護

    講講STM32單片機Flash的讀保護和寫保護
    的頭像 發(fā)表于 10-26 15:52 ?7419次閱讀
    講講<b class='flag-5'>STM32</b>單片機<b class='flag-5'>Flash</b>的讀保護和寫保護

    為什么STM32Flash地址要設(shè)置到0x08000000?

    為什么STM32Flash地址要設(shè)置到0x08000000?
    的頭像 發(fā)表于 10-26 15:50 ?1405次閱讀
    為什么<b class='flag-5'>STM32</b>的<b class='flag-5'>Flash</b>地址要設(shè)置到0x08000000?

    STM32Cube 官方例程學(xué)習(xí)指南

    STM32CubeMX 是 ST 官方提供的一個代碼生成工具。使用該工具,通過圖形化的配置方法,就能快速生成 STM32 的各種片上外設(shè)的初始化代碼。CubeMX 生成的軟件工程使用
    發(fā)表于 09-28 06:47