S3C2440的启动时分为成nand flash和nor flash上启动。

nand flash:适合大容量数据存储,类似硬盘;(不能片上运行代码)。

nor flash:适合小容量的程序或数据存储,类似小硬盘;

sdram:主要用于程序执行时的程序存储、执行或计算,类似内存。

Nor flash的有自己的地址线和数据线,可以采用类似于memory的随机访问方式,在nor flash上可以直接运行程序,所以nor flash可以直接用来做boot,采用nor flash启动的时候会把地址映射到0x00上。

Nand flash是IO设备,数据、地址、控制线都是共用的,需要软件区控制读取时序,所以不能像nor flash、内存一样随机访问,不能EIP(片上运行),因此不能直接作为boot。(cpu会自动从NAND flash中读取前4KB的数据放置在片内SRAM里(s3c2440是soc),同时把这段片内SRAM映射到nGCS0片选的空间(即0x00000000)。cpu是从0x00000000开始执行,也就是NAND flash里的前4KB内容。因为NAND FLASH连地址线都没有,不能直接把NAND映射到0x00000000,只好使用片内SRAM做一个载体。通过这个载体把nandflash中大代码复制到RAM(一般是SDRAM)中去执行)。

程序员要完成的工作是把最核心的代码放在nandflash的前4K中。4K代码要完成S3C2440的核心配置以及启动代码(U-boot)的剩余部分拷贝到SDRAM中。

这4K的启动代码需要将NANDFlash中的内容复制到SDRAM中执行。NANDFlash的前4K空间放启动代码,SDRAM速度较快,用来执行主程序的代码。

NORflash启动:支持XIP即代码直接在NOR Flash上执行,无需复制到内存中。这是由于NORFlash的接口与RAM完全相同,可随机访问任意地址数据。NORflash速度快,数据不易失,可作为存储并执行起到代码和应用程序的存储器,nor flash被映射到0x00000000地址(就是nGCS0,这里就不需要片内SRAM来辅助了,所以片内SRAM的起始地址还是0x40000000). 然后cpu从0x00000000开始执行(也就是在Norfalsh中执行)。

nandflash中执行启动代码: NORflash速度快,数据不易失,可作为存储并执行起到代码和应用程序的存储器,norflash可像内存一样读操作,但擦初和写操作效率很低,价格很昂贵。SDRAM和nandflash的价格比较适中。根据这些特点,一些人产生了这样一种想法:外部nandflash中执行启动代码,SDRAM中执行主程序。NANDFlash控制器自动把nandflash存储器的前4K载到Steppingstone(内部SRAM缓冲器),并把0x00000000S设置为内部SRAM的起始地址,cpu从内部SRAM的0x00000000开始启动,这个过程不需要程序干涉。这4K的启动代码需要将NANDFlash(包括内核代码,应用程序代码)中的内容复制到SDRAM中执行。NANDFlash的前4K空间放启动代码,SDRAM速度较快,用来执行主程序的代码。

2440 nand flash和nor flash上启动相关推荐

  1. 2440+NAND Flash(K9F1208UOM)总结 收藏

    2440+NAND Flash(K9F1208UOM)总结 收藏 2440+NAND Flash(K9F1208UOM)总结: 1. 以Page为单位读写,此Flash为Small Page Flas ...

  2. 2440+NAND Flash(K9F1208UOM)总结

    2440+NAND Flash(K9F1208UOM)总结: 1.         以Page为单位读写,此Flash为Small Page Flash,即每页为528Byte(512 Byte +1 ...

  3. S3C2440的内存情况在NAND FLASH或者NOR FLASH启动的情况下

    1,从NANDFLASH启动时,在ARM上电时,ARM会自动把NANDFLASH前4K的内容拷贝到S3C2440内部SRAM中,同时把SRAM的地址映射到0X00000000.ARM上电后会从SRAM ...

  4. 痞子衡嵌入式:聊聊i.MXRT1170上串行NOR Flash双程序可交替启动设计

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1170上串行NOR Flash双程序可交替启动设计. 在上一篇文章 <i.MXRT1060/1010上串行NOR F ...

  5. 痞子衡嵌入式:揭秘i.MXRTxxx系列上串行NOR Flash双程序可交替启动设计

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT500/600上串行NOR Flash双程序可交替启动设计. 在上一篇文章 <i.MXRT1170上串行NOR Fla ...

  6. 一、【s3c2440移植u-boot-2016-11】拷贝代码并在NOR Flash上启动u-boot

    (一)拷贝模板 1.拷贝board/samsung/smdk2410为board/samsung/smdk2440 book@ubuntu:~$ cd u-boot-2016.11/board/sam ...

  7. petalinux-2021.1在zynq7020的flash上启动linux

    一. 前言 在电脑上安装虚拟机或者找一个电脑安装linux,用于编译petalinux工程: 安装与vivado对应的petalinux-tool: 版本信息: 1)linux:ubuntu16.04 ...

  8. NAND Flash和NOR Flash的区别

    1. 区别     NOR的特点是芯片内执行(XIP,eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中.优点是可以直接从FLASH中运行程序 ...

  9. Nand Flash与Nor Flash

    Nand Flash与Nor Flash经常在一些地方被提到,以下是他们的 一些对比: NOR的特点是芯片内执行(XIP,eXecute In Place),这样应用程序可以直接在flash闪存内运行 ...

最新文章

  1. Visual C#访问接口
  2. java 判断非ascii字符_文件名中的JavaMail和非ASCII字符
  3. 《Python编程初学者指南》——1.6 回到Game Over程序
  4. python爬虫学习(三):使用re库爬取淘宝商品,并把结果写进txt文件
  5. 【Flutter】插件包选择 ( 查看文档是否全面 | 查看插件包的更新版本次数 | 查看使用示例 | 查看 GitHub 项目的 Star Fork Issues )
  6. 收藏!2021最新期刊预警名单汇总!
  7. malloc()函数解析
  8. 【激活函数】h-swish激活函数详解
  9. python之pymysql的使用
  10. DFMZ-开发过程中遇到的错误-01
  11. 手机自动化测试的原理
  12. 欧姆龙多PLC串行链接模式的应用
  13. 软件工程实验报告一模板
  14. 南京邮电大学离散数学实验一利用真值表求主析取范式和主合取范式
  15. html网页中加入音乐播放器,[HTML5]简单网页本地音乐播放器
  16. 使用python 批量修改图片分辨率
  17. MySQL查年龄18到22的信息_Mysql查询SQL相关总结(根据生日以及身份证查询年龄以及性别区域等)...
  18. C++求一个数的最大奇数约数
  19. AttributeError: module ‘tensorflow_core._api.v2.config‘ has no attribute ‘run_functions_eagerly‘
  20. c语言实现图书借阅管理系统

热门文章

  1. log4j2动态修改日志级别及拓展性使用
  2. windows环境wampserver3 切换 php7
  3. 在HTML文档内引入CSS
  4. Windows 下 MySQL-python 的安装
  5. B--Bookshelf 2
  6. mysql 暴力破解 root账号密码
  7. Java 异常处理学习总结
  8. SmtpClient 身份验证失败(authentication failed) 的原因分析
  9. xss权限维持(小技巧)
  10. Java+MyEclipse+Tomcat (六)详解Servlet和DAO数据库增删改查操作