在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

STM32F1_ 片內(nèi)FLASH編程

黃工的嵌入式技術(shù)圈 ? 來(lái)源:黃工的嵌入式技術(shù)圈 ? 2020-04-08 10:28 ? 次閱讀

前言

今天總結(jié)“STM32F103片內(nèi)FLASH編程”,對(duì)于學(xué)習(xí)編程的人來(lái)說(shuō)“FLASH”這個(gè)詞肯定很熟悉,因?yàn)镕LASH主要用于存儲(chǔ)數(shù)據(jù)。對(duì)于STM32來(lái)說(shuō),內(nèi)部FLASH的容量有大有小,從16K到2M不等,主要看芯片的型號(hào)。

對(duì)于剛從51或者430轉(zhuǎn)入學(xué)習(xí)ARM-Cortex M芯片的人來(lái)說(shuō),可能只知道內(nèi)部FLASH是拿來(lái)裝載程序的,事實(shí)上Cortex M芯片內(nèi)部FLASH的可以拿來(lái)編程的,而且還可以像外部FLASH一樣存儲(chǔ)數(shù)據(jù)。對(duì),今天提供的工程就是使用內(nèi)部FLASH像外部FLASH一樣讀寫數(shù)據(jù),而且不是塊或者頁(yè)編程(即不覆蓋臨近地址數(shù)據(jù))。

在實(shí)際的開發(fā)中,內(nèi)部FLASH存儲(chǔ)數(shù)據(jù)也是很重要的一點(diǎn),特別是一些不常修改,而且很重要的標(biāo)志位,或者一些配置等,存儲(chǔ)在內(nèi)部FLASH是很常見的。但是,這個(gè)地址一定要避開程序儲(chǔ)存的地址(我計(jì)劃后期整理編程地址規(guī)范及要求)。

每天總結(jié)的不僅僅是基礎(chǔ),而是重點(diǎn),不起眼的重點(diǎn),容易被人忽視的重點(diǎn)。關(guān)注微信公眾號(hào)“EmbeddDeveloper”還有更多精彩等著你。

下載

今天提供下載的“軟件工程”都是在硬件板子上進(jìn)行多次測(cè)試、并保證沒問題才上傳至360云盤。

今天的軟件工程下載地址(360云盤):

https://yunpan.cn/cSFA6h6kwu5jb訪問密碼 bc34

STM32F10x的資料可以在我360云盤下載:

https://yunpan.cn/crBUdUGdYKam2訪問密碼 ca90

內(nèi)容講解

工程概要說(shuō)明: 提供工程的源代碼主要就是兩個(gè)接口,一個(gè)寫,一個(gè)讀。

void FLASH_WriteNWord(uint16_t* pBuffer, uint32_t WriteAddr, uint16_t nWord);

void FLASH_ReadNWord(uint16_t* pBuffer, uint32_t ReadAddr, uint16_t nWord);

相信經(jīng)常編程的人都明白函數(shù)接口的意思(我的命名規(guī)則還是算比較人性化的),就是和常見的訪問外部FLASH一樣,不會(huì)覆蓋數(shù)據(jù),我已經(jīng)在實(shí)際工作中應(yīng)用而且商業(yè)化了。

主要在地址“ADDR”處寫一個(gè)標(biāo)志位,在地址“ADDR + 1”連續(xù)寫一串?dāng)?shù)據(jù)。如果標(biāo)志位已經(jīng)是“寫過”,則不會(huì)再次寫入數(shù)據(jù),只會(huì)讀取數(shù)據(jù),意思就是說(shuō)數(shù)據(jù)只寫一次,以后每次只是讀取數(shù)據(jù)(就是保證掉電后數(shù)據(jù)會(huì)不會(huì)丟失)。每次讀取數(shù)據(jù),通過串口打印出以前寫入的數(shù)據(jù)是否正確。

提供的工程以簡(jiǎn)單為原則,詳細(xì)中文注釋,方便自己方便大家。

關(guān)于“STM32F103 片內(nèi)FLASH編程”我把重要的幾點(diǎn)在下面分別講述:

一、寫函數(shù)接口


該函數(shù)位于flash.c文件下面;

注意:

A.參數(shù)pBuffer是數(shù)據(jù)緩沖區(qū),是16位的,而不是8位的。(其實(shí)這里可以整理為8位的,由于時(shí)間有限,如果有需要,請(qǐng)微信里回復(fù)我,我抽時(shí)間整理一下)。

B.參數(shù)長(zhǎng)度也是16位的數(shù)量。

C.地址是內(nèi)部FLASH地址,可別溢出了,也別和程序沖突。最好看看你的程序大小及芯片容量。

