一、内存
只是从大体上介绍,并没有涉及寄存器的操作
6410的系统资源为:256MB DDR 、2GB NANDFlash
如下图所示:

ROM是只读存储器,RAM是随机存储器。
区别:
1.ROM(Read Only Memory)掉电数据不丢失,但存储读取速度慢,所以常用作存放程序,存放bootloader,存放内核,存放文件系统。
2.RAM(Random Access Memory)掉电数据丢失,但存取速度快,常用作内存
3.RAM还分为SRAM静态随机存储器(不用不断刷新就可以读取数据,速度快但是造价也高和DRAM动态随机存储器(要不断刷新才能存储读取数据,造价相对较低)
4.DRAM还可以分为SDRAM、DDR、DDR2等,DDR的传输速率为SDRAM的2倍,而DDR2的传输速率为DDR的2倍。一般是2440板子用的SDRAM作为内存,6410板子用DDR作为内存,210板子用DDR2作为内存
5.nandflash不能运行程序,只能存储数据、动引导系统,而在 SDRAM 上执行主程序代码

二、启动
1.启动方式
6410支持很多种启动方式

可以看出,SROM(NORFLASH) 、oneNAND (一种特殊的NANDFlash(既具有norflash特性也具有nandFlash的特性)、MODEN
、IROM(intern rom)一共四种启动方式,其中IROM又可分为SD和NAND启动

2.下载
主要讲解从NANDFlash启动。
看下图

上图为6410的物理内存空间,从图中可以看出,DRAM的地址起始位0x5000000,当我们使用 #/home/dnw uboot.bin 0x50000000 命令下载uboot时候,会把uboot.bin下载到SDRAM中去,同时SDRAM又会uboo.bin拷贝到NANDFlash去,保存起来。

同时,发现一个很奇特现象,我输入的下载地址为50000000可是串口却显示下载到50008000这个地址去,为了试验,我分别把下载地址改为0x53000000和0x1000000,但是串口却依然显示下载地址为50008000,经过询问,才得知,当从SD卡启动下载uboot的时候,SD卡上的uboot是官方的,他们就将下载地址固定为50008000,所以你在虚拟机Linux中不管输入的地址为多少,下载的时候就会自动下到50008000这个地址去。
3.启动流程

和其他的芯片有些不同
1.上电的时候,iROM里面的内容先运行,iROM里面存放着芯片厂商固化好的程序
2.会有引导程序,把NAND里面前8KB的内容拷贝到Stepping stone,若uboot大于8KB,则uboot程序里面的一段程序会把大于8KB的内容从NAND拷贝到DDR去,在DDR中运行
4.内核启动地址
6410的内核下载命令一般为 #tftp uImage 0xc0008000
其中的c0008000为虚拟地址,是物理地址0x50008000映射过去的,前提是,你的uboot已经打开了MMU功能,若uboot没有打开MMU功能,则下载地址为0x50008000

OK6410内存及启动流程相关推荐

  1. 【嵌入式开发】 Bootloader 详解 ( 代码环境 | ARM 启动流程 | uboot 工作流程 | 架构设计)

    作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42462795 转载请著名出处 相关资源下载 :  -- u-boo ...

  2. JVM启动流程和内存结构

    "Great haste makes great waste" JVM启动流程 JVM是Java程序运行的环境,同时是一个操作系统的一个应用程序进程,因此它有自己的生命周期,也有自 ...

  3. [架构之路-25]:目标系统 - 系统软件 - bootloader uboot内存映射与启动流程

    目录 第1章 uboot概述 1.1 概述 1.2 内存映射(案例) 1.3 uboot在嵌入式系统启动中的位置 第2章 uboot启动流程(源码分析) 2.1 入口函数:_start 2.3 执行流 ...

  4. 【嵌入式开发】ARM 代码搬移 ( ARM 启动流程 | 代码搬移 起点 终点 | 链接地址 | 汇编代码 )

    文章目录 一. ARM 启动流程 1. 各种类型开发板启动流程 ( 1 ) 2440 开发板启动流程简介 ( ① Nand Flash 拷贝 4 KB -> SRAM 垫脚石 | ② PC 指向 ...

  5. Centos 6启动流程详解

    author:JevonWei 版权声明:原创作品 Centos6 启动流程 POST开机自检 当按下电源键后,会启动ROM芯片中的CMOS程序检查CPU.内存等硬件设备是否正常运行,CMOS中的程序 ...

  6. 2014.4新版uboot启动流程分析

    原文 http://blog.csdn.net/skyflying2012/article/details/25804209 此处转载有稍作修改 最近开始接触uboot,现在需要将2014.4版本ub ...

  7. 解析并符号 读取dll_Spring IOC容器之XmlBeanFactory启动流程分析和源码解析

    一. 前言 Spring容器主要分为两类BeanFactory和ApplicationContext,后者是基于前者的功能扩展,也就是一个基础容器和一个高级容器的区别.本篇就以BeanFactory基 ...

  8. leveldb源码分析:Open启动流程

    leveldb概述 Leveldb 是一个持久化的KV存储系统,主要将大部分数据存储在磁盘上,在存储数据的过程中,根据记录的key值有序存储,当然使用者也可以自定义Key大小比较函数,一个leveld ...

  9. Nginx源码分析:启动流程

    nginx源码分析 nginx-1.11.1 参考书籍<深入理解nginx模块开发与架构解析> nginx简介 Nginx的作为服务端软件,表现的主要特点是更快.高扩展.高可靠性.低内存消 ...

  10. 嵌入式学习笔记之四 (uboot启动流程)

    1.boot ROM阶段 CPU 上电之后执行的第一段代码并不是 uboot 代码,因为 uboot 存储在启动介质(存储介质),如eMMC Flash.NAND Flash.SD 卡,CPU 想要执 ...

最新文章

  1. silverlight bing maps sdk MapControl Sdk
  2. 计算机视觉摔倒检测,基于计算机视觉的室内跌倒检测
  3. linux第一季运维001
  4. JFinal model简单包装,版本2
  5. 认识FPGA触发器的亚稳态
  6. MDB!= JMS,反之亦然
  7. 浏览器访问pdf 的url怎么加密_怎么解决加密的pdf文件?
  8. python自动化是什么意思_浅谈 Python 自动化
  9. Google 的核心 Java 库 guava 常用工具类
  10. Java生成随机数原理_JAVA随机数生成的机制
  11. 平板电脑(台电x80HD)安装Ubuntu18.04教程- Z3735系列CPU通用
  12. 【汇编】2、从汇编源码逐步分析函数调用过程
  13. 苹果CMS采集,苹果MacCMS采集插件
  14. R语言画图教程之盒形图
  15. SEO人员应该突破的5大思想误区
  16. ubuntu 安装截图工具 Shutter,并设置快捷键 Ctrl+SuperL
  17. 小麦苗的微信公众号开通啦,欢迎大家扫码关注
  18. Android手机屏幕变化监听
  19. ArchSummit深圳2016优秀演讲公布,北京站专题抢先看
  20. 如何复制网页上不能复制的文本!!!

热门文章

  1. pat乙级【数列的片段和 (20分)】测试样例修改(第二个测试点)
  2. Android Fingerprint完全解析(二) :Fingerprint启动流程
  3. wincc安装服务器系统,wincc7.4安装硬件要求
  4. 多个txt文件合并成一个txt文件、多个csv文件合并成一个csv文件
  5. 通过tasker实现朗读微信QQ文字消息
  6. 芋道Docker部署
  7. Ubuntu18.04 Deb 包安装方法
  8. 苹果电脑一直密码错误_您可能一直都在犯的安全和密码错误
  9. 在QT界面中使用ico/png等图片文件,生成exe后不依赖外部文件
  10. php7.0项目在本地完美运行上传至服务器手机app不显示数据