自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 嵌入式开发环境搭建

交叉编译环境的搭建1、在/usr/local/下建立交叉编译器的安装目录armsudo  mkdir /usr/local/arm

2014-04-27 18:22:37 599

转载 linux GDB调试

原文位于:http://www.cnblogs.com/shipfi/archive/2008/08/04/1260293.html1: 对于在应用程序中加入参数进行调试的方法:   直接用 gdb app -p1 -p2 这样进行调试是不行的。   需要像以下这样使用:    #gdb app    (gdb) r -p1 -p2    或者在运行run命令前使用set

2014-04-27 17:44:32 478

转载 Linux GCC常用命令

原文位于:1简介GCC 的意思也只是 GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言;它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,等等。而 GCC 也不再单只是 GNU C 语言编译器的意思了,而是变成了 GNU

2014-04-27 17:23:29 532

原创 Linux 常用命令

用户系统相关命令1、su

2014-04-27 16:52:27 504

原创 数值温度传感器18b20驱动分析

#include #include #include #include #include #include #include #include #include #include #include #include #include #define DEVICE_NAME "Tem"#define tp_MAJOR  232u

2014-04-13 23:21:11 928

原创 PCI驱动

一、PCI总线1、PCI桥Host/PCI桥:用于连接CPU与PCI根总线,即“北桥芯片组”PCI/ISA桥:用于连接PCI与旧的ISA总线,即“南桥芯片组”PCI-to-PCI桥:用于连接PCI主总线与次总线2、pci_bus结构体(PCI总线结构体)定义在include/linux/pci.h中struct pci_bus {struct list_he

2014-03-14 23:06:39 1151

原创 内存与IO访问

一、用户空间的内存申请malloc();//申请free();//释放二、内核空间的内存申请1、kmalloc()void *kmalloc(size_t size,int flags);2、__get_free_pages()get_zeroed_page(unsigned int flags);__get_free_pages(unsigned int

2014-03-12 00:02:43 592

原创 中断与时钟

一、linux中断编程1、申请中断int requet_irq(unigned int irq,irq_handler_t handler,unsigned long irqflags,const char *devname,void *dev_id);2、释放中断void free_irq(unsigned int irq,void *dev_id);3、使能和屏蔽中断v

2014-03-12 00:02:01 577

原创 linux设备驱动中的异步通知与异步IO

一、linux异步通知编程1、信号的接收void (*signal(int signum,coid (*handler))(int)))(int);可分解为typedef void (*sighandler_t)(int);sighandler_t signal(int signum,sighandler_t handler);//用于改变进程接收到特定信号后的行为

2014-03-12 00:01:25 749

原创 linux设备驱动中的阻塞和非阻塞IO

一、等待队列1、定义等待队列头wait_queue_head_t my_queue;2、初始化等待队列头init_waitqueue_head(&my_queue);3、定义等待队列DECLARE_WAITQUEUE(name,tsk);4、添加/移除等待队列void fatcall add_wait_queue(wait_queue_head_t *q,wait_

2014-03-12 00:00:47 885

原创 linux设备驱动的并发控制

一、中断屏蔽中断屏蔽的使用方法:local_irq_disable();//屏蔽中断....//临界区处理local_irq_enable();//开中断注:local_irq_disable()和local_irq_enable()只能禁止和使能本CPU内的中断.local_irq_save(flags);//禁止中断并保存当前CPU的中断位信息loc

2014-03-11 11:28:44 616

原创 字符设备驱动结构

1、cdev结构体描述一个字符设备struct cdev{struct kobject kobj;//内嵌的kobiect对象struct module *owner;//所属模块struct file_operations *ops;//文件操作结构体struct list_head list;dev_t dev;//设备号unsigned int count;}

2014-03-10 23:34:54 643

原创 文件操作系统调用

1、文件操作系统调用1)创建int creat(const char *filename,mode_t mode);2)打开int open(const char *filename,int flags);如果flags使用了O_CREATE标志则使用int open(const char *filename,int flags,mode_t mode);3)读写i

2014-03-10 23:05:20 705

原创 linux内核模块

1、insmod xxx.ko 加载模块2、rmmod xxx.ko 卸载模块3、lsmod 获得系统中加载的所有模块及模块间的依赖关系4、modprode xxx.ko 加载模块时,会同时加载该模块所依赖的其他模块5、modprobe -r xxx  卸载模块,并同时卸载其他依赖的模块6、modinfo xxx  获取模块的信息1、模块的加载函数static

2014-03-10 22:16:57 502

原创 ok6410-uboot2012.10移植--环境搭建

一、下载uboot源码下载地址:ftp://ftp.denx.de/pub/u-boot/,下载uboot2012.10源码二、解压源码tar -xvf u-boot-2012.10.tar.bz2三、修改makefile1、添加以下内容smdk6410_noUSB_config \smdk6410_config :unconfig@mkdir -p $

2014-02-24 23:23:31 1264

原创 linux3.0.1内核启动分析

一、第一阶段:(arch/arm/boot/compressed/head.S)1、获得zImage的起始地址和结束地址,体系结构ID.word 0x016f2818@ Magic numbers to help the loader帮助加载程序.word start@ absolute load/run zImage address加载/运行zImage地址.word _

2014-02-21 15:41:16 1406

原创 文件操作三(select、poll多路复用)

1、select()和poll()的I/O 多路转接模型是处理I/O 复用的一个高效的方法。它可以具体设置程序中每一个所关心的文件描述符的条件、希望等待的时间等,从select()和poll()函数返回时,内核会通知用户已准备好的文件描述符的数量、已准备好的条件等。通过使用select()和poll()函数的返回结果,就可以调用相应的I/O 处理函数。2、select()函数的语法格式所需

2013-12-15 23:18:28 953

原创 文件操作二(fcntl文件锁)

1、在文件已经共享的情况下如何操作,也就是当多个用户共同使用、操作一个文件的情况,这时,Linux 通常采用的方法是给文件上锁,来避免共享的资源产生竞争的状态。2、fcntl()是一个非常通用的函数,它可以对已打开的文件描述符进行各种操作,不仅包括管理文件锁,还包括获得和设置文件描述符和文件描述符标志、文件描述符的复制等很多功能3、fcntl()函数格式所需头文件:#inclu

2013-12-15 22:05:20 929

原创 文件操作编程一(open、close、read、write、lseek函数的使用)

open()函数

2013-12-15 21:26:39 2469

原创 基础概念及linux目录结构

一、基础概念1、文件系统、分区和挂载文件系统:是指操作系统中与管理文件有关的软件和数据。linux分区:linux文件系统是一棵文件树,且它的所有文件和外部设备(如硬盘、光驱等)都是以文件的形式挂在这个文件树上挂载:在 Linux 中把每一个分区和某一个目录对应,以后再对这个目录的操作就是对这个分区的操作,这样就实现了硬件管理手段和软件目录管理手段的统一。2、主

2013-12-15 16:50:33 716

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除