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

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

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

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

CW32L052 FLASH存儲器

CW32生態(tài)社區(qū) ? 來源:CW32生態(tài)社區(qū) ? 作者:CW32生態(tài)社區(qū) ? 2024-02-28 17:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

BD網(wǎng)盤鏈接:

https://pan.baidu.com/s/1dmtMWcK1TII-vutsS8X0Og?pwd=5wwy
提取碼:5wwy

概述

CW32L052內(nèi)部集成了64KB嵌入式FLASH供用戶使用,可用來存儲應(yīng)用程序和用戶數(shù)據(jù) 。

芯片支持對 FLASH 存儲器的讀、擦除和寫操作,支持 擦寫保護(hù)和讀保護(hù)

芯片內(nèi)置 FLASH 編程所需的高壓 BOOST 電路, 無須額外提供編程電壓 。

FLASH存儲器組織

  • 總?cè)萘?4KB,分頁管理
  • 每頁 512 字節(jié)
  • 共 128 頁

FLASH存儲器保護(hù)

FLASH 存儲器具有擦寫保護(hù)讀保護(hù)功能。

  • 擦寫保護(hù)

包括鎖定頁擦寫保護(hù)和PC 地址頁擦寫保護(hù),處于保護(hù)狀態(tài)的頁面不能被擦寫,可避免 FLASH 內(nèi)容被意外改寫。

  • 讀保護(hù)

整片F(xiàn)LASH為保護(hù)對象,不支持單頁保護(hù),可避免用戶代碼被非法讀取。

FLASH存儲器操作

FLASH 存儲器操作包括:讀操作、擦除、寫(編程)操作。

頁擦除

FLASH 的頁擦除操作的最小單位為 1 頁,即 512 字節(jié)。頁擦除操作完成后,該頁所有地址空間的數(shù)據(jù)內(nèi)容均為 0xFF 。

如果對未解鎖的 FLASH 頁面進(jìn)行頁擦除操作,或者對*正在運行的程序[^1]*進(jìn)行擦除操作,會操作失敗,產(chǎn)生 錯誤中斷標(biāo)志

CW32L052 內(nèi)部 FLASH 存儲器被劃分為 128 頁,每 8 頁對應(yīng)擦寫鎖定寄存器1 個鎖定位 。擦寫鎖定寄存器的各位域與 FLASH 鎖定頁面的對應(yīng)關(guān)系如下表所示:
0fcb76c86bd5b5d35365f25a6895bb0a3493144165354211_.jpg

寫操作

基于嵌入式 FLASH 的特性,寫操作只能將 FLASH 存儲器中位數(shù)據(jù) 由'1'改寫為'0' ,不能由'0'改寫為'1', 因此在寫數(shù)據(jù)之前先要對對應(yīng)地址所在頁進(jìn)行擦除操作。

基于以上陳述,總結(jié)出以下三個原則:

  • 不可對數(shù)據(jù)位內(nèi)容為'0'的地址寫入
  • 不可對鎖定區(qū)域內(nèi)的地址寫入
  • 不可對 PC(程序指針)所在的頁的地址寫入

讀操作

CW32L052 對 FLASH 的讀操作支持 3 種不同位寬,可采用直接訪問絕對地址方式讀取,讀取的數(shù)據(jù)位寬必 須和對應(yīng)地址邊界對齊。

核心代碼

//單片機頭文件
#include "main.h"
//硬件驅(qū)動
#include "gpio.h"
#include "delay.h"

//子程序
void LCD_Configuration(void);       //段式LCD配置函數(shù)
void LCD_Display(uint16_t dispdata);     //段式LCD顯示函數(shù)
uint8_t FLASH_Erase(void);         //FLASH頁擦除函數(shù)
uint8_t FLASH_Write(uint8_t *ByteData,uint16_t amount); //FLASH寫操作函數(shù)

int main(void)
{
 int i;
 int temp8;
 uint8_t cnt=0;
 uint8_t WriteBuf[256];

    LED_Init();    //初始化程序運行情況指示燈
 LCD_Configuration();    //配置LCD液晶顯示屏

 FLASH_Erase();          //頁擦除操作
 for(i=0;i< 256;i++)      //驗證是否擦除成功
 {
  temp8=*((volatile uint8_t*)(512*127+i));
  if(temp8!=0xff)
  {
   while(1)
   {
    LED2_ON();       //LED2閃爍
    Delay_ms(300);
    LED2_OFF();
    Delay_ms(300);
   }
  }
 }

 for(i=0;i< 256;i++)      //準(zhǔn)備寫入FLASH存儲器的數(shù)據(jù)
 {
  WriteBuf[i]=i;
 }
 FLASH_Write(WriteBuf,256); //寫操作
 for(i=0;i< 255;i++)           //驗證是否寫入正確
 {
  temp8=*((volatile uint8_t*)(512*127+i));
  if(temp8!=i)
  {
   while(1)
   {
    LED1_ON();     //LED1、LED2同時閃爍指示寫入失敗
    LED2_ON();
    Delay_ms(300);
    LED1_OFF();
    LED2_OFF();
    Delay_ms(300);
   }
  }
 }

 LED1_ON();       //指示擦除、讀、寫均成功
 LED2_ON();
    while(1)
    {
  LCD_Display(*((volatile uint8_t*)(512*127+cnt)));  //LCD上依次顯示寫入的數(shù)據(jù)
  Delay_ms(500);
  cnt++;
    }
}

