哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

STM32L4系列內(nèi)部FLASH雙字編程示例

茶話MCU ? 來源:ST MCU 信息交流 ? 2020-05-14 09:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

有人使用STM32L476芯片開發(fā)產(chǎn)品,他想在內(nèi)部FLASH空間特定位置寫些數(shù)據(jù),發(fā)現(xiàn)總是失敗,并補充說之前使用STM32F1系列、STM32L1系列卻沒有類似問題。

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

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

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

這里我使用ARM MDK V2.9開發(fā)環(huán)境,借助于STM32L476_NUCELO開發(fā)板演示一下對內(nèi)部FLASH某個位置寫幾個64位數(shù)據(jù)的實現(xiàn)過程【寫之前相關(guān)區(qū)域已經(jīng)被擦除過了】。

我通過IDE將內(nèi)部FLASH最后的0x1000地址空間預(yù)留出來用于填寫些數(shù)據(jù),即我將內(nèi)部FLASH分成2塊,將最后的0x1000的FLASH空間劃了出來。如下圖所示:【這里的芯片是STM32L476RGT6,下面只演示寫三個64位數(shù)據(jù)?!?/p>

我將特定數(shù)據(jù)區(qū)定義在內(nèi)部FLASH空間0x80ff000開始的地方。

#define Address_Const (0x80FF000)

另外還定義了一個64位地址指針和一個64位數(shù)據(jù)數(shù)組。

相關(guān)執(zhí)行參考代碼如下:

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

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

現(xiàn)在基于上面的代碼看看運行結(jié)果:

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

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

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

好,關(guān)于STM32L4系列內(nèi)部FLASH雙字編程模式就介紹到這里。整個過程應(yīng)該說不難,只要注意到各個細節(jié)就好。

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

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

    關(guān)注

    90

    文章

    3723

    瀏覽量

    97430
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4421

    瀏覽量

    67822
  • STM32L4
    +關(guān)注

    關(guān)注

    1

    文章

    42

    瀏覽量

    10071

原文標題:STM32L4系列內(nèi)部FLASH雙字編程示例

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    STM32L162xD系列:超低功耗32位MCU的卓越之選

    STM32L162xD系列采用了Arm? Cortex? - M3 32位CPU,具備384KB Flash、48KB SRAM和12KB EEPROM,還集成了LCD、USB、ADC、內(nèi)存接口和AES等功能。該
    的頭像 發(fā)表于 04-17 14:50 ?70次閱讀

    STM32L151/152系列超低功耗MCU:特性、應(yīng)用與設(shè)計要點

    STM32L151x6/8/B和STM32L152x6/8/B系列MCU基于ARM? Cortex? - M3內(nèi)核,具備128KB Flash、16KB SRAM和
    的頭像 發(fā)表于 04-17 14:45 ?81次閱讀

    STM32L151xD/STM32L152xD:超低功耗32位MCU的卓越之選

    151xD和STM32L152xD系列MCU憑借其出色的特性,成為眾多應(yīng)用場景的理想選擇。本文將深入剖析這兩款MCU的特點、功能及應(yīng)用,為電子工程師們提供全面的參考。 文件下載: STM32L152QDH6.pdf 一
    的頭像 發(fā)表于 04-17 14:45 ?76次閱讀

    深入剖析STM32L010F4/K4:低功耗32位MCU的卓越之選

    深入剖析STM32L010F4/K4:低功耗32位MCU的卓越之選 在當(dāng)今對功耗要求日益嚴苛的電子設(shè)備領(lǐng)域,低功耗微控制器(MCU)的重要性不言而喻。STM32L010F4/K4作為S
    的頭像 發(fā)表于 04-15 15:40 ?173次閱讀

    STM32L062x8:超低功耗32位MCU的卓越之選

    STM32L062K8T6.pdf 一、產(chǎn)品概述 STM32L062x8系列包括STM32L062K8、STM32L062T8和
    的頭像 發(fā)表于 03-02 15:20 ?286次閱讀

    LAT1180+STM32L4R9 的 QuadSPI Flash 通訊速率不理想應(yīng)用筆記

    客戶反應(yīng) STM32L4R9 同 QSPI Flash 通訊,測出來的讀取速率為 10MB/s, 和理論值相差較大。按照客戶的時鐘配置和 STM32L4R9 的數(shù)據(jù)手冊中的數(shù)據(jù),OSPI 讀數(shù)速率為 10MB/s肯定存在問題。
    發(fā)表于 01-11 17:30 ?0次下載

    請問如何利用CW32L083系列微控制器的內(nèi)部Flash存儲器進行程序升級和數(shù)據(jù)存儲?

    如何利用CW32L083系列微控制器的內(nèi)部Flash存儲器進行程序升級和數(shù)據(jù)存儲?
    發(fā)表于 12-15 07:39

    STM32C011開發(fā)(3)----Flash操作

    STM32C011 系列微控制器內(nèi)置 Flash 存儲器,支持程序存儲與數(shù)據(jù)保存,具備頁面擦除、雙字寫入、讀寫保護等功能。本文將簡要介紹 STM32
    的頭像 發(fā)表于 09-18 16:48 ?5260次閱讀
    <b class='flag-5'>STM32</b>C011開發(fā)(3)----<b class='flag-5'>Flash</b>操作

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

    電子發(fā)燒友網(wǎng)站提供《STM32F3系列、STM32F4系列、STM32L4系列
    發(fā)表于 06-06 17:06 ?17次下載

    STM32F40xxx和STM32f41xx flash編程手冊

    PM0081_STM32F40xxx and STM32F41xxx單片機編程手冊
    發(fā)表于 06-06 17:02 ?8次下載

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

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

    手機APP遠程控制,智能家居監(jiān)測、智能控制系統(tǒng)(STM32L4、服務(wù)器、安卓源碼)

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

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

    領(lǐng)先的每毫瓦 Coremark分數(shù)117。這幾乎是意法半導(dǎo)體之前 STM32U5系列效率的兩倍,是STM32L4系列的五倍。
    發(fā)表于 04-25 07:05

    STM32L476 Flash擦除失敗的原因?

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

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

    領(lǐng)先的每毫瓦 Coremark分數(shù)117。這幾乎是意法半導(dǎo)體之前 STM32U5系列效率的兩倍,是STM32L4系列的五倍。
    發(fā)表于 04-23 06:45
    东阳市| 克拉玛依市| 新昌县| 东源县| 桃源县| 郓城县| 邳州市| 定州市| 格尔木市| 庆城县| 芒康县| 扶绥县| 昌乐县| 徐汇区| 阿克陶县| 延长县| 荆州市| 黄浦区| 门头沟区| 西和县| 太康县| 朝阳市| 乌鲁木齐市| 西城区| 渝中区| 光泽县| 台东县| 黔江区| 晋城| 龙里县| 嘉兴市| 德令哈市| 娄底市| 曲周县| 合江县| 迁西县| 婺源县| 德昌县| 尚志市| 来宾市| 香港 |