HS6621CG 的片上 Flash 读写

  • HS6621CG 的片上 Flash 读写
    • 内存分布
  • 函数原型
  • 例程

HS6621CG 的片上 Flash 读写

主要是接口调用的第三个参数需要注意,第三个参数为地址的偏移量,而不是直接填入地址

内存分布

片上Flash 的地址范围为 0x00400000 - 0x00800000,芯片上带有一个 4M 大小的片上 Flash。
HS6621C memory consists of ROM, RAM, external SPI Flash. Cache have dedicated RAM. The memery map is shown as follow:

函数原型

/*** @brief sf erase** @param[in] sf  sf object* @param[in] cs  cs (0 ~ SFB_CS_NUM-1)* @param[in] addr  sflash address* @param[in] length  length**/
void sf_erase(HS_SF_Type *sf, uint32_t cs, uint32_t addr, uint32_t length);
/*** @brief sf write** @param[in] sf  sf object* @param[in] cs  cs (0 ~ SFB_CS_NUM-1)* @param[in] addr  sflash address* @param[in] data  write data* @param[in] length  length**/
void sf_write(HS_SF_Type *sf, uint32_t cs, uint32_t addr, const void *data, uint32_t length);
/*** @brief sf read** @param[in] sf  sf object* @param[in] cs  cs (0 ~ SFB_CS_NUM-1)* @param[in] addr  sflash address* @param[out] data  read data buffer* @param[in] length  length**/
void sf_read(HS_SF_Type *sf, uint32_t cs, uint32_t addr, void *data, uint32_t length);

例程

/********************************************************************** INCLUDES*/
#include "peripheral.h"/********************************************************************** PUBLIC FUNCTIONS*/void example_sf(void)
{CO_ALIGN(8) uint8_t write_buffer[100];CO_ALIGN(8) uint8_t read_buffer[100];int i;for(i=0; i<100; ++i){write_buffer[i] = i;}/** Inside flash: sf=HS_SF, cs=0*/// Enable flashsf_enable(HS_SF, 0);// Erase sector in 128K sf_erase(HS_SF, 0, 128*1024, 4*1024);// Read 100 bytes in 128K, it should be all 0xFFsf_read(HS_SF, 0, 128*1024, read_buffer, 100);// Write 100 bytes to 128Ksf_write(HS_SF, 0, 128*1024, write_buffer, 100);// Read 100 bytes in 128K, it should be same as write_buffersf_read(HS_SF, 0, 128*1024, read_buffer, 100);
}
  • 下面的128 * 1024 是偏移量,起始地址为 0x00400000,也就是从 4M 空间的 128K 开始读写
/** 使能片上 Flash* 0 为片上Flash*/
sf_enable(HS_SF, 0);/** 这是我当时最头疼的一段,没弄懂128*1024是什么*/
// Erase sector in 128K
sf_erase(HS_SF, 0, 128*1024, 4*1024);
// Read 100 bytes in 128K, it should be all 0xFF
sf_read(HS_SF, 0, 128*1024, read_buffer, 100);
// Write 100 bytes to 128K
sf_write(HS_SF, 0, 128*1024, write_buffer, 100);
  • 初入职场的新人,网上这颗芯片的资料较少,这只是我在工程中自己的一些体会,如有不足之处还望多多包涵,也欢迎交流

