- 博客(5)
- 资源 (22)
- 问答 (1)
- 收藏
- 关注
原创 uboot引导非压缩的内核镜像vmlinux.bin
一般都是使用uboot引导uImage,uImage是在压缩的内核(如zImage)加了一些信息生成的。这些信息主要内容包括此内核是那种类型,linux还是其他的;内核的入口地址等信息。长度是0x40。加这些信息主要是为了Uboot强大的多系统支持服务。在uboot的代码中(bootm)也有一部分代码把这些信息读出来放在一个叫struct bootm_headers 的结构体中,对内核进行分类
2016-12-29 14:19:27 3542
转载 ELF文件和BIN文件
文件的内容:1. BIN文件是 raw binary 文件,这种文件只包含机器码。2. ELF文件除了机器码外,还包含其它额外的信息,如段的加载地址,运行地址,重定位表,符号表等。所以ELF文件的体积比对应的BIN文件要大。文件的执行:1. 执行raw binary很简单,只需要将程序加载到其起始地址,就可以执行; FILE *fp = fopen("vm
2016-12-29 10:51:46 908
转载 platform总线注册过程及platform_driver与platform_device的匹配
我们知道,按platform结构写驱动,我们只需注册platform_device和platform_driver而不需要我们自己去注册platform总线,因为系统启动就有那条总线,那么它是怎么得到的呢?这里进行具体跟踪一下:start_kernel——>rest_init——>kernel_thread(这个线程创建很重要)——>kernel_init——>do_basic_s
2016-12-02 11:40:55 357
转载 kernel启动过程的三个特殊进程
Linux下有3个特殊的进程,分别是idle进程、init进程、kthreadd进程idle进程[linux]进程(三)——idle进程Linux下0号进程的前世(init_task进程)今生(idle进程)—-Linux进程的管理与调度(五)idle进程(PID = 0):其前身为init_task进程,该由系统自动创建, 运行在内核态,是系统创建的第一个进程,也
2016-12-01 11:58:32 1118
转载 linux initcall机制
Linux系统启动过程很复杂,因为它既需要支持模块静态加载机制也要支持动态加载机制。模块动态加载机制给系统提供了极大的灵活性,驱动程序既可支持静态编译进内核,也可以支持动态加载机制。Linux系统中对设备和子系统的初始化在最后进行,主要过程可以用下图表示。图1进入子系统初始化时,在内核init进程中进行设备初始化,最为复杂、诡异的机制莫过于do_initcalls(
2016-12-01 11:36:15 879
xgcom-0.04.2.tgz
2016-07-05
framebuffer 一行一行memcpy耗时,直接写int很快,大侠们这是为什么?
2018-12-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人