本文主要是介绍嵌入式linux开发 (二十六) Flash管理(1) 芯片对Flash的管理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 总述
根据加载方式,加载源有几种1.映射 // 硬件主动搬运 也可算在其中stm32的主flash // 完全映射s3c2440的nand // 4KB搬运2.bootrom 加载 进 sram dramexynos4412 的 sd卡 搬运到sram // 256KB搬运 i.mx6ull 的 sd卡 搬运到 dram // 几乎不限制大小(打下根据sd卡和dram最小值定) 3.XIP on nors3c2440的nor
芯片对flash的驱动
只要是操作了flash,那么肯定有时序出来,而这种时序如果不是类ram接口
那么肯定是要驱动的.
- stm32的映射是什么原理
stm32 主Flash支持 XIP ,且在执行时就是 XIP
stm32内部的主Flash 是 类ram接口?
- 为什么有的rom在 memory map 里面,且可以用地址来直接访问
例如bootrom就被映射到了 memory map 里面
srom 是不是也是因为类ram接口,是不是也是XIP.
- s3c2440 的搬运是什么原理(无代码,怎么实现搬运)
1. 类ram接口的norflash的搬运是不是就是映射2. nand 的 搬运是怎么回事?
- XIP on Nor 是什么原理
https://blog.csdn.net/ffdia/article/details/87437872
https://blog.csdn.net/segments/article/details/7623613
https://www.docin.com/p-731715109.htmlNand 也可以 XIP ,请查看https://wenku.baidu.com/view/c1229a22a32d7375a4178012.html
NorFlash 有自己的数据和地址总线,因此可采用类似RAM的随机访问。
NorFlash的特点是芯片内执行(XIP: eXecute In Place),
这样应用程序应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。
如果uboot中的ro段就可以直接在 NorFlash上运行,只需要把rw段和zi段拷贝到RAM中运行即可。
- bootrom 中集成了哪些flash的驱动
这要看bootrom 支持哪些 二级启动 设备.
一般有
USB
eMMC
SD
NAND
SPI Nor Flash
总结
- 分类
1. 在memory map 里的flash 可以通过地址访问,这些flash有类ram接口,一般这种flash 被 用作 存储 boot代码编译生成的二进制文件
2. 不在memory map 里的flash需要通过驱动访问一般需要考虑1.硬件接口及驱动// 在之前的 嵌入式linux开发 FLASH(3) 系列中,已经讲述了接口及驱动// stm32的主flash 存在于soc芯片内,应该是类ram接口,用户存储boot代码.// s3c2440 的 nor flash 存在于soc芯片外,也是类ram接口,用户存储boot代码2.是否需要文件系统管理.// 类sram接口的flash 一般是用于存储boot代码的,所以不需要文件系统管理// s3c2440 的 nand// i.mx6ull 可以 sd nand emmc 不用来存储boot代码,而且空间较大,可以用文件系统管理// 为什么要用文件系统管理,因为方便.封装 flash空间的访问 为 对 文件的访问,省掉上层代码对flash空间布局的考虑.// 用文件系统管理的本质是, 封装flash操作接口,提供文件操作接口.
这篇关于嵌入式linux开发 (二十六) Flash管理(1) 芯片对Flash的管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!