色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

STM32L4系列內部FLASH雙字編程示例

茶話MCU ? 來源:ST MCU 信息交流 ? 2020-05-14 09:11 ? 次閱讀

有人使用STM32L476芯片開發產品,他想在內部FLASH空間特定位置寫些數據,發現總是失敗,并補充說之前使用STM32F1系列、STM32L1系列卻沒有類似問題。

其實,針對STM32L4的內部FLASH編程,跟STM32F1/L1系列是不同的,其中STM32F1的內部FLASH編程僅支持半字編程,STM32L1的內部FLASH編程主要支持字編程或半頁編程。而STM32L4系列的內部FLASH編程所支持的則是64位雙字編程或以32個雙字為單位的快速行編程。

對于少量的零星數據編程自然會選擇64位雙字編程模式,即每次改寫Flash內容必須以64位為單位。硬件還針對這64位數據做了8位的ECC,我們用戶看不到而已。下面簡單介紹下64位雙字編程過程。

在基于64位雙字編程時,如果只是就字節或半字進行編程則會產生錯誤;或者盡管使用雙字編程卻沒有遵循雙字地址對齊【8字節對齊】時也會產生錯誤。

這里我使用ARM MDK V2.9開發環境,借助于STM32L476_NUCELO開發板演示一下對內部FLASH某個位置寫幾個64位數據的實現過程【寫之前相關區域已經被擦除過了】。

我通過IDE將內部FLASH最后的0x1000地址空間預留出來用于填寫些數據,即我將內部FLASH分成2塊,將最后的0x1000的FLASH空間劃了出來。如下圖所示:【這里的芯片是STM32L476RGT6,下面只演示寫三個64位數據。】

我將特定數據區定義在內部FLASH空間0x80ff000開始的地方。

#define Address_Const (0x80FF000)

另外還定義了一個64位地址指針和一個64位數據數組。

相關執行參考代碼如下:

代碼是基于STM32Cube庫來組織的,連續寫了三個64位的數據到指定的FLASH空間。其中主要涉及到一個FLASH編程函數HAL_FLASH_Program(),它有三個變量,分別是編程模式,待編程的FLASH地址以及用于編程的數據。

代碼比較簡單,對欲編程的地址做檢查確認,然后進行FLASH編程開鎖,清除可能存在的各種掛起狀態標志,進行雙字編程,之后對FLASH寄存器訪問進行上鎖。

現在基于上面的代碼看看運行結果:

我們可以看到在指定的FLASH地址空間寫三個64位數據。

在上面介紹64位雙字編程規則時,可能有人會問,如果我遵循了8字節地址對齊,待寫的數據也不是字節或半字,而是一個字會怎么樣呢?那你也得湊成2個字來寫,方能完成一次寫操作。

比方基于上面測試代碼,僅僅將每次待寫的數據改為32位字,最后結果便是高位字被填0了。就像下面這樣:

好,關于STM32L4系列內部FLASH雙字編程模式就介紹到這里。整個過程應該說不難,只要注意到各個細節就好。

趁此再拋磚引玉似地做些提醒:STM32系列眾多,各個系列的內部FLASH編程模式以及頁或扇區的容量規劃、地址安排往往各有差異,在FLASH編程時千萬別跟著慣性或感覺走。還有,不同的編程模式往往對芯片的電源電壓有不同的要求,這點也要特別特別特別注意。

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

    關注

    88

    文章

    3686

    瀏覽量

    94970
  • 函數
    +關注

    關注

    3

    文章

    4374

    瀏覽量

    64420
  • STM32L4
    +關注

    關注

    1

    文章

    42

    瀏覽量

    9625

原文標題:STM32L4系列內部FLASH雙字編程示例

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

