chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

#define Address_Const (0x80FF000)

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

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

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

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

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

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

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

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

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

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

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

    關(guān)注

    88

    文章

    3689

    瀏覽量

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

    關(guān)注

    3

    文章

    4381

    瀏覽量

    64921
  • STM32L4
    +關(guān)注

    關(guān)注

    1

    文章

    42

    瀏覽量

    9693

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    STM32F3系列、STM32F4系列STM32L4系列STM32L4+系列Cortex-M4編程手冊(cè)

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

    STM32F40xxx和STM32f41xx flash編程手冊(cè)

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

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

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

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

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

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

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

    請(qǐng)問(wèn)STM32U3系列的定位是怎樣的?

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

    STM32L476 Flash擦除失敗的原因?

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

    請(qǐng)問(wèn)STM32U3系列的定位是怎樣的?

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

    cubeide的代碼怎么編譯到內(nèi)部+外部FLASH里面去?

    我有一個(gè)項(xiàng)目,準(zhǔn)備使用GUI和AI,準(zhǔn)備使用STM32U5,但是編譯出來(lái)的代碼很多,STM32U5的內(nèi)部FLASH不夠用,準(zhǔn)備使用OSPI擴(kuò)展外部F
    發(fā)表于 03-07 07:48

    WTVxxxx系列語(yǔ)音芯片(一線(xiàn)&二線(xiàn) 單雙字節(jié))資料V1

    WTVxxxx系列語(yǔ)音芯片(一線(xiàn)&二線(xiàn)單雙字節(jié))資料V1
    發(fā)表于 03-06 08:27 ?0次下載

    AN-881: 通過(guò)LIN—協(xié)議4進(jìn)行Flash/EE存儲(chǔ)器編程

    電子發(fā)燒友網(wǎng)站提供《AN-881: 通過(guò)LIN—協(xié)議4進(jìn)行Flash/EE存儲(chǔ)器編程.pdf》資料免費(fèi)下載
    發(fā)表于 01-14 16:12 ?0次下載
    AN-881: 通過(guò)LIN—協(xié)議<b class='flag-5'>4</b>進(jìn)行<b class='flag-5'>Flash</b>/EE存儲(chǔ)器<b class='flag-5'>編程</b>

    STM32WB55RG開(kāi)發(fā)(2)----STM32CubeProgrammer燒錄

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

    掃描模塊的編程示例和調(diào)試策略

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

    在mmWave SDK增加QSPI Flash驅(qū)動(dòng)的示例

    電子發(fā)燒友網(wǎng)站提供《在mmWave SDK增加QSPI Flash驅(qū)動(dòng)的示例.pdf》資料免費(fèi)下載
    發(fā)表于 09-11 14:20 ?0次下載
    在mmWave SDK增加QSPI <b class='flag-5'>Flash</b>驅(qū)動(dòng)的<b class='flag-5'>示例</b>

    STM32CUBEMX(10)--Flash讀寫(xiě)

    概述 本例程主要講解如何對(duì)芯片自帶Flash進(jìn)行讀寫(xiě),用芯片內(nèi)部Flash可以對(duì)一些需要斷電保存的數(shù)據(jù)進(jìn)行保存,無(wú)需加外部得存儲(chǔ)芯片,本例程采用的是STM32F030R8T6,64K大
    發(fā)表于 09-10 15:36