二、讀函數(shù)接口


該函數(shù)位于flash.c文件下面;

注意的地方和上面寫函數(shù)接口一樣,主要是參數(shù)。

三、讀寫應(yīng)用


該函數(shù)位于main.c文件下面;

藍(lán)色表示讀寫標(biāo)志位

紅色表示讀寫數(shù)據(jù)

看一下就知道程序的流程是:“數(shù)據(jù)標(biāo)志位”和“數(shù)據(jù)”都只寫一次,而每次上電讀一次標(biāo)志位,再讀數(shù)據(jù)。

這里的“數(shù)據(jù)標(biāo)志位”地址就在“數(shù)據(jù)”前面。

四、今天的重點(diǎn)


重點(diǎn)A.頁(yè)的大小:STM32F1小、中容量是1K,而大容量是2K,對(duì)于編程這里是有差異的。

重點(diǎn)B.STM32系列芯片中有很大一部分頁(yè)的大小都是規(guī)則的,也就是說(shuō)都是1K或許2K大小,學(xué)過其他系列芯片的人可能知道,在其他很多芯片中也有不是規(guī)則的,如STM32F4中基本都不是規(guī)則的(如下圖F4芯片),有的一塊16K、128K等不規(guī)則。這樣的芯片對(duì)于今天提供的工程就不適用,今天提供工程適用于內(nèi)部FLASH規(guī)則大小的芯片。

說(shuō)明

