Ambarella处理器启动过程
The NAND boot steps :
1.从FLASH上第一块第一页0地址读取2KB boot strapper放入FIO FIFO(ARM处理器的0x00000000(RAM顶端)),接着开始执行此boot-strapper。
2.boot-strapper初始化DDR2控制器及DRAM设备。
3.boot-strapper把自身复制到DRAM,然后释放FIO FIFO,使NAND能正常使用FIO FIFO。
4.boot-strapper接着从DRAM运行,并从NAND读取分区表,然后开始把boot-loader读入到DRAM,读取成功之后开始跳入boot-loader。
5.boot-loader初始化MMU及分页表。
6.boot-loader从主分区读取并解压 RTOS/APP 镜像。
7.boot-loader从DSP分区读取并解压 DSP 微程序镜像。
8.程序从boot-loader跳入到 内存中的 RTOS/APP 代码,完成剩余的启动程序。
The Sector Media boot steps :
(Sector Media devices include SD, SDHC, MMC and MoviNAND)
1.A2S/A2M 硬件启动程序boot-strap在片上ROM。
2.boot-strapper初始化sector media devices(上电启动配置选中的设备)
3.boot-strapper从sector media中读取DRAM配置,初始化DDR2控制器及DRAM设备。
4.boot-strapper从sector media 的 sector1读取配置,并加载boot-loader到DRAM,最后将PC置到boot-loader。
5.boot-loader初始化MMU及分页表。
6.boot-loader从sector media主分区中读取 RTOS/APP raw image至DRAM,并解压的最终地址(DRAM)。
7.boot-loader从sector media的DSP分区中 读取并解压 DSP微程序。
8.boot-lodaer跳入 RTOS/APP 代码并完成剩余启动程序。
具体由那个存储设备启动,由boot引脚决定。
Ambarella处理器启动过程相关推荐
- Linux0.11内核引导启动过程概述
Linux0.11仅支持x86架构.它的内核引导启动程序在文件夹boot内,共有三个汇编代码文件.按照启动流程依次是: (1)bootsect.s.boot是启动引导的意思,sect即sector,是 ...
- Spring Boot启动过程(二)
书接上篇 该说refreshContext(context)了,首先是判断context是否是AbstractApplicationContext派生类的实例,之后调用了强转为AbstractAppl ...
- Spring 容器的启动过程
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 本文来源:http://r6f.cn/b47K 一. 前言 ...
- u-boot启动过程
目录: 一.初识u-boot 3 1,Bootloader介绍 3 2,Bootloader的启动方式 3 (1)网络启动方式 4 (2)磁盘启动方式 4 (3)Flash启动方式 4 3,U-boo ...
- linux系统配置之开机启动过程(centos)
1.开机流程如下: 2.BIOS BIOS是英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输出系统".其实 ...
- Linux内核移植之四:内核启动过程
内容来自 韦东山<嵌入式Linux应用开发完全手册> 与移植U-Boot的过程相似,在移植Linux之前,先了解它的启动过程.Linux的启动过程可以分为两部分:架构/开发板相关的引导过程 ...
- KVM 虚拟化原理探究--启动过程及各部分虚拟化原理
KVM 虚拟化原理探究- overview 标签(空格分隔): KVM 写在前面的话 本文不介绍kvm和qemu的基本安装操作,希望读者具有一定的KVM实践经验.同时希望借此系列博客,能够对KVM底层 ...
- Android启动过程深入解析【转】
转自:http://www.open-open.com/lib/view/open1403250347934.html 当按下Android设备电源键时究竟发生了什么? Android的启动过程是怎么 ...
- STM32(Cortex-M3)启动过程+IAR中xcl及icf文件详解
一:STM32(Cortex-M3)启动过程(入口地址) ARM7和ARM9启动时从绝对地址0X00000000开始执行复位中断程序,即固定了复位后的起始地址,但中断向量表的位置是可变的. Corte ...
最新文章
- epplus保存为流_c# – 另存为使用EPPlus?
- 牛逼哄哄的SLAM技术 即将颠覆哪些领域?
- MySQL 可重复读,差点就让我背上了一个 P0 事故!
- hbase-1.3.2安装
- Python-面向对象(进阶)
- 安卓系统的文件管理神器Solid Explorer(v2.2)
- linux实验二目录与文件查看相关命令,Linux文件和目录管理相关命令(二)
- C语言获取系统时间的几种方式 !
- 阿里巴巴公司内部资料:交互设计全档案
- 前端使用puppeteer 爬虫生成《React.js 小书》PDF并合并
- devexpress实现模仿Win8桌面metro风格
- 华为手机怎么隐藏按键图标_华为手机如何隐藏桌面图标
- 台式机黑苹果独显驱动
- h5 富文本输入框_富文本输入框
- Vue 作者尤雨溪,引路中国程序开发
- KOC十问:品牌缺钱的谎言,还是新瓶装旧酒?
- 第五章:用Python分析商品退单数据并找出异常商品
- Unity 数据存储与读取_JSON
- onedrive登陆以后是白板,OneDrive不能正常显示与设置
- 基于QT实现的alpha-beta剪枝算法搜索的象棋人机博弈游戏