女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取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位數據?!?/p>

我將特定數據區定義在內部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

    文章

    3689

    瀏覽量

    95238
  • 函數
    +關注

    關注

    3

    文章

    4380

    瀏覽量

    64844
  • STM32L4
    +關注

    關注

    1

    文章

    42

    瀏覽量

    9686

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    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 ?265次閱讀
    昂科燒錄器支持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 ?1943次閱讀
    <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