STM8S存储器的读写操作

本文详细探讨了STM8S微控制器如何进行Flash存储器的读写操作,通过解析Stm8s_flash.c文件中的关键代码,阐述了初始化过程、地址选择、数据写入及验证等步骤,为理解STM8S的内存管理提供了实用指导。
摘要由CSDN通过智能技术生成
/*
**********************************************************************************************************************************
* Name    : STM8S存储器的读写操作
* Author  : MingMing
* Release : 2014/1/2
* Update  : 2014/1/2
* E-mail  : clint.wang@foxmail.com
**********************************************************************************************************************************
*/
    在芯片中存储器一般分为两种:一种是EEPROM(数据存储器),另一种是FLASH ROM(程序存储器)。它们都是非易失性存储器,但是在特性上有一些差别。EEPROM读写最小单元为字节,在同一个地址重复写入数据时允许不进行擦除操作。FLASH ROM是按照扇区读写的,在同一个地址重复写入数据时需要擦除该地址才能再次写入。
    STM8S的芯片集成了EEPROM和FLASH ROM两种存储器,前者负责存储数据和Option Byte(选项字节),后者负责存储代码。
Stm8s_flash.h文件中代码如下所示:
/*
  ***************************************************************************
  * @file stm8s_flash.h
  * @brief This file is used to configure the Library.
  * @author clint.wang
  * @platform IAR For STM8S 1.31 + STM8S105C6
  * @date 12/27/2013
 ******************************************************************************
*/
#ifndef __STM8S_FLASH_H__
#define __STM8S_FLASH_H__
//
#include <iostm8s105c6.h>
#include "stm8s_type.h"
//
#define STM8S105
#ifdef STM8S105
  #define FLASH_PROG_PHYSICAL_ADDR_START   0x8000       /* 程序存储区首端地址 */
  #define FLASH_PROG_PHYSICAL_ADDR_END     0xFFFF       /* 程序存储区末端地址 */
  #define FLASH_PROG_BLOCKS_NUMBER         256          /* 程序存储区的块数 */
  #define FLASH_DATA_PHYSICAL_ADDR_START   0x4000       /* 数据存储区首端地址 */
  #define FLASH_DATA_PHYSICAL_ADDR_END     0x43FF       /* 数据存储区末端地址 */
  #define FLASH_DATA_BLOCKS_NUMBER         8            /* 数据存储区的块数 */
  #define OPTION_BYTE_PHYSICAL_ADDR_START  0x4800       /* 选项字节首端地址 */
  #define OPTION_BYTE_PHYSICAL_ADDR_END    0x487F       /* 选项字节末端地址 */
  #define OPTION_BYTE_NUMBER               15           /* 选项字节的长度 */
  #define FLASH_BLOCK_SIZE                 128          /* 每
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值