
linux内核
fouweng
天下大势浩浩荡荡,顺之者昌,逆之者亡。努力奋斗,做更好的自己。
展开
-
使用动态链接库出现 undefine…
最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误:(.text+0x13): undefined reference to `func' 关于undefinedreference这样的问题,大家其实经常会遇到,在此,我以详细地示例给出常见错误的各种原因以及解决方法,希望对初学者有所帮助。1. 链接时缺失了相关目标文件(.o)原创 2016-12-02 15:51:48 · 944 阅读 · 0 评论 -
SD读写
http://www.cnblogs.com/scnutiger/p/3776170.htmlmmc io的读写从mmc_queue_thread()的获取queue里面的request开始。 先列出调用栈,看下大概的调用顺序, 下面的内容主要阐述这些函数如何工作。host->ops->request() // sdhci_request()mmc_start_request()mm原创 2016-12-02 15:53:21 · 392 阅读 · 0 评论 -
自动创建设备节点 ,手动创建…
error: implicit declaration of ‘class_device_create’这个代码在Kernel 2.6.18下面编译的时候没有任何问题。为什么在2.6.34下面会出现这个错误呢?难道class_device_create这个kernel API已经从新版kernel里面移除了?google了一下,发现确实是已经被移除了,在新版的kernel里面,可以使原创 2016-12-02 15:53:24 · 816 阅读 · 0 评论 -
struct device dev;&nbs…
一:dma_mask与coherent_dma_mask的定义在linux内核中,引入了platform_device与platform_driver,这样就很方便了平台的设备与驱动。在include\linux\platform_device.h下:struct platform_device { const char * name; int id; structdevice d原创 2016-12-02 15:53:27 · 437 阅读 · 0 评论 -
debugfs
在进行系统调试的时候,有可能会使用到debug file system。下面讲解如何具体使用debug file system1. 在kernel中使用debug file system[On Linux 2.6.39] make menuconfig -->Kernel hacking --> 选中Debug Filesystem (CONFIG_DEBUG_FS)选项。[On原创 2016-12-02 15:53:35 · 600 阅读 · 0 评论 -
dev_dbg dynamic dbg使用
debugfs 默认路径sys/kernel/debug log输出机制0.注意该机制只对 dev_dbg ->dynamic_dev_dbg 定义的debug log输出加以控制1.如何使用:(kernel/Documentation/dynamic-debug-howto.txt) mkdir /data/debugfs原创 2016-12-02 15:53:38 · 539 阅读 · 0 评论 -
查看patch在哪次内核版本生效
If I go to look to see what release it was in, I normally do: $ git describe --contains 0136db586c028f71e7cc21cc183064ff0d5919 v3.6-rc1~59^2~56^2~76However, it really showed up first原创 2016-12-02 15:53:59 · 1800 阅读 · 0 评论 -
git 怎么用命令发送patch补丁…
http://blog.youkuaiyun.com/V__KING__/article/details/14122409转载 2016-12-02 15:54:05 · 311 阅读 · 0 评论 -
SD mmc
现在讨论SD卡的硬件驱动:1、首先对于SD卡,采取的是一答一应的模式(主机没发一次命令,SD卡就回应一次)。而对于SD卡的操作基于两方面:命令+内部寄存器,并且对于寄存器的操作也还是通过命令,所以命令是SD卡的心脏。SD卡只有几个寄存器而已,不过这些寄存器很重要,具体如下:CID寄存器,有128位,用于:卡识别号,每张卡都有唯一的识别号;RCA寄存器 ,有16位,用于: 发布卡的地址,卡的转载 2016-12-02 15:54:02 · 414 阅读 · 0 评论 -
usb设备probe过程
本文将详细讲述2.6.22 下的一个USB 设备插上linux 系统的PC 后是如何一步一步调到我们的usb 设备驱动的probe 函数的, 我们知道我们的USB 驱动的probe 函数中的一个参数是interface 结构, 因此一般来说, 一个USB 设备中的任何一个接口都应该有对应的一个驱动程序, 当然也有例外( 如cdc-acm).我们知道USB 设备都是通过插入上层HUB 的一个Po转载 2016-12-02 15:52:37 · 416 阅读 · 0 评论 -
CMAKER
CMAKE 的一些命令http://www.cnblogs.com/coderfenghc/archive/2012/10/20/2712806.html假设有一个TestHttpClientSolution,这个Solution下分别有TestHttpClient工程(可执行程序)和HttpClient工程(动态库)。这样我们需要三个CMakeLists.txt文件。其中HttpCl原创 2016-12-02 15:53:19 · 1126 阅读 · 0 评论 -
mmc子系统
drivers\mmc\host\rtsx-icr.cmodule_platform_driverdriver_register(&rtsx_icr_driver);rtsx_icr_probemmc = mmc_alloc_host(sizeof(*icr), dev);request_irq(host->irq, s3c2410sdi_irq, 0, DRIVER_NAME,hos原创 2016-12-02 15:53:13 · 695 阅读 · 0 评论 -
pci设备的初始化
pci设备的初始化这里讨论系统上电时的情况, 热插拔的情况应该差不多.首先是从根总线开始, 然后就是扫描这个根总线上的每一条子BUS, 如下:unsigned int pci_scan_child_bus(struct pci_bus *bus){ unsigned intdevfn, pass, max = bus->secondary; structpci_dev原创 2016-12-02 15:53:10 · 3069 阅读 · 0 评论 -
看到的一篇介绍strncpy()函数比较…
原文:http://blog.youkuaiyun.com/ephuizi/article/details/7099050strncpy()函数原型:extern char *strncpy(char *dest, char *src, intn); 用法:#include 功能:把src所指由NULL结束的字符串的前n个字节复制到dest所指的数组中。 说明:如果src的前n个字原创 2016-12-02 15:51:51 · 1128 阅读 · 0 评论 -
linux休眠唤醒
http://blog.youkuaiyun.com/lizhiguo0532/article/details/6453552?ticket=ST-322121-dLRqpqRG9fi6ADk4E1hw-passport.youkuaiyun.com原创 2016-12-02 15:52:11 · 286 阅读 · 0 评论 -
__asm__ __volatile__内嵌汇…
__asm__ __volatile__内嵌汇编用法简述在阅读C/C++原码时经常会遇到内联汇编的情况,下面简要介绍下__asm____volatile__内嵌汇编用法。因为我们华清远见教学平台是ARM体系结构的,所以下面的示例都是用ARM汇编。带有C/C++表达式的内联汇编格式为:__asm__ __volatile__("InstructionList" : Output : Inp原创 2016-12-02 15:52:14 · 431 阅读 · 0 评论 -
I/O内存资源映射
我们知道默认外设I/O资源是不在Linux内核空间中的(如sram或硬件接口寄存器等),若需要访问该外设I/O资源,必须先将其地址映射到内核空间中来,然后才能在内核空间中访问它。 Linux内核访问外设I/O内存资源的方式有两种:动态映射(ioremap)和静态映射(map_desc)。 一、动态映射(ioremap)方式 动态映射方式是大家使用了比较多的,也比较简单。即直接通过内核原创 2016-12-02 15:52:20 · 498 阅读 · 0 评论 -
plateform总线
--------------------------------------------------------------本站分析linux内核源码,版本号为2.6.32.3转载请注明出处:http://ericfang.cublog.cn/-------------------------------------------------------------- 阅读本文之前,原创 2016-12-02 15:52:28 · 2427 阅读 · 0 评论 -
usb枚举
http://blog.youkuaiyun.com/fanqipin/article/details/8480972原创 2016-12-02 15:52:34 · 230 阅读 · 0 评论 -
mtk驱动
转载:http://blog.youkuaiyun.com/cbk861110/article/details/93854391. LCD1.1怎样新建一个LCD驱动LCD模组主要包括LCD显示屏和驱动IC。比如LF040DNYB16a模组的驱动IC型号为NT35510。要在MT577平台上新建这个lcd的驱动,步骤如下:A. 新建文件夹nt35510:\mediatek\custo原创 2016-12-02 15:52:48 · 1347 阅读 · 0 评论 -
rtl8169网卡驱动
原文:http://www.bubuko.com/infodetail-844822.html本文通过学习RealTek8169/8168/8101网卡的驱动代码(drivers/net/r8169.c),梳理一下Linux下网卡的收包过程。在下水平相当有限,有不当之处,还请大家斧正^_^ 驱动的初始化如下的rtl8169_init_module函数是此驱动的初始化代码,此函数只干了一原创 2016-12-02 15:52:56 · 3684 阅读 · 2 评论 -
mipis汇编指令
http://www.cnblogs.com/SA226343/p/3272275.html原创 2016-12-02 15:53:07 · 1042 阅读 · 0 评论 -
内核升级
ubuntu内核升级,亲测转载 2016-12-02 15:53:43 · 289 阅读 · 0 评论