1. Linux2.6系统在s3c2440上的启动过程分三个阶段
1.1 启动u-boot
使用jlink下载u-boot到nor-flash
1.2 启动Linux内核
在u-boot中通过tftp把ubuntu中的tftp根目录下的linux内核程序uImage下载到开发板的内存中,之后引导linux启动
用tftp命令下载这个文件到开发板:tftp 0x30008000 uImage;
下载完成后使用u-boot命令bootm 0x30008000启动linux操作系统;
1.3 挂载根文件系统
linux内核启动以后会自动去挂载根文件系统,根文件系统其实指的是一个文件夹,这个文件夹其实就是linux的系统根目录。根文件系统是linux系统所不可或缺的,是linux内核启动以后要挂载的第一个文件系统。这个文件系统中包含有linux的各种命令,系统初始化进程等关键信息。
根文件系统的制作需要使用专门的工具软件busy-box,制作出rootfs
最后在电脑服务端使用nfs的共享功能,在nfs下建立根文系统rootfs,通过网络将电脑中ubuntu中的根文件系统与开发板进行共享
NFS(网络文件系统)是一种强大的网络文件系统协议,提供跨平台的文件共享功能。它采用客户机-服务器架构,通过标准化的协议和透明的文件访问机制,使用户和应用程序能够方便地访问远程文件系统。
2. bootloader
2.1 定义
bootloader的本质是一个裸机程序,bootlood专门是为了能够正确地启动linux操作系
统,在系统初上电时需要对系统做一些硬件的初始化操作。最终bootloader会将linux内核
(kernel)加载到ram中,并引导系统去执行linux代码,完成linux的启动。
2.2 bootloader功能
1. 初始化异常向量表;
2. 初始化工作模式;
3. 初始化栈指针寄存器;
4. 初始化时钟;
5. 初始化串口等必要的外设。
6. 关闭MMU;
7. 关闭DCache;
8. 初始化sdram;
9. 初始化nand flash;
注意:Nor Flash属于可寻址存储器,而Nand Flash则不太适合进行单字节级别的地址访问,因此通常被认为是不可寻址的存储器。
10. 初始化网卡并集成一些必要的协议,如tcp,tftp等;
11. 提供一个类似于linux那样的终端,方便与操作人员互动;
12. 能够设置并保存一些参数;
13. 能够复制linux内核程序到指定的内存空间,并引导系统运行
2.3 分类
1. 电脑系统使用的bootloader是cmos
2. U-Boot:广泛应用于嵌入式系统中的引导加载程序,具有丰富的硬件支持和配置选项。
3. 寄存器分类
3.1 RAM(掉电丢失数据)
3.2 ROM(掉电不丢失数据)
4. mini2440开发板板载