日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

3天內不再提示

STM32F1_ 片內FLASH編程

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-04-08 10:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

今天總結“STM32F103片內FLASH編程”,對于學習編程的人來說“FLASH”這個詞肯定很熟悉,因為FLASH主要用于存儲數(shù)據(jù)。對于STM32來說,內部FLASH的容量有大有小,從16K到2M不等,主要看芯片的型號。

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

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

每天總結的不僅僅是基礎,而是重點,不起眼的重點,容易被人忽視的重點。關注微信公眾號“EmbeddDeveloper”還有更多精彩等著你。

下載

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

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

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

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

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

內容講解

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

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

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

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

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

提供的工程以簡單為原則,詳細中文注釋,方便自己方便大家。

關于“STM32F103 片內FLASH編程”我把重要的幾點在下面分別講述:

一、寫函數(shù)接口


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

注意:

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

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

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

二、讀函數(shù)接口


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

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

三、讀寫應用


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

藍色表示讀寫標志位

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

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

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

四、今天的重點


重點A.頁的大小:STM32F1小、中容量是1K,而大容量是2K,對于編程這里是有差異的。

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

說明

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

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

    關注

    10

    文章

    1761

    瀏覽量

    155939
  • STM32F103
    +關注

    關注

    34

    文章

    497

    瀏覽量

    68233
  • STM32F10
    +關注

    關注

    0

    文章

    49

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    深入剖析STM32W108C8:高性能IEEE 802.15.4無線上系統(tǒng)

    深入剖析STM32W108C8:高性能IEEE 802.15.4無線上系統(tǒng) 在當今的電子設計領域,無線通信技術的發(fā)展日新月異。對于工程師而言,選擇一款合適的無線上系統(tǒng)(SoC)至關重要。今天
    的頭像 發(fā)表于 04-17 15:25 ?200次閱讀

    C8051F330/1/2/3/4/5系列MCU:混合信號ISP Flash MCU的卓越之選

    C8051F330/1/2/3/4/5系列MCU:混合信號ISP Flash MCU的卓越之選 在電子設計領域,選擇一款合適的微控制器(MCU)對于項目的成功至關重要。C8051F33
    的頭像 發(fā)表于 04-15 11:30 ?192次閱讀

    C8051F320/1:高速USB、16k ISP FLASH MCU家族的卓越之選

    C8051F320/1:高速USB、16k ISP FLASH MCU家族的卓越之選 在電子工程師的設計世界里,選擇一款合適的微控制器(MCU)至關重要。今天,我們就來深入了解一下C8051F
    的頭像 發(fā)表于 04-15 11:20 ?205次閱讀

    深入解析C8051F120/1/2/3/4/5/6/7系列8K ISP FLASH MCU

    : C8051F120.pdf 一、系統(tǒng)概述 C8051F120/1/2/3/4/5/6/7系列MCU基于高速8051 μC核心,采用流水線指令架構,能在1或2個系統(tǒng)時鐘
    的頭像 發(fā)表于 04-15 11:05 ?259次閱讀

    PIC18FXX80/XX85 Flash微控制器編程規(guī)范解析

    /XX85系列Flash微控制器的編程規(guī)范。 文件下載: PIC18F6585-I/L.pdf 一、設備概述 PIC18FXX80/XX85系列包含了PIC18F6585、PIC18
    的頭像 發(fā)表于 04-08 10:35 ?157次閱讀

    CW32F030FLASH閃存存儲器物理區(qū)域的劃分

    FLASH 閃存由兩部分物理區(qū)域組成:主 FLASH 存儲器和啟動程序存儲器。 1、主 FLASH 存儲器,共 64KB,地址空間為
    發(fā)表于 12-23 08:28

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

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

    TLE9893是否支持在FLASH1上運行代碼來擦除和編程FLASH1?

    芯片TLE9893是否支持在FLASH1上運行代碼來擦除和編程FLASH1。在NVM-PROG_UCODE中,代碼在FLASH1上運行,并將數(shù)據(jù)寫入
    發(fā)表于 08-13 08:14

    FLASH燒寫/編程白皮書

    白皮書:如何燒寫Flash——不同場景不同需求下的選擇認識Flash?NAND vs. NOR如何燒寫/編程不同方案比較
    發(fā)表于 07-28 16:05 ?0次下載

    STM32F103c8上做DLQR最優(yōu)控制算法的C編程資料

    這是我近期做的一個項目--基于STM32F103c8的DLQR控制算法的C編程,涉及DLQR最優(yōu)控制算法、嵌入式STM32F103編程、CMSIS-DSP庫使用。? ??附有完整的程序
    發(fā)表于 07-23 15:30 ?0次下載

    STM32F10xxx參考手冊

    STM32F1XX數(shù)據(jù)手冊中文版
    發(fā)表于 07-10 16:09 ?10次下載

    STM32F103RET6 FLASH擦除失敗的原因?怎么解決?

    MCU是STM32F103RET6,512K大容量型,我現(xiàn)在程序進行掉電存儲,用到的地址是第224頁到254頁,共60kb,芯片上電后第一次擦除是成功的,然后寫入一次數(shù)據(jù),再讀出數(shù)據(jù)是對的,之后
    發(fā)表于 07-10 06:40

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

    電子發(fā)燒友網站提供《STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊.pdf》資料
    發(fā)表于 06-06 17:06 ?17次下載

    STM32F40xxx和STM32f41xx flash編程手冊

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

    MCUFlash

    ? ? MCUFlash是微控制器內部集成的非易失性存儲器,主要用于存儲程序代碼、常量數(shù)據(jù)及系統(tǒng)配置信息。其核心特性與功能如下: 一、定義與類型? Flash采用浮柵晶體管技術
    的頭像 發(fā)表于 05-06 14:26 ?1591次閱讀
    芜湖县| 定州市| 商水县| 凤凰县| 东光县| 黄冈市| 岗巴县| 射阳县| 和静县| 常德市| 承德市| 平南县| 呼伦贝尔市| 兴宁市| 龙门县| 定兴县| 永城市| 石景山区| 清新县| 双城市| 台东市| 郴州市| 丹寨县| 定结县| 南京市| 绥芬河市| 都昌县| 宝丰县| 疏附县| 达日县| 林周县| 马尔康县| 蒲江县| 隆回县| 措勤县| 罗田县| 九龙城区| 泰安市| 化德县| 神农架林区| 盘山县|