收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    STM32F3系列STM32F4系列STM32L4系列STM32L4+系列Cortex-M4編程手冊

    電子發燒友網站提供《STM32F3系列STM32F4系列STM32L4系列
    發表于 06-06 17:06 ?4次下載

    STM32F40xxx和STM32f41xx flash編程手冊

    PM0081_STM32F40xxx and STM32F41xxx單片機編程手冊
    發表于 06-06 17:02 ?3次下載

    手機APP遠程控制,智能家居監測、智能控制系統(STM32L4、服務器、安卓源碼)實例項目打包下載

    手機APP遠程控制,智能家居監測、智能控制系統(STM32L4、服務器、安卓源碼)實例項目打包,推薦下載!
    發表于 05-29 21:47

    手機APP遠程控制,智能家居監測、智能控制系統(STM32L4、服務器、安卓源碼)

    手機APP遠程控制,智能家居監測、智能控制系統(STM32L4、服務器、安卓源碼) 項目實例下載! 純分享帖,需要者可點擊附件免費獲取完整資料~~~【免責聲明】本文系網絡轉載,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請第一時間告知,刪除內容!
    發表于 05-23 21:00

    昂科燒錄器支持ST意法半導體的超低功耗微控制器STM32L4S5VIT

    芯片燒錄領導者昂科技術近期宣布了其燒錄軟件的最新迭代,并公布了一系列新增兼容芯片型號。在此次更新中,意法半導體(ST)推出的超低功耗微控制器STM32L4S5VIT已被昂科通用編程器AP8000所
    的頭像 發表于 05-08 16:08 ?198次閱讀
    昂科燒錄器支持ST意法半導體的超低功耗微控制器<b class='flag-5'>STM32L4</b>S5VIT

    請問STM32U3系列的定位是怎樣的?

    領先的每毫瓦 Coremark分數117。這幾乎是意法半導體之前 STM32U5系列效率的兩倍,是STM32L4系列的五倍。
    發表于 04-25 07:05

    STM32L476 Flash擦除失敗的原因?

    開發板MCU型號:STM32L476RG 同樣的固件在開發板中flash讀寫擦除操作都沒問題,但在產品中擦除函數返回成功,但flash中的數據其實并沒有擦除。 這兩款MCU在Flash
    發表于 04-23 08:26

    請問STM32U3系列的定位是怎樣的?

    領先的每毫瓦 Coremark分數117。這幾乎是意法半導體之前 STM32U5系列效率的兩倍,是STM32L4系列的五倍。
    發表于 04-23 06:45

    cubeide的代碼怎么編譯到內部+外部FLASH里面去?

    我有一個項目,準備使用GUI和AI,準備使用STM32U5,但是編譯出來的代碼很多,STM32U5的內部FLASH不夠用,準備使用OSPI擴展外部F
    發表于 03-07 07:48

    WTVxxxx系列語音芯片(一線&二線 單雙字節)資料V1

    WTVxxxx系列語音芯片(一線&二線單雙字節)資料V1
    發表于 03-06 08:27 ?0次下載

    AN-881: 通過LIN—協議4進行Flash/EE存儲器編程

    電子發燒友網站提供《AN-881: 通過LIN—協議4進行Flash/EE存儲器編程.pdf》資料免費下載
    發表于 01-14 16:12 ?0次下載
    AN-881: 通過LIN—協議<b class='flag-5'>4</b>進行<b class='flag-5'>Flash</b>/EE存儲器<b class='flag-5'>編程</b>

    STM32WB55RG開發(2)----STM32CubeProgrammer燒錄

    程序接口(UART、USB DFU、I2C、SPI和CAN)讀取、寫入及驗證器件內存。 STM32CubeProgrammer的功能廣泛,可以對STM32內部存儲器(如Flash、R
    的頭像 發表于 12-16 15:52 ?1690次閱讀
    <b class='flag-5'>STM32</b>WB55RG開發(2)----<b class='flag-5'>STM32</b>CubeProgrammer燒錄

    掃描模塊的編程示例和調試策略

    電子發燒友網站提供《掃描模塊的編程示例和調試策略.pdf》資料免費下載
    發表于 09-27 09:38 ?0次下載
    掃描模塊的<b class='flag-5'>編程</b><b class='flag-5'>示例</b>和調試策略

    在mmWave SDK增加QSPI Flash驅動的示例

    電子發燒友網站提供《在mmWave SDK增加QSPI Flash驅動的示例.pdf》資料免費下載
    發表于 09-11 14:20 ?0次下載
    在mmWave SDK增加QSPI <b class='flag-5'>Flash</b>驅動的<b class='flag-5'>示例</b>

    STM32CUBEMX(10)--Flash讀寫

    概述 本例程主要講解如何對芯片自帶Flash進行讀寫,用芯片內部Flash可以對一些需要斷電保存的數據進行保存,無需加外部得存儲芯片,本例程采用的是STM32F030R8T6,64K大
    發表于 09-10 15:36
    主站蜘蛛池模板: 一级做a爰片久久免费 | 黑人巨摘花破女处 | 俄罗斯搜索引擎Yandex推广入口 | 18动漫在线观看 | 亚洲国产精品高清在线 | 久久www免费人成_看片高清 | 极品少妇伦理一区二区 | 日韩伦理电影秋霞影院 | 中文字幕va一区二区三区 | 色狠狠AV老熟女 | 一线高清视频在线播放 | 中文字幕不卡在线视频 | 亚洲日本香蕉视频观看视频 | 亚洲精品一线二线三线无人区 | 国产系列在线亚洲视频 | 男人一进一出桶女人视频 | 色噜噜狠狠一区二区三区 | 亚洲高清在线视频 | 一本道dvd久久综合高清免费 | 亚洲国产果果在线播放在线 | 久久国产精品无码视欧美 | 精品久久日日躁夜夜躁AV | 亚洲精品国产在线网站 | 国产精品系列在线一区 | 艳鉧动漫片1~6全集在线 | 超熟女专门志 | 丝袜足控免费网站xx91 | 国产成人在线视频免费观看 | 在线视频 日韩视频二区 | 亚州性夜夜射在线观看 | 中文字幕亚洲欧美日韩2o19 | 羲义嫁密着中出交尾gvg794 | 日本久久久免费高清 | 亚洲国产日韩欧美在线a乱码 | 在线精彩视频在线观看免费 | 国产盗摄TP摄像头偷窥 | 日本三级床震 | 国产在线高清视频无码 | 亚洲视频在线观看 | 日本撒尿特写 | 贵妃高h荡肉呻吟np杨玉环 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品