uint8_t FLASH_Erase(void)    //頁擦除
{
 int flag=1;

 FLASH_UnlockPages(512*127,512*127);
 flag=FLASH_ErasePages(512*127,512*127);
 FLASH_LockAllPages();
 if(flag!=0)
 {
  while(1)
  {
   LED1_ON();
   Delay_ms(300);
   LED1_OFF();
   Delay_ms(300);
  }
 }

 return 0;
}

uint8_t FLASH_Write(uint8_t *ByteData,uint16_t amount)  //寫操作
{
 int flag=1;

 FLASH_UnlockPages(512*127,512*127);
 flag=FLASH_WriteBytes(512*127,ByteData,amount);
 FLASH_LockAllPages();
 if(flag!=0)
 {
  while(1)
  {
   LED2_ON();
   Delay_ms(300);
   LED2_OFF();
   Delay_ms(300);
  }
 }

 return 0;
}

void LCD_Configuration(void)      //段式LCD配置
{
    __RCC_LCD_CLK_ENABLE();
 RCC_LSI_Enable();

    LCD_InitTypeDef LCD_InitStruct = {0};

    LCD_InitStruct.LCD_Bias = LCD_Bias_1_3;
    LCD_InitStruct.LCD_ClockSource = LCD_CLOCK_SOURCE_LSI;
    LCD_InitStruct.LCD_Duty = LCD_Duty_1_4;
    LCD_InitStruct.LCD_ScanFreq = LCD_SCAN_FREQ_256HZ;
    LCD_InitStruct.LCD_VoltageSource = LCD_VoltageSource_Internal;

    LCD_Init(&LCD_InitStruct);
 LCD_COMConfig(LCD_COM0 | LCD_COM1 | LCD_COM2 | LCD_COM3, ENABLE);
    LCD_SEG0to23Config(LCD_SEG0|LCD_SEG1|LCD_SEG2|LCD_SEG3|LCD_SEG4|LCD_SEG5|LCD_SEG6|LCD_SEG7, ENABLE);

 LCD_Cmd(ENABLE);
}

void LCD_Display(uint16_t dispdata)   //LCD顯示
{
 uint16_t DisBuf[10]={NUM0,NUM1,NUM2,NUM3,NUM4,NUM5,NUM6,NUM7,NUM8,NUM9};

 LCD_Write(LCD_RAMRegister_0,0x00000000);
 LCD_Write(LCD_RAMRegister_1,0x00000000);

 if(dispdata< 10)
  LCD_Write(LCD_RAMRegister_0,DisBuf[dispdata]);
 else if(dispdata< 100)
  LCD_Write(LCD_RAMRegister_0,DisBuf[dispdata/10]|DisBuf[dispdata%10]< 16);
 else if(dispdata< 1000)
 {
  LCD_Write(LCD_RAMRegister_0,DisBuf[dispdata/100]|DisBuf[dispdata/10%10]< 16);
  LCD_Write(LCD_RAMRegister_1,DisBuf[dispdata%10]);
 }
 else
 {
  LCD_Write(LCD_RAMRegister_0,0xffffffff);
  LCD_Write(LCD_RAMRegister_1,0xffffffff);
 }

}

視頻演示
2月28日 00_00_00-00_00_30.gif

補充
FLASH存儲器和EEPROM存儲器對比

一般性的總結(jié):
7e689d56eb93c13b4fa97e4d66a8bc803493144165354211_.jpg

