5 huangweiqing80

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 9w+

2020-07-09

trace32

2020-07-09 21:36:14

2020-07-09

ulimit -a 用来显示当前的各种用户进程限制Linux对于每个用户,系统限制其最大进程数,为提高性能,可以根据设备资源情况,设置个Linux用户的最大进程数,一些需要设置为无限制:如数据段长度:ulimit -d unlimited最大内存大小:ulimit -m unlimited堆栈大小:ulimit -s unlimited设置core dump 的空间无限大:ulimit -c unlimited查看限制情况 ulimit -a可以看到如下信息core file size

2020-07-09 21:21:04

2020-07-07

运行异常的debug方法对于stack trace只印出函数+偏移的情况,我们可以有两个方向来debug1.nm+addr2line2.objdump+addr2line首先应该是先在代码里面找到带symbol的lib/so

2020-07-07 17:59:01

EMMC驱动分析

一、SD卡系列简介这些都是网上找出来的,权当作为开场白了。MMC卡全称Multi Media Card,由西门子公司和SanDisk公司1997年推出的多媒体记忆卡标准。MMC卡尺寸为32mm x24mm x 1.4mm,它将存贮单元和控制器一同做到了卡上,智能的控制器使得MMC保证兼容性和灵活性。MMC卡具有MMC和SPI两种工作模式,MMC模式是默认工作模式,具有MMC的全部特性。而SPI...

2018-12-09 11:02:56

EMMC驱动数据结构

结构体mmc_host定义于/include/linux/mmc/host.c,可以认为是linux为SD卡控制器专门准备的一个类,该类里面的成员是所有SD卡控制器都需要的,是描述主机控制器的共有结构,具体的控制器结构体包含结构体mmc_host,如://该结构体有自己编写,根据实际项目来编写自己的host结构体struct pxamci_host { struct mmc_host *m...

2018-12-09 09:25:51

标准linu休眠和唤醒机制分析(一)

说明:1. Based on linux2.6.32,  only for mem(SDR)2. 有兴趣请先参考阅读: 电源管理方案APM和ACPI比较.docLinux系统的休眠与唤醒简介.doc3. 本文先研究标准linux的休眠与唤醒,android对这部分的增改在另一篇文章中讨论4...

2018-10-28 17:56:48

Linux网卡

版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/huangweiqing80/article/details/83185955在嵌入式SOC上,通常集成有ARM核和MAC控制器,以及增加数据传输带宽的MAC专用DMA,对这种形式的SOC通常使用外接物理PHY设备的方法,外接的PHY芯片如RTL8201F、88E1111、88E6096等,集成型以...

2018-10-25 16:50:00

PCI设备驱动程序

PCI总线是现在非常流行的计算机总线,学会它的驱动设计方法很重要。相信曾经想学习PCI总线驱动的人有这么一个经历,就是去看那些讲解PCI总线驱动的书籍和资料的时候,会被里面繁杂的内容所击败,又是什么配置空间又是什么枚举的,还没开始真正的去写PCI的驱动,到这里就已经开始打退堂鼓了。其实,只要你认真下去,虽然有些东西看不明白,但是对于你写PCI的驱动来说,似乎“不那么重要”。因为,Linux内核对P...

2018-10-24 18:05:40

PCI设备驱动之设备

https://www.cnblogs.com/image-eye/archive/2012/02/15/2352699.html四、PCI设备的枚举探测过程在内核启动过程中,PCI设备的探测过程是完全自动的,内核已经集成好了方法,我们无需更改,在这里还是分析一边代码作为了解。分析之前,先看一下全部的函数调用关系,大致了解一下pci_arch_init /* 判断host/pci桥的类型 ...

2018-10-24 16:22:07

linux内核之工作队列

