易截截图软件、单文件、免安装、纯绿色、仅160KB

uboot在引导linux之前要做的事

启动armlinux,bootloader必须提供下面几步:
 
1.  设置并初始化ram
2.  初始化一个串口
3.  检测处理器类型
4.  设置内核标记列表
5.  调用内核映像
 
1.       设置并初始化ram
 
bootloader要找到并初始化系统中所有的ram,内核将这些ram用于可变数据的存储。
 
2.       初始化一个串口
 
bootloader应该在目标板上初始化并使能一个串串口。这将允许内核串口驱动自动检测它应该用哪个串口作为内核控制台。
 
另外,bootloader也可通过标记列表传递相关的”console=”选项到内核来指定串口以及串口格式(奇偶位,停止位等)
 
3.       检测处理器类型
 
bootloader应该通过某种方法检测它所运行的处理器的类型,它最终必须能够向内核提供一个MACH_TYPE_xxx值。
 
4.设置内核标记列表
 
bootloader必须创建并初始化内核标记列表。一个有效的标记列表起始于ATAG_CORE而终止于ATAG_NONE。任何数量的标记都可以加入这个列表。bootloader至少要向内核传送系统内存的大小和位置以及根文件系统的位置。
 
标记列表必须放在某个内存区域,这个区域既不能被内核解压器重写,也不能被initrd ‘boot0’ 程序重写。推荐的位置是RAM开头的16K。
 
5.  调用内核映像
 
有两种调用kernel zImage的选择。如果zImage存储在flash中,并且被正确的连接从flash运行,那么对于bootloader来说,直接从flash调用zImage是合法的。
 
zImage也可以放到系统RAM中任何位置并在那个位置调用。注意,内核使用这个映像下面的16K RAM存储页表。推荐将映像存放在RAM的32K位置处。
 
在任何情况下,下面的重要条件都必须满足:
 
――屏蔽所有具有DMA功能的设备,以便内存不会被伪造的网络包或磁盘数据误导。这将大大节约你的调试时间
 
――cpu寄存器设置
r0 = 0,
r1 = 处理器类型号
r2 = 标记列表在系统内存中的物理地址
 
       uboot中调用内核时:
       theKernel (0, bd->bi_arch_number, bd->bi_boot_params);
这里第1、2、3个参数就分别存储在r0、r


相关文档:

实战Linux Bluetooth编程(六) L2CAP编程实例

例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
 如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......

linux的platform驱动

从Linux 2.6起引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver。
Linux中大部分的设备驱动,都可以使用这套机制, 设备用Platform_device表示,驱动用Platform_driver进行注册。
 
Linux platform driver机制和传统的device driver 机制(通过driver_register函数进行注册)相比,一个十分明显 ......

linux的目录介绍

 之前看了一些关于linux操作系统的教程,比较喜欢将这些东西记录在本子上,现在再将这些东西贴到博客上,和大家交流一下。很多linux高手说到,想要学好linux必须对其目录有个透彻的理解。以下是我总结的一些东西:
与Windows一样,在Linux中也是通过目录来组织文件的。但不同的是,在Linux下只有一个根目录,而不象Win ......

[整理]Linux命令 档案目录管理

档案目录管理 ls
语法: ls [-alrtAFR] [name...]
说明: 显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。   
参数:
  -a 显示所有档案及目录 (ls内定将档案名或目录名称开头为"."的视为隐藏档,不会列出)
  -l 除档案名称外,亦将档案型态、权限、拥有者、档案大小等资讯详细列出
  -r ......

linux 上电执行的第一条代码是在内存里吗?

摘自oldlinux:
上电执行的第一条代码是在内存里吗?
“访问的F000h : FFF0h是内存的地址还是存放bios的rom地址 ” 
  这个是由北桥内的一个寄存器设置的(具体的资料你可以去找一些芯片组的资料)。当北桥收到CPU外部的地址总线上的信号时,会根据这个寄存器内的值来决定是从内存里取内容还是把这个地 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号