Linux
lichengtongxiazai
这个作者很懒,什么都没留下…
展开
-
Linux CURL的安装
--获得安装包,从网上直接下载或者其他途径,这里直接wget# wget http://curl.haxx.se/download/curl-7.17.1.tar.gz--解压到当前目录# tar -zxf curl-7.17.1.tar.gz--进入解压后的目录内# cd curl-7.17.1--配置,指定安装的目录,这里是“/usr/local/curl”# ./转载 2014-03-23 15:24:17 · 916 阅读 · 0 评论 -
include<mydebug.h>
#ifdef pr_debug #undef pr_debug #define pr_debug(fmt, ...) \ printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) #else #define pr_debug(fmt, ...) \ printk(KERN_DEBUG pr_fmt(fmt), #转载 2015-03-17 20:55:55 · 1033 阅读 · 0 评论 -
Makefile, Kconfig和.config关联关系
Makefile, Kconfig和.config关联关系第一步,明确Kconfig是配置文件,现在比如要加入新的内核配置,必须在相关Kconfig文件中添加类似:ConfigNEW_FEATURE第二步,在Makefile添加obj-$(CONFIG_NEW_FEATURE) += new_feature.o第三步,执行Make menuconfig形如此类的内核配置界面,选择N原创 2015-01-17 17:08:42 · 1342 阅读 · 0 评论 -
什么是scatter / gather
scatter/gather方式是与block dma方式相对应的一种dma方式。 在dma传输数据的过程中,要求源物理地址和目标物理地址必须是连续的。但在有的计算机体系中,如IA,连续的存储器地址在物理上不一定是连续的,则dma传输要分成多次完成。 如果传输完一块物理连续的数据后发起一次中断,同时主机进行下一块物理连续的传输,则这种方式即为bloc转载 2014-10-23 15:44:45 · 3216 阅读 · 0 评论 -
(DT系列一)DTS结构及其编译方法
DTS结构及其编译方法一:主要问题1,需要了解dtsi与dts的关系2,dts的结构模型3,dts是如何被编译的,以及编译后会生成一个什么文件.二:参考文字1,DTS(device tree source).dts文件是一种ASCII文本格式的DeviceTree描述。基本上,在ARMLinux内,一个.dts文件对应一个ARM的machine,原创 2014-08-30 09:43:38 · 49488 阅读 · 1 评论 -
(DT系列六)devicetree中数据和 struct device有什么关系
devicetree中数据和structdevice有什么关系总体来说,devicetree与structdevice的关系应该还是在其生成platformdevice的时候,一直传递的structdevice *parent参数。下面先把其源码中传递过程描述如下(仍以At91rm9200为例):1,DT_MACHINE_START(at91sam_dt,"Atmel原创 2014-08-30 09:53:39 · 6314 阅读 · 1 评论 -
(DT系列五)Linux kernel 是怎么将 devicetree中的内容生成plateform_device
Linux kernel 是怎么将 devicetree中的内容生成plateform_device1,实现场景(以Versatile Express V2M为例说明其过程)以arch/arm/mach-vexpress/v2m.c 为例,在该文件中的v2m_dt_init函数的作用就是利用 dt(device tree)结构初始化 platform device。static原创 2014-08-30 09:55:26 · 15409 阅读 · 1 评论 -
(DT系列二)device tree的书写规范
devicetree的书写规范下面从节点,属性,reg,ranges,中断控制器等几个方面叙述devicetree的书写规范。1,dts的基本元素:节点.dts(或者其include的.dtsi)基本元素为结点和属性。举例说明节点的概念:/ { node1 { a-string-property = "A string"; a-strin原创 2014-08-30 09:53:13 · 9435 阅读 · 0 评论 -
(DT系列四)驱动加载中, 如何取得device tree中的属性
本文以At91rm9200平台为例,从源码实现的角度来分析驱动加载时,Device tree的属性是如何取得的。一:系统级初始化DT_MACHINE_START 主要是定义"struct machine_desc"的类型,放在 section(".arch.info.init"),是初始化数据,Kernel 起来之后将被丢弃。#define DT_MACHINE_START(_name原创 2014-08-30 09:48:15 · 16813 阅读 · 0 评论 -
(DT系列三)系统启动时, dts 是怎么被加载的
一,主要问题:系统在启动的时候,是怎么加载 dts的;Lk,kernel中都需要调查。二:参考文字dts加载流程如下图所示:启动过程中,bootloader(默认是bootable/bootloader/lk)会根据机器硬件信息选择合适的devicetree装入内存,把地址等相关信息传给kernel。kernel中,会根据传入的信息创建设备。1,先从原创 2014-08-30 09:43:22 · 20525 阅读 · 5 评论 -
schedule_delayed_work()
http://blog.csdn.net/dedlous/article/details/21531925工作队列的作用就是把工作推后,交由一个内核线程去执行,更直接的说就是如果您写了一个函数,而您现在不想马上执行它,您想在将来某个时刻去执行它,那您用工作队列准没错.您大概会想到中断也是这样,提供一个中断服务函数,在发生中断的时候去执行,没错,和中断相比,工作队列最大的好处就是可以转载 2014-08-15 17:47:00 · 7298 阅读 · 0 评论 -
patch命令使用
借鉴:总结一下:单个文件diff –uN from-file to-file >to-file.patchpatch –p0 patch –RE –p0 多个文件diff –uNr from-docu to-docu >to-docu.patchpatch –p1 patch –R –p1转载 2014-09-12 10:42:11 · 2034 阅读 · 0 评论 -
指针的灵活使用(分析Device tree案例)
int of_device_is_compatible(const struct device_node *device,const char *compat){const char* cp;int cplen, l;cp = of_get_property(device, "compatible", &cplen);if (cp == NULL)return原创 2014-08-28 17:36:18 · 2739 阅读 · 0 评论 -
ctags, cscope, taglist
1, ctag:sudo apt-get install ctags原创 2014-08-14 16:59:35 · 1013 阅读 · 0 评论 -
platform_device,字符设备和块设备的区别
而platform_device并不是与字符设备、块设备并列的概念,而是Linux系统提供的一种管理设备的手段,所有SOC系统中集成的独立的外设控制器、挂接在SOC内存空间的外设等都属Platform设备。如ARM S3C6410处理器中,把内部集成的I2C、PTC、SPI、LCD、看门狗控制器都归纳为Platform设备,而这些设备本身就是字符设备。由此可见Platform中的设备是不分字符设备转载 2014-08-28 11:25:43 · 3480 阅读 · 0 评论 -
ubuntu 12.04更新源
http://wangheng.org/ubuntu-12-04-source-list.html转载 2014-05-17 12:22:59 · 922 阅读 · 0 评论 -
Ubuntu的wired Networks 变灰色,无法连接网络
NetworkManager settingNetworkManager 的設定檔放在 /etc/NetworkManager/nm-system-settings.conf。[main]plugins=ifupdown,keyfile[ifupdown]managed=false修改转载 2014-05-15 10:54:32 · 12068 阅读 · 0 评论 -
getMask
public int getMask(int length) { int res = 0; for (int i = 0 ; i res = (res } return res; }转载 2015-09-16 10:06:26 · 995 阅读 · 0 评论