在我的文章Linux内核:软中断、tasklet中,我们已经了解了中断底半部的两种实现方式,即软中断和tasklet微线程。但是这两种方式归根结底都是采用软中断机制的,其根本上还是在中断的上下文中执行,所以这也就要求了采用这两种方式编写中断底半部,不能出现一些可能导致程序休眠或者是延迟的函数(虽然当发生中断嵌套时会生成Ksoftirq线程,但这个是不确定的,所以我们在编写程序时,还是不能采用具有休...

2018-10-23 15:45:45

Linux内核之tasklet

中断下半部使用tasklet:手把手教你写Linux设备驱动—中断(二)–tasklet实现(基于友善之臂4412开发板)其实,tasklet的实现就是基于软中断的。软中断初始化函数softirq_init()中注册了两个tasklet软中断。void __init softirq_init(void){ ...... //此处注册两个软中断 open_softi...

2018-10-22 17:53:31

Linux 之软中断softirq

softirq驱动开发人员一般都不会用到,到内核代码中会用到softirq机制,如在timer定时器中有用到softirq机制。。。下面我们来简单了解一下Linux中的软中断的使用。注册软中断处理函数open_softirqvoid open_softirq(int nr, void (*action) (struct softirq_action *));/** * @nr: 软中...

2018-10-22 16:50:13

linux内核中断

统一入口entry-armv.S .align 5__irq_svc: svc_entry#ifdef CONFIG_TRACE_IRQFLAGS bl trace_hardirqs_off#endif#ifdef CONFIG_PREEMPT get_thread_info tsk ldr r8, [tsk, #TI_PREEMPT] @ get preempt coun...

2018-10-22 15:35:37

Linux内核中进程上下文、中断上下文、原子上下文、用户上下文的理解

 进程上下文和中断上下文是操作系统中很重要的两个概念,这两个概念在操作系统课程中不断被提及,是最经常接触、看上去很懂但又说不清楚到底怎么回事。造成这种局面的原因,可能是原来接触到的操作系统课程的教学总停留在一种浅层次的理论层面上,没有深入去研究。处理器总处于以下状态中的一种:1、内核态,运行于进程上下文,内核代表进程运...

2018-10-22 15:07:54

pci总线

https://blog.csdn.net/notbaron/article/details/79643799https://blog.csdn.net/notbaron/article/details/80346988https://blog.csdn.net/zyboy2000/article/details/51971453http://blog.chinaunix.net/uid/2...

2018-10-19 17:45:08

完成量

在驱动程序开发中,一种常见的情况是:一个线程需要等待另一个线程执行完某个操作后,才能继续执行。这个工作其实信号量也可以完成,但其效率比Linux中专门针对这种情况的完成量机制要差些一、完成量概述Linux中提供了一种机制,实现一个线程发送一个信号通知另一个线程开始完成某个任务,这种机制就是完成量。完成量的目的是告诉一个线程某个事件已经发生,可以在此事件基础上做你想做的另一个事件了。二、定义...

2018-10-17 11:39:53

linux内核线程

内核经常需要在后台执行一些操作,这种任务就可以通过内核线程(kernlethread)完成,内核线程是独立运行在内核空间的标准进程。内核线程和普通的进程间的区别在于内核线程没有独立的地址空间,mm指针被设置为NULL;它只在内核空间运行,从来不切换到用户空间去;并且和普通进程一样,可以被调度,也可以被抢占。实际上,内核线程只能由其他内核线程创建,linux驱动模块中可以用kernel_threa...

2018-10-16 18:22:49

linux内核等待队列

等待队列在linux内核中有着举足轻重的作用,很多linux驱动都或多或少涉及到了等待队列。因此,对于linux内核及驱动开发者来说,掌握等待队列是必须课之一。 Linux内核的等待队列是以双循环链表为基础数据结构,与进程调度机制紧密结合,能够用于实现核心的异步事件通知机制。它有两种数据结构:等待队列头(wait_queue_head_t)和等待队列项(wait_queue_t)。等待队列头和等待...

2018-10-15 17:43:23

linux 内核 current全局变量

在内核的API里经常能够见到一个指针current,它表示的是当前的进程(如果说是一个全局变量虽然不合理,但更容易理解)linux 内核 current全局变量

2018-10-15 17:03:37

Mutex 互斥锁

1、理解互斥锁?互斥锁的使用也是保持内核临界区的同步的,互斥锁可以说源于信号量,信号量设置计数器可以容许n个进程并发的访问临界区,而互斥锁不行,只能容许每次一个进程访问,也就是计数器值为1的信号量,可以这么理解。互斥锁和自旋锁有不同(显然的),互斥锁在中断处理程序中和可延迟函数中都不能使用,因为它是可以睡眠的,只能在进程上下文或者软中断上下文才能使用。struct mutex {/* 1: ...

2018-10-15 15:59:07

查看更多

勋章 我的勋章
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。