操作系统:ubuntu11.04
开发板:arm9开发板
前言:
通过uboot来启动开发板。
1,uboot实现概述
1)实现思路
通过 J-FLASH 软件实现把编译好的软件烧写到 nand flash 的相关位置,不使用网络,或usb,或串口等方式来烧写程序到flash中。因此,核心工作是:
a)实现串口裸机驱动,用以调试,打印信息。
b)实现nand flash的裸机驱动,用以读写flash中的数据。
c)使uboot可以引导linux内核。
注意:在这过程中,需要学习好makefile,shell等的实现。
2)实现原理
U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下:
a)第一阶段的功能
a1)硬件设备初始化
a2)加载U-Boot第二阶段代码到RAM空间
a3)设置好栈
a4)跳转到第二阶段代码入口
b)第二阶段的功能
b1)初始化本阶段使用的硬件设备
b2)检测系统内存映射
b3)将内核从Flash读取到RAM中
b4)为内核设置启动参数
b5)调用内核
欲知uboot的具体实现,请看下回分解。。。
阅读(682) | 评论(0) | 转发(0) |