嵌入式系统组成 1.BootLoader 2.kernel(Driver) 3.根文件系统
系统开机流程
1 上电、硬复位、软复位 、
2 CPU到默认地址开始执行第一第指令(每个CPU都有一个默认第一条指令地址),第一次指令通常是bootloade代码。
3载入BootLoader
BootLoader的作用与任务1.硬件初始化2自检3引导OS 4烧写镜像文件
一 完成一些硬件的初始化,因为BootLoader是第一个程序
1配制内存控制器为下面的程序提供运行环境
2提供串口,提供交互终端
3提供网络,传输镜像文件
4其它I/O设备
二 自检与报告 实现如同X86BIOS的功能
三 引导OS OS镜像刚开始是在FLASH芯片上 启动时BooLoader把压缩的镜像拷到内存中,然后指向RAM中内核镜像首地址,内核进行自解压操作
四 烧写镜像
嵌入式LINUX的Bootloadr (X86引导代码是由BIOS+MBR中的Boot Loader)
1 u-boot 支持X86、ARM、PowerPC
2 RedBOOT 支持X86、arm、powerpc
3 cfe
4 LILO 支持X86
5 GRUB 支持X86
6 BLOB 支持ARM
一 U-boot
1常用命令 1:?2:ping 3:setenv 4:tftp 5:nand 6:setenv bootcmd 7:setenv bootarge 8:saveenv
初始化代码程序的主要流程概述
1定义程序进入点
2设置异常向量表
3初始化内存控制器
4设置各种堆栈指针寄存器
5初始化各种关键的I/O设备
6初始化C程序需要的存储器
7必要的话,可用中断
8必要的话,可改变处理器运行模式
9进入C代码
FLASH介绍 1NOR flash 2 nand flash
1 nor flash 接口是标准的SRAM接口,有标准的地址总线与数据总线。可以挂载到总线上,cpu可以直接的随机读取。
2 nand flash 串行的读取方式,不能挂载总线上,不能通过是址去访问 与SDRAM寻址与读写不一样,它有自己的寻址与读写方式
阅读(834) | 评论(0) | 转发(0) |