TQ2440系列二 存储器地址分配
2011-07-12 16:58
309 查看
NOR FLASH型号:AM29LV160DB/EN29LV160AB/S29AL016D70TFI02AM29LV160DB是2M字节的NOR FLASH
nGCS0接芯片nCE,OM0接高电平,OM1接低电平,数据宽度为16位,A0~A19选址1M,共计2M字节分配地址为0x0000_0000~0x07ff_ffff,共计128MBTQ2440的NORFLASH地址为0x0000_0000~0x001f_ffff,共计2MB
nGCS6接SDRAM的nSCS6引脚,分配地址为0x3000_0000~0x37ff_ffff,共计128MBTQ2440采用64MSDRAM,分配地址为0x3000_0000~0x33ff_ffff,共计64M
OM[1:0]=00 从NAND FLASH启动 OM[1:0]=01 从NOR FLASH启动上电时,程序会从Norflash中启动,ARM直接取Norflash中的指令运行。
NAND FLASH 以页为单位读写,要先命令,再给地址,才能读到NAND的数据。NAND FLASH是接在NAND FLASH控制器上而不是系统总线上,所以没有在8个BANK中分配地址。如果S3C2440被配置成从Nand Flash启动, S3C2440的Nand Flash控制器有一个特殊的功能,在S3C2440上电后,Nand Flash控制器会自动的把Nand Flash上的前4K数据搬移到4K内部SRAM中,系统会从起始地址是0x00000000的内部SRAM启动。程序员需要完成的工作,是把最核心的启动程序放在Nand Flash的前4K中,也就是说,你需要编写一个长度小于4K的引导程序,作用是将主程序拷贝到SDRAM中运行。 由于Nand Flash控制器从Nand Flash中搬移到内部RAM的代码是有限的,所以在启动代码的前4K里,我们必须完成S3C2440的核心配置以及把启动代码(U-BOOT)剩余部分搬到RAM中运行,至于将2440当做单片机玩裸跑程序的时候,就不要做这样的事情,当代码小于4K的时候,只要下到nand flash中就会被搬运到内部RAM中执行了。 不管是从NOR FLASH启动还是从NAND FLASH启动,ARM都是从0x00000000地址开始执行的。
nGCS0接芯片nCE,OM0接高电平,OM1接低电平,数据宽度为16位,A0~A19选址1M,共计2M字节分配地址为0x0000_0000~0x07ff_ffff,共计128MBTQ2440的NORFLASH地址为0x0000_0000~0x001f_ffff,共计2MB
nGCS6接SDRAM的nSCS6引脚,分配地址为0x3000_0000~0x37ff_ffff,共计128MBTQ2440采用64MSDRAM,分配地址为0x3000_0000~0x33ff_ffff,共计64M
OM[1:0]=00 从NAND FLASH启动 OM[1:0]=01 从NOR FLASH启动上电时,程序会从Norflash中启动,ARM直接取Norflash中的指令运行。
NAND FLASH 以页为单位读写,要先命令,再给地址,才能读到NAND的数据。NAND FLASH是接在NAND FLASH控制器上而不是系统总线上,所以没有在8个BANK中分配地址。如果S3C2440被配置成从Nand Flash启动, S3C2440的Nand Flash控制器有一个特殊的功能,在S3C2440上电后,Nand Flash控制器会自动的把Nand Flash上的前4K数据搬移到4K内部SRAM中,系统会从起始地址是0x00000000的内部SRAM启动。程序员需要完成的工作,是把最核心的启动程序放在Nand Flash的前4K中,也就是说,你需要编写一个长度小于4K的引导程序,作用是将主程序拷贝到SDRAM中运行。 由于Nand Flash控制器从Nand Flash中搬移到内部RAM的代码是有限的,所以在启动代码的前4K里,我们必须完成S3C2440的核心配置以及把启动代码(U-BOOT)剩余部分搬到RAM中运行,至于将2440当做单片机玩裸跑程序的时候,就不要做这样的事情,当代码小于4K的时候,只要下到nand flash中就会被搬运到内部RAM中执行了。 不管是从NOR FLASH启动还是从NAND FLASH启动,ARM都是从0x00000000地址开始执行的。
相关文章推荐
- TQ2440系列二 存储器地址分配
- 【数学之美 系列十】有限状态机和地址识别
- MySQL学习系列之创建用户并分配权限(二)
- 对于结构体,什么时候分配内存以及为什么选择用malloc函数来分配结构体变量的地址
- c语言 输出变量的地址,动态的观察内存的分配。
- 数学之美系列十 -- 有限状态机和地址识别
- 编写支持对其分配的malloc和free函数,分配内存时,malloc函数返回的地址必须能被2的n次方整除
- C语言系列(五)内存的分配与释放
- 对于结构体对象在内存中分配地址的顺序及其占内存大小的疑问
- Linux-0.11内核源码分析系列:关于线性地址,逻辑地址,物理地址的关系与区别
- lotus domino 系列所有补丁包的下载地址
- Web服务器管理系列:13、用户权限分配安全设置
- C++基础系列十:C++中内存分配
- Vxworks 6.6系列下载地址
- 指针,数组,连续开辟空间的地址分配和读取问题
- Apache Awstats 安装配置系列 (2)之 apache部署WEB项目(配置多个地址)
- NA-NP-IE系列实验13:使用子网地址
- CCNP精粹系列之三十--BGP源地址问题,推荐
- zigbee中网络地址分配(Network address assignment)
- 病毒基础系列-API函数地址的获取