随笔

439 阅读1分钟

1.uboot启动流程都做了什么事?

  1. 构建异常向量表,设置cpu为(svc)特权模式,同时关闭IRQ和FIQ(防止突发中断程序跑飞)

  2. 对cp15协处理器进行设置,关闭MMU和Cache

  3. 进入板极初始化阶段,初始化时钟,内存芯片,串口,关闭看门狗

  4. 设置栈,让sp寄存器指向一段没有使用的内存,为c语言运行准备环境

  5. 对代码进行重定位,初始化flash,网卡等设备,然后执行main_loop

2.为什么uboot要关掉Cache

Cache是用来加速从cpu从内存中取出指令的速度,在设备上电开始的时候,内存初始化慢一拍,当cpu初始化了,内存还没有初始化,就对内存进行读读,会造成指令读取异常,系统可能会挂掉,所以在u-boot上电之初,先关掉数据Cache,指令Cache关不关闭都没有关系

3.Linux内核启动流程

4.NandFlah与NorFlash区别

5.uboot怎么传参给内核

6.Linux怎么进行内存管理

7.进程与线程的区别

8.进程间通信

9.ext4的文件系统从单层目录可以创建多少个文件

10.应用层调用一个read怎么传递给内核

11.进程的三种状态

12.一个文件被创建的时候,会创建怎样的节点

13.对内核各种锁的了解

本文使用 mdnice 排版