HS6621CG 片上 Flash 读写相关推荐

  1. stm32 Flash读写[库函数]

    stm32 的内置可编程Flash在许多场合具有十分重要的意义.如其支持ICP特性使得开发人员对stm32可以警醒调试开发,可以通过JTAG和SWD接口对stm32进行程序烧写:支持IAP特性使得开发 ...

  2. NAND FLASH读写原理

    NAND FLASH读写原理 一.结构分析  S3C2410处理器集成了8位Nand Flash控制器.目前市场上常见的8位NandFlash有三星公司的k9f1208.k9f1g08.k9f2g08 ...

  3. NAND FLASH 读写操作 简介

    NAND FLASH 内存详解与读写寻址方式 一.内存详解 NAND闪存阵列分为一系列128kB的区块(block),这些区块是 NAND器件中最小的可擦除实体.擦除一个区块就是把所有的位(bit)设 ...

  4. 通过mtd读写flash_NOR Flash读写原理及驱动

    本文主要是关于NOR Flash的相关介绍,并着重对NOR Flash读写原理及驱动进行了详尽的阐述. NOR Flash NOR Flash是现在市场上两种主要的非易失闪存技术之一.Intel于19 ...

  5. 瑞萨R78族Flash读写操作详细探讨

    前言 最近使用到瑞萨R78族的MCU,准备做一个关于掉电保存参数配置的功能,需求大概是对200多个参数在掉电瞬间保存到芯片flash空间中,网上关于瑞萨MCU的flash读写操作教程也比较少,于是笔者 ...

  6. STM32学习笔记:FLASH读写之二

    因为关于STM32的Flash相关的知识点比较多,所以该内容的学习我们分为以下4个部分 1.RAM和ROM的一些基本概念 -- STM32学习笔记:FLASH读写之一 2.STM32的Flash寄存器 ...

  7. 【dsPIC33E】内部Flash读写

    基于某些安全考虑或者降成本,我们不希望使用外部存储器件,但有时我们由需要记录一下参数,确保断电不丢失,这时,富余的内部代码存储Flash就派上用场了. 不同于外部存储器,几乎所有的内部Flash读写都 ...

  8. 读写STM32内部flash读写代码

    读写STM32内部flash读写代码 由于老师的要求,所以写了一份读写STM32内部FLASH的代码,这样的话就可以把STM32里面没有用来保存代码段的部分用来存储数据了. 由于<stm32fl ...

  9. HC32 flash 读写操作

    flash 读写操作 HC32 flash 简介 HC32 flash 操作和时钟之间的关系 Flash 的读写操作 解锁寄存器 单次编程无回读功能 单编程有回读 连续编程 擦除功能 全擦除功能 综合 ...

  10. STM32学习笔记:FLASH读写之一

    因为关于STM32的Flash相关的知识点比较多,所以该内容的学习我们分为以下4个部分 1.RAM和ROM的一些基本概念 -- STM32学习笔记:FLASH读写之一 2.STM32的Flash寄存器 ...

最新文章

  1. Hyper-V 怎样拷贝文件至虚拟硬盘并附加到虚拟机上
  2. T-SQL学习中--内联接,外连接,交叉连接
  3. leetcode 【 Sort List 】 python 实现
  4. 使用devops的团队_为什么每个开发团队都应该在2019年采用DevOps文化
  5. STM32工作笔记0014---认识emWin图形设计框架
  6. 跟着偶像学大数据——开端篇
  7. Matlab低通滤波器的使用--频域图像增强实验
  8. CAD2019的使用
  9. Android手机无法上网怎么办,Android手机的WIFI连接上了却不能上网是怎么回事如何解决...
  10. linux 命令行语法错误,sudo命令:解决使用Linux命令行时出现的错误提示
  11. java编程获取屏幕分辨率_Java及Jquery获取屏幕分辨率的实现代码
  12. ios Objective-c 字体样式大全(UIFont 可设置的)
  13. 【面试总结】JNI层MediaScanner的分析,挥泪整理面经
  14. 阿里云服务器遭到DDOS攻击怎么解决
  15. Android Studio 调试技巧大全
  16. 图片验证码不显示解决方案
  17. 计算机软件领域的一些哲学相关问题
  18. 2021年安全员-B证(广西省)作业考试题库及安全员-B证(广西省)模拟考试题库
  19. mac和eshow投屏链接不成功问题
  20. 同余方程组有解定理及其证明

热门文章

  1. 读取数据快慢的设备_目前在以下各种设备中,读取数据快慢的顺序是内存、硬盘、光盘和软盘。...
  2. Webug3.0-中级进阶-解题
  3. 【Mongodb】常用的一些功能
  4. 国内商务工作邮箱对比哪个好?常用邮箱开通哪个最好?
  5. 移动端获取手机自带的返回键并添加事件。
  6. 0基础学Java(2)
  7. ROS实验笔记之——SLAM无人驾驶初入门
  8. 一张纸(5毫米)折叠多少次可以达到珠穆朗玛峰的高度(8848米)?
  9. SEERC 2017 J Cunning Friends
  10. DNS解析超时排查/etc/resolv.conf single-request-reopen参数说明