今天提供的軟件工程基于STM32F103大容量芯片,中等及小容量芯片也使用,只要修改flash.h文件一個(gè)宏(頁(yè)大小就可以)。其實(shí)只要適當(dāng)修改工程的部分配置,STM32F1的芯片都適用。

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

    關(guān)注

    10

    文章

    1656

    瀏覽量

    150589
  • STM32F103
    +關(guān)注

    關(guān)注

    33

    文章

    481

    瀏覽量

    64833
  • STM32F10
    +關(guān)注

    關(guān)注

    0

    文章

    46

    瀏覽量

    15774
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    兆易創(chuàng)新推出GD5F1GM9系列高速Q(mào)SPI NAND Flash

    中國(guó)北京(2025 年4 月15 日) —— 業(yè)界領(lǐng)先的半導(dǎo)體器件供應(yīng)商 兆易創(chuàng)新 GigaDevice (股票代碼 603986)宣布推出GD5F1GM9系列高速Q(mào)SPI NAND Flash
    發(fā)表于 04-22 10:23 ?767次閱讀
     兆易創(chuàng)新推出GD5<b class='flag-5'>F1</b>GM9系列高速Q(mào)SPI NAND <b class='flag-5'>Flash</b>

    兆易創(chuàng)新推出GD5F1GM9系列高速Q(mào)SPI NAND Flash

    今日,兆易創(chuàng)新宣布推出GD5F1GM9系列高速Q(mào)SPI NAND Flash,該系列以其突破性的讀取速度和創(chuàng)新的壞塊管理(BBM)功能,可有效解決傳統(tǒng)SPI NAND Flash響應(yīng)速度慢、易受壞塊
    的頭像 發(fā)表于 04-16 13:50 ?243次閱讀

    STM32F10xxx單片機(jī)編程手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《STM32F10xxx單片機(jī)編程手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 04-14 14:56 ?3次下載

    STM32F103x8 STM32F103xB單片機(jī)數(shù)據(jù)手冊(cè)

    STM32F103x8STM32F103xB單片機(jī)數(shù)據(jù)手冊(cè)
    發(fā)表于 04-14 14:55 ?1次下載

    STM32F103×8/STM32F103×B MCU手冊(cè)

    參考第2.2節(jié):整個(gè)系列的完全兼容性。中密度STM32F103xx數(shù)據(jù)手冊(cè)必須與低、中、高密度STM 32 f 10 xx參考手冊(cè)一起閱讀。有關(guān)數(shù)據(jù)手冊(cè)和參考手冊(cè)的設(shè)備勘誤表信息,請(qǐng)參考STM32F103x8/Berrata表(
    發(fā)表于 03-18 16:37 ?0次下載

    請(qǐng)問stm32f373中SDADC和ADC的1.2V內(nèi)基準(zhǔn)是不是同一個(gè)?

    你好,STM32F373中,12位ADC,即ADC1,可以測(cè)量?jī)?nèi)部基準(zhǔn)VREFINT。DATASHEET的值1.23V。 16位的SDADC的參考,可以選擇內(nèi)VREFINT,但有的地
    發(fā)表于 03-13 07:39

    CYPRESS FLASH MCU Programmer for F2MC-16FX

    Software version: V01L18程序的功能:可以對(duì)集成在微控制器中的flash執(zhí)行擦除、空白檢查、編程和驗(yàn)證、讀取和比較以及復(fù)制。啟動(dòng)編程器軟件打開對(duì)話框,如下所示:兼容的MCU(注
    發(fā)表于 12-23 11:25 ?2次下載

    【GD32 MCU 入門教程】二、GD32 MCU 燒錄說(shuō)明(1)ISP 燒錄

    ISP:In System Programing,在系統(tǒng)編程,通過MCU內(nèi)的引導(dǎo)程序進(jìn)行Flash編程。 GD32
    的頭像 發(fā)表于 08-08 16:20 ?1794次閱讀
    【GD32 MCU 入門教程】二、GD32 MCU 燒錄說(shuō)明(<b class='flag-5'>1</b>)ISP 燒錄

    自制一款兼容STM32F1/F4芯片的飛控板

    自己制作的一款兼容STM32F1/F4芯片的飛控板。
    發(fā)表于 07-04 14:07 ?0次下載

    STM32F103xC,STM32F103xD,STM32F103xE中文資料

    電子發(fā)燒友網(wǎng)站提供《STM32F103xC,STM32F103xD,STM32F103xE中文資料.pdf》資料免費(fèi)下載
    發(fā)表于 06-17 14:12 ?7次下載

    CW2015_STM32F1XX_C8T6資料包分享

    CW2015_STM32F1XX_C8T6
    發(fā)表于 06-07 12:46 ?12次下載

    【GD32F303紅楓派開發(fā)板使用手冊(cè)】第五講 FMC-內(nèi)Flash擦寫讀實(shí)驗(yàn)

    MC即Flash控制器,其提供了Flash操作所需要的所有功能,在GD32F303系列MCU中,Flash前256K字節(jié)空間內(nèi),?CPU
    的頭像 發(fā)表于 06-02 10:05 ?1160次閱讀
    【GD32<b class='flag-5'>F</b>303紅楓派開發(fā)板使用手冊(cè)】第五講 FMC-<b class='flag-5'>片</b><b class='flag-5'>內(nèi)</b><b class='flag-5'>Flash</b>擦寫讀實(shí)驗(yàn)

    Ti60F100 內(nèi)外flash操作方案

    有客戶認(rèn)為Ti60F100內(nèi)部flash容量比較小,只有16Mb,需要外掛flash.這里我們提供了內(nèi)部flash和外部flash分別操作的
    的頭像 發(fā)表于 05-20 16:42 ?2080次閱讀
    Ti60<b class='flag-5'>F</b>100 內(nèi)外<b class='flag-5'>flash</b>操作方案

    關(guān)于stm32f407軟件升級(jí)問題求解

    大家好,請(qǐng)教下關(guān)于stm32f407 軟件升級(jí)問題 設(shè)備:1、官方的discovry的開發(fā)板MB997B 2、官方提供
    發(fā)表于 05-17 07:26

    求助,關(guān)于STM32F302_FLASH讀保護(hù)的問題求解

    查看好些STM32F302資料,想通過FLASH讀保護(hù)來(lái)實(shí)現(xiàn)加密功能,添加以下代碼后,沒能實(shí)現(xiàn)預(yù)期功能: #define OB_RDP_Level_0((uint8_t)0xAA) #define
    發(fā)表于 05-08 06:26
    主站蜘蛛池模板: 日本免费不卡视频 | 国产美女影院 | a爱视频| 又粗又大撑满了好爽 | 在线免费成人 | 国产无套粉嫩白浆 | 色老头一区二区三区在线观看 | 亚洲区中文字幕 | 拍拍拍无档又黄又爽视频 | 亚州 色 图 综合 | 牛牛a级毛片在线播放 | 色噜噜狠狠色综合久 | 色噜噜在线视频 | 你懂的在线观看网址 | 农村妇女色又黄一级毛片卡 | 国产伦精品一区二区免费 | 欧美性猛交xxxx免费看久久 | 99午夜高清在线视频在观看 | 欧美色香蕉 | 国产亚洲综合一区 柠檬导航 | 国产女同在线观看 | 看久久| 天天色资料 | 久久精品免费 | 色男人网 | 一级毛片黄色片 | 久久奈| 337p欧洲亚洲大胆艺术 | 精品色 | 高清在线观看视频 | 一级视频在线观看 | 免费的三及片 | 黄在线观看网站 | 午夜宅男在线 | 7086bt伙计 福利一区 | 看片在线观看免费 | 浮荡视频在线观看免费 | 97人人人人| 欧美区一区 | 天天看天天摸天天操 | 国产你懂的视频 |