- 博客(4)
- 收藏
- 关注
原创 Linux内核启动流程简介
1.内核程序启动的入口是ENTRY(stext)函数,在启动之前,需要确认如下信息:①、关闭 MMU。②、关闭 D-cache。③、I-Cache 无所谓。④、r0=0。⑤、r1=machine nr(也就是机器 ID)。⑥、r2=atags 或者设备树(dtb)首地址。2.调用函数 safe_svcmode_maskall 确保 CPU 处于 SVC 模式,并且关闭了所有的中断3.Linux 内核将每种处理器都抽象为一个 proc_info_list 结构体,每种处理器都对应一个procin
2022-06-25 16:17:44
4007
原创 UBOOT启动流程详解
第一阶段(汇编语言阶段)1.设置异常向量表,当系统发生异常时总会接入到一个固定地址。2.硬件初始化。设置时钟(内核时钟,总线时钟,IO接口时钟)3.关闭看门狗。看门狗用于防止程序跑飞,但是在 uboot启动阶段,还没有加载 操作系统,只有在 加载操作系统后,如果没有喂狗的过程的话,就会判定程序已经跑飞,需要重启系统。4.关闭MMU,MMU是用于虚拟地址向物理地址进行映射的一个结构。在 uboot阶段操作的就直接是 物理地址,所以不需要转换。5.关闭中断。uboot引导linux起到的过程中本身就是一个完成的
2022-06-23 11:02:02
1285
原创 LCD驱动程序框架
LCD驱动程序通过Framebuffer机制进行管理。,他和基础的字符设备一样,只不过将系统中所有和显示有关的软硬件虚拟成了一个fb设备,开发者只需要针对自己lcd设备对相关软硬件进行修改即可。1.字符设备本身就有一个函数的操作集,fb 的 file_operations 在drivers/video/fbdev/core/fbmem.c中,与普通字符类型驱动一样,对其进行读写操作。2.当我们运用开发板的时候,系统默认是打开LCD驱动的,首先注册一个mxsfb_driver结构体,包括了 匹配列表,设备名字
2022-06-23 10:09:55
390
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人