MTK flash配置方法(转)

简介: MTK flash配置方法(转)

Created by:longfeey

Email:longfeey@msn.com

在MTK开发过程中,难免遇到Flash型号的改变。本文着重以选定的Flash型号为条件,对代码进行配置,以适应自己的开发需求。

本文Flash以MemoCom公司的KS03208AB为例进行设置,32Mb(nor flash)+8Mb(pseudo sRAM),custom\system\"项目名"\custom_MemoryDevice.h中设置下面前四项

1.        设置flash型号:

Flash型号可设置为:NOR_RAM_MCP,LPSDRAM,

本文KS03208AB属于 NOR MCP(NOR+PRAM)系列的则设为:

#define MEMORY_DEVICE_TYPE    NOR_RAM_MCP

2.        Flash Part_num配置:

打开tools\MemoryDeviceList\MemoryDeviceList_Since07AW0736.xls,文件名跟MTK源码版本有关,不一定相同。这个文件里面有 Flash厂商名,总大小,页大小,片选,指令系列(AMD或Inter),分区信息,时序等相关设置。

在该文件中查找和自己flash型号一直的Part_num,本文设置如下:

#define CS0_PART_NUMBER  KI03208AB  //nor flash
#define CS1_PART_NUMBER  KS03208AB  //sram

3.        Flash访问类型设置:

#define FLASH_ACCESS_TYPE     ASYNC_ACCESS
#define RAM_ACCESS_TYPE       ASYNC_ACCESS

4.        用户分区设置:

#define PARTITION_SECTORS  0

如果flash空间不足,或者没有特殊要求可以设置用户分区为0,这样能大大降低成本。

5.        NVRAM分区设置

手机的一些配置参数存储必须掉电不丢失,可以通过Flash,EEPROM 进行存储。MTK通过硬件抽象层进行了处理,底层的存储对用户是透明的。对于NOR flash NVRAM分区可以通过:

tools\MemoryDeviceList\MemoryDeviceList_Since07AW0736.xls文件进行配置,我们的项目因为flash只有4MB,给NVRAM预留了640KB,可以设置

Last Bank列中的Region为:

{0x10000, 10},

0x10000为每个扇区的大小为64KB,10为扇区数,总共大小64KB*10=640KB。

6.        EMI时序配置

一般常用的Flash, MemoryDeviceList_Since07AW0736.xls文件中时序已经配置好了,但不常用的Flash可能还需要自己配置时序。对Flash操作要参考对应的Flash硬件手册,结合MTK EMI寄存器配置相应章节计算RLT(读等待状态),PRLT(页读等待状态),C2RS(读建立时间),WST(写等待状态),C2WS(写建立时间)等时序状态所用的时钟周期,对照MTK EMI寄存器,得出最终的EMI时序相关的配置。

相关文章
|
6月前
|
芯片
MTK平台驱动调试指南 GPIO设置篇
MTK平台驱动调试指南 GPIO设置篇
416 1
|
存储 Linux C语言
stm32cubeMX学习、USB DFU(Download Firmware Update)固件更新
stm32cubeMX学习、USB DFU(Download Firmware Update)固件更新
611 1
|
存储 缓存 算法
NAND FLASH 和NOR FLASH的区别
NAND FLASH 和NOR FLASH的区别
189 0
|
存储 芯片 内存技术
Jlink使用技巧之烧写SPI Flash存储芯片
Jlink使用技巧之烧写SPI Flash存储芯片
449 0
Jlink使用技巧之烧写SPI Flash存储芯片
|
Web App开发 前端开发 Java
|
容器 内存技术 图形学
|
Web App开发 移动开发 安全
|
存储 内存技术 算法
FLASH的知识【转】
  转自:http://blog.csdn.net/xgbing/article/details/18422691   版权声明:原创文章,转载请注明来自:http://blog.csdn.net/xgbing     传统的FLASH分为Nor falsh和Nand flash。
1306 0