嵌入式工程师必学(23):Flash的功能

SoC芯片中的Flash作为重要组件,用于存储代码和系统参数。Flash操作包括read和write,需注意带宽匹配、Wait State及Cache管理。Flash通常分为supervisory和work region,前者用于系统配置,后者存储数据。Code Flash的dual bank设计支持OTA升级,SROM包含API用于写入Code Flash。启动流程始于reset,经过Rom boot、flash boot,最终到达user boot。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般SoC芯片中都会在片上放置一块或几块存储区域,比如ROM、SRAM、flash等,flash也被称为闪存,一般是NOR flash。片上的flash多用于存储代码、储存一些系统管理参数、一些数据等。所以很多的SoC芯片中,flash是其中一个重要部件,一个配套部件,不可或缺的。

在实际的flash操作,主要就是read、write,这里涉及到的一个概念就是带宽,比如CPU是32bit来读写的,但是flash出了32bit,还能支持64、128、256等,所以有时候CPU处理不过来,那么就需要在这中间假如些Wait State的等待状态,以及要加入Cache。比如写的时候,先把数据放置到buffer中,32bit全部放好了之后,再执行write的动作。所以说虽然flash和Cortex M4/M0的核是挂在一个AHB总线上的,但是在具体操作时有些点要注意。还有低频高频的问题,single bank和dual bank的问题、programing和erasing的问题,

 操作时需要通过FLASH_CTL和ECC-CTL等。

flash一般被分为几个部分:supervisory用于存储修剪参数、系统配置参数、保护和安全设置、引导脚本等,可以称之为sflash,物理上虽然在code

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芯片-嵌入式

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值