使用場景側(cè)重:

  • EEPROM:頻繁的擦寫操作,如存儲計數(shù)器、傳感器數(shù)據(jù)等
  • 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)注

    462

    文章

    53179

    瀏覽量

    453630
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1701

    瀏覽量

    153885
  • 存儲器
    +關(guān)注

    關(guān)注

    39

    文章

    7692

    瀏覽量

    170013
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    278

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    NAND Flash的基本原理和結(jié)構(gòu)

    NAND Flash是什么?NAND Flash(閃存)是一種非易失性存儲器技術(shù),主要用于數(shù)據(jù)存儲。與傳統(tǒng)的DRAM或SRAM不同,NAND Fla
    的頭像 發(fā)表于 09-08 09:51 ?4728次閱讀
    NAND <b class='flag-5'>Flash</b>的基本原理和結(jié)構(gòu)

    (芯源半導(dǎo)體)32位 無線射頻,超低功耗,通用高性能MCU,存儲芯片 選型

    R8S6 CW32L052R8T6 CW32L031F8P6 CW32L031F8U6 CW32L031K8V6 CW32L031K8U6
    發(fā)表于 07-09 17:11

    基于CW32L010的高性能溫控方案

    溫控作為環(huán)境控制系統(tǒng)中的核心設(shè)備,廣泛應(yīng)用于工業(yè)自動化、智能家居、農(nóng)業(yè)溫室等諸多領(lǐng)域,正朝著智能化、精準(zhǔn)化和低功耗方向發(fā)展。武漢芯源半導(dǎo)體的明星產(chǎn)品CW32L010系列MCU憑借其ARM
    發(fā)表于 07-02 09:46

    武漢芯源半導(dǎo)體CW32L010在兩輪車儀表的應(yīng)用介紹

    主控MCU芯片CW32L010介紹 CW32L010 是基于 eFlash 的單芯片低功耗微控制,集成了主頻高達(dá) 48MHz 的 ARM? Cortex?-M0+ 內(nèi)核、高速嵌入式存儲器
    發(fā)表于 05-13 14:06

    扒一扒單片機與存儲器的那些事

    單片機與存儲器的關(guān)系像什么?單片機里的存儲都是一樣的嗎?為什么有的單片機既有EEPROM又有Flash?
    的頭像 發(fā)表于 04-10 10:06 ?1175次閱讀
    扒一扒單片機與<b class='flag-5'>存儲器</b>的那些事

    STM32C031F4 FLASH存儲器讀寫例程各位高能不能提供一個?

    STM32C031F4FLASH存儲器 讀寫例程 各位高能不能提供一個謝謝大家
    發(fā)表于 03-13 07:37

    閃速存儲器屬于RAM還是ROM,閃速存儲器一般用來做什么的

    在數(shù)字存儲技術(shù)的快速發(fā)展中,閃速存儲器Flash Memory)以其獨特的性能和廣泛的應(yīng)用領(lǐng)域,成為了連接隨機存取存儲器(RAM)與只讀存儲器
    的頭像 發(fā)表于 01-29 16:53 ?1382次閱讀

    閃速存儲器是u盤嗎,閃速存儲器一般用來做什么的

    在信息技術(shù)飛速發(fā)展的今天,閃速存儲器Flash Memory)以其高速度、大容量和非易失性的特性,成為數(shù)據(jù)存儲領(lǐng)域的重要成員。而U盤,作為閃速存儲器的一種常見應(yīng)用形式,更是憑借其便攜
    的頭像 發(fā)表于 01-29 15:12 ?1158次閱讀

    SK海力士計劃減產(chǎn)NAND Flash存儲器以應(yīng)對市場下滑

    近日,據(jù)韓媒最新報道,全球NAND Flash存儲器市場正面臨供過于求的嚴(yán)峻挑戰(zhàn),導(dǎo)致價格連續(xù)四個月呈現(xiàn)下滑趨勢。為應(yīng)對這一不利局面,各大存儲器廠商紛紛采取減產(chǎn)措施,旨在平衡市場供求關(guān)系,進(jìn)而穩(wěn)定
    的頭像 發(fā)表于 01-20 14:43 ?881次閱讀

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

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

    EE-302:ADSP-BF53x Blackfin處理與NAND FLASH存儲器的接口

    電子發(fā)燒友網(wǎng)站提供《EE-302:ADSP-BF53x Blackfin處理與NAND FLASH存儲器的接口.pdf》資料免費下載
    發(fā)表于 01-07 14:03 ?0次下載
    EE-302:ADSP-BF53x Blackfin處理<b class='flag-5'>器</b>與NAND <b class='flag-5'>FLASH</b><b class='flag-5'>存儲器</b>的接口

    PROM器件與其他存儲器的區(qū)別

    存儲器技術(shù)如EPROM、EEPROM和Flash存儲器所取代。以下是PROM與其他存儲器的一些主要區(qū)別: 1. 可編程性 PROM :PROM是一次性可編程的,意味著用戶只能編程一次
    的頭像 發(fā)表于 11-23 11:18 ?1987次閱讀

    CW32L010 Mini Board 測評】簡介、點燈

    奇偶校驗 22 字節(jié) OTP 存儲器 復(fù)位和電源管理 低功耗模式(Sleep,DeepSleep) 上電和掉電復(fù)位(POR/BOR) 可編程低電壓檢測(LVD) 時鐘管理 4 ~ 32MHz
    發(fā)表于 11-17 06:39

    一文看懂NAND、DDR、LPDDR、eMMC幾種存儲器的區(qū)別

    存儲領(lǐng)域發(fā)展至今,已有很多不同種類的存儲器產(chǎn)品。下面給大家介紹幾款常見的存儲器及其應(yīng)用: 1 NANDNAND Flash存儲器
    的頭像 發(fā)表于 11-11 11:26 ?1.3w次閱讀
    一文看懂NAND、DDR、LPDDR、eMMC幾種<b class='flag-5'>存儲器</b>的區(qū)別

    什么是ROM存儲器的定義

    一、ROM存儲器的定義 ROM存儲器是一種在計算機和電子設(shè)備中用于存儲固定數(shù)據(jù)的存儲器。與RAM(隨機存取存儲器)不同,ROM
    的頭像 發(fā)表于 11-04 09:59 ?4159次閱讀