Linux study
lory17
这个作者很懒,什么都没留下…
展开
-
Kobject/kset的使用
Kobject实现了基本的面向对象管理机制,是构成linux 2.6设备模型的核心结构。它与sysfs文件系统紧密相连,在内核中注册的每个kobject对象对应sysfs文件系统中的一个目录。 作用:用来创建sysfs下面的目录和文件的,属性对应的文件。 file://D:\資料\学习资料\linux相关\演示代码\kobject\kobject.c> kobject操作原创 2013-10-14 09:06:26 · 720 阅读 · 0 评论 -
kernel/head.S
1.初始化指向--stext标签通过引导加载项加载内核以后,首先执行的部分就是stext。执行该标签时要如下状态:MMU = offD-Cache = offr0 = 0r1 = machime numberr2 = atags pointer在stext标签中,首先转换为SVC模式,并禁用IRQ。然后调用调用多个检查程序,查找CPU和机器信息,并检查atag信原创 2015-12-03 14:58:52 · 818 阅读 · 0 评论 -
linux常见知识
1) Linux中主要有哪几种内核锁?2) Linux中的用户模式和内核模式是什么含意?3) 怎样申请大块内核内存?4) 用户进程间通信主要哪几种方式?5) 通过伙伴系统申请内核内存的函数有哪些?6) 通过slab分配器申请内核内存的函数有?7) Linux的内核空间和用户空间是如何划分的(以32位系统为例)?8) vmalloc()申请的内存有什么特点?转载 2013-10-21 17:58:50 · 554 阅读 · 0 评论 -
作为一个新人,怎样学习嵌入式Linux?(韦东山)
被问过太多次,特写这篇文章来回答一下。 在学习嵌入式Linux之前,肯定要有C语言基础。汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会)。C语言要学到什么程度呢?越熟当然越好,不熟的话也要具备基本技能。比如写一个数组排序、输入数字求和什么的。学C语言唯一的方法是多写程序多练习,编译出错没关系,自己去解决;执行出错没关系,自己去分析。以前我是用VC来练习C语转载 2013-10-16 14:58:12 · 733 阅读 · 0 评论 -
platform总线
虚拟总线:由两部分组成:platform_device和platform_driver 工作流程:通过platform机制开发底层设备驱动的流程图:定义 platform_device|注册 platform_device|定义 platform_driver|注册 platform_driver platform设备:struct pl原创 2013-10-14 09:10:30 · 583 阅读 · 0 评论 -
bootloader
一个嵌入式系统从软件角度来看可以分为三个层次:1.引导加载程序包括固化在固件(firmware)中的boot程序,和bootloader两大部分。2.Linux内核特定于嵌入式平台的定制内核3.文件系统包括了系统命令和应用程序。 软件层次:同时装有bootloader、内核的启动参数、内核映像和根文件系统映像的固态存储设备的典型空间分配。 Bootloa原创 2013-10-14 13:59:50 · 911 阅读 · 0 评论 -
并发和竞态
scull的缺陷在scull内存管理代码中。scull必须判断所请求的内存是否已经分配好。if( !dptr->data[s_pos]){ dptr->data[s_pos] = kmalloc(quantum, GFP_KERNEL); if(!dptr->data[s_pos]){ goto out; }}如果有AB两个进程,假设都同时到原创 2013-10-14 09:22:53 · 609 阅读 · 0 评论 -
字符设备驱动程序
驱动程序的定义:使硬件工作的软件 驱动程序分类:字符设备驱动(重点),网络接口驱动(重点),块设备驱动 字符设备:按字节为最小单位来访问的设备。字符驱动则负责驱动字符设备,通常实现open,close,read,write系统调用 块设备:Unix:只能一次传送一个或多个长度是512字节(或更大的2次幂的数)的整块数据。Linux:允许块设备传送热议数目的字节。原创 2013-10-14 09:16:57 · 771 阅读 · 0 评论 -
中断处理
中断的概念:用于CPU与外设之间信息交互的机制。为什么需要中断?1、外设的处理速度一般慢于CPU;2、CPU不能一直等待外部事件所以设备必须有一种方法来通知CPU它的工作进度,这种方法就是中断。 中断的实现:1、向内核注册中断;2、实现中断处理函数。 中断注册:request_irq用于实现中断的注册功能 :int request_irq(unsig原创 2013-10-14 09:11:11 · 991 阅读 · 0 评论 -
总线/设备/驱动模型
设备元素:总线, 驱动, 设备 总线:处理器和设备之间的通道,在设备模型中,所有的设备都通过总线相连,甚至是内部的虚拟“platform”总线(定时器,看门狗并没有直接相连)。在linux设备模型中,总线由bus_type结构表示,定义在 总线的注册使用:bus_register(struct bus_type *bus);若成功,新的总线将被添加进系统,并可以在sys原创 2013-10-14 09:08:56 · 605 阅读 · 0 评论 -
atags--__vet_atags标签
atags–__vet_atags标签常量值ATAG_CORE定义为0x54410001。表示atag list启动幻数(magic number)。tagged list 由struct teg数组组成,包含内存、视屏、ramdisk、initrd等信息。tagged list从ATAG_CORE开始启动,用ATAG_NONE表示数组结束。原创 2015-12-04 11:09:20 · 1201 阅读 · 0 评论