嵌入式LINUX
文章平均质量分 53
上海大都督
SEU7年,底层C+X86汇编+linux
展开
-
飞凌OK210学习笔记
2016.04linux 内核配置与编译将光盘提供的内核文件解压,进入linux内核文件总目录清除:执行make distclean配置:cp foxlin210 .config(官方提供好的config文件)执行make menuconfig (需要先安装nurse-dev)ls -a查看隐藏文件.config编译:make zImage开始编译,时间5-原创 2016-04-13 00:38:54 · 897 阅读 · 0 评论 -
进程上下文 & 中断上下文
内核空间和用户空间是现代操作系统的两种工作模式,内核模块运行在内核空间,而用户态应用程序运行在用户空间。它们代表不同的级别,而对系统资源具有不同的访问权限。内核模块运行在最高级别(内核态),这个级下所有的操作都受系统信任,而应用程序运行在较低级别(用户态)。在这个级别,处理器控制着对硬件的直接访问以及对内存的非授权访问。内核态和用户态有自己的内存映射,即自己的地址空间。处理器总处于以下状态中的转载 2016-08-13 10:15:23 · 268 阅读 · 0 评论 -
内核机理一些简单分析
linux进程调度时间片机制抢占机制:内核抢占:当进程位于内核空间时,有一个更高优先级的任务出现时,如果当前内核允许抢占,则可以将当前任务挂起,执行优先级更高的进程。内核抢占对实时性有帮助。用户抢占:内核从系统调用或中断处理程序即将返回用户空间的时候,如果need resched标志被设置,会导致schedule,此时就会发生用户抢占。原创 2016-08-13 10:28:02 · 295 阅读 · 0 评论 -
用户空间 & 内核空间
linux驱动程序一般工作在内核空间,但也可以工作在用户空间。下面我们将详细解析,什么是内核空间,什么是用户空间,以及如何判断他们。 Linux简化了分段机制,使得虚拟地址与线性地址总是一致,因此,Linux的虚拟地址空间也为0~4G.Linux内核将这4G字节的空间分为两部分。将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为"内核空间".而将较转载 2016-08-13 10:09:03 · 1229 阅读 · 1 评论 -
linux设备驱动模型
所有驱动都在 设备 总线 驱动 三个模型中遇到一些看门狗等没有对应总线类型的需要使用虚拟总线总线是处理器和设备间的通道,所有设备都通过总线相连。由bus_type描述,注册:bus_register,出现在sysfs下的sys/bus目录下面删除:bus_unregister当一个新的驱动或者设备添加到总线的时候, match(driver, device)原创 2016-08-09 23:35:35 · 343 阅读 · 0 评论 -
各进程概述
孤儿进程和僵尸进程 我们知道在unix/linux中,正常情况下,子进程是通过父进程创建的,子进程在创建新的进程。子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束。 当一个 进程完成它的工作终止之后,它的父进程需要调用wait()或者waitpid()系统调用取得子进程的终止状态。 孤儿进程:一个父进程退出,而它的一个或多个子进原创 2016-08-11 15:12:13 · 424 阅读 · 0 评论 -
platform总线和普通总线,驱动模型间的一些关系和理解
(本原创文章发表于Sailor_forever 的个人blog,未经本人许可,不得用于商业用途。任何个人、媒体、其他网站不得私自抄袭;网络媒体转载请注明出处,增加原文链接,否则属于侵权行为。如 有任何问题,请留言或者发邮件给sailing_9806#163.com)http://blog.csdn.net/sailor_8318/archive/2010/01/29/5267698.a转载 2016-08-11 10:15:12 · 4615 阅读 · 0 评论 -
linux驱动中的中断
外设慢于CPU,所以不能轮循,占用CPU通过信号机制来通知CPU工作进度步骤1.向内核注册中断 int request_irq(中断号, 中断处理, flag, 设备名, 共享中断id)2。实现中断动作 3.释放中断 void free_irq(u32 irq, void *dev_id)快速中断:不允许嵌套慢速中断:允许嵌套共享中断:原创 2016-08-10 23:03:33 · 372 阅读 · 0 评论 -
linux kernel启动流程
来源:Linux社区 作者:ce123_zhouwei本文写的真心不错,层次清晰,内容详略得当,值得一阅,谨做笔记使用。Linux内核启动流程 arch/arm/kernel/head-armv.S 该文件是内核最先执行的一个文件,包括内核入口ENTRY(stext)到start_kernel间的初始化代码, 主要作用是检查CPU I转载 2016-08-06 11:46:28 · 4349 阅读 · 0 评论 -
file-fops-inode-dev_t之间一些关系
本文为转载,仅作自己学习使用。各种驱动形式本质还是把fops注册到inode中。device_create->device_create_vargs->dev_set_drvdata(dev, drvdata)把fops设置到了dev->p->driver_data中 device_register->device_add->devtmpfs_转载 2016-08-01 23:42:26 · 699 阅读 · 0 评论 -
Linux驱动程序中的file,inode,file_operations三大结构体
本文允许转载,但请标明出处:http://blog.csdn.net/u010944778/article/details/45077565file_operations: 该结构是将系统调用 和驱动程序连接起来,这个结构的每一成员都对应着一个系统调用。当用户进程利用系统调用对设备进行读写操作的时候,这些系统调用通过设备节点中的主设备号和次设备号来确定相应的驱动程序,而每一个转载 2016-08-04 23:37:46 · 360 阅读 · 0 评论 -
面试题
20160802某通信公司平台部门的电话面试1.uboot启动流程2.内核启动流程3.进程间通信和线程间通信方法4.用户态访问内核态的方法5.linux驱动模型6.各种锁的区别7.文件系统的介绍1.C语言的CPU特性有哪些2.简介硬件调试方法3.Norflash 出现偶发性错误1.多进程调试方法原创 2016-08-02 22:05:47 · 249 阅读 · 0 评论 -
forlinx ok210 uboot 分析
--20160716 初步分析,主要写一下流程和涉及到的文件,功能原创 2016-07-16 23:51:36 · 498 阅读 · 0 评论 -
Linux内核线程
内核线程是直接由内核本身启动的进程。内核线程实际上是将内核函数委托给独立的进程,与系统中其他进程“并行”执行(实际上,也并行于内核自身的执行),内核线程经常被称为内核“守护进程”。它们主要用于执行下列任务:l 周期性地将修改的内存页与页来源块设备同步。l 如果内存页很少使用,则写入交换区。l 管理延时动作l 实现文件系统的事务日志。 内核线程转载 2016-08-06 11:54:45 · 527 阅读 · 0 评论