自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 c++函数必须先声明在使用

c++函数必须先声明在使用,比如:#include <IOSTREAM>using namespace std;//void A();void A() //定义并声明了函数A{ cout<<"A调用B:"<<endl; B();}void B() //定义并声明了函数B{ cout<<"B调用A:"<<endl; A();}int main()

2015-06-19 04:22:56 14444

原创 c++命名空间使用

c++引入命名空间是为了避免重名的问题比如函数和变量重名,比如一下代码#include <IOSTREAM> namespace a{ int b=3;} namespace c{ int b=5;}int main(){ using namespace std; using namespace a; using namespace c;//

2015-06-19 03:43:04 809

转载 __attribute__((packed))详解

1. __attribute__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法。这个功能是跟操作系统没关系,跟编译器有关,gcc编译器不是紧凑模式的,我在windows下,用vc的编译器也不是紧凑的,用tc的编译器就是紧凑的。例如:在TC下:struct my{ char ch; int a;} sizeof(in

2014-06-26 17:42:47 512

转载 内核中的 likely() 与 unlikely()

转载自:http://blog.csdn.net/rstevens/article/details/1798561内核中的 likely() 与 unlikely()在 2.6 内核中,随处可以见到 likely() 和 unlikely() 的身影,那么为什么要用它们?它们之间有什么区别? 首先要明确:            if(likely(value)) 等

2014-06-26 11:13:25 461

转载 linux機制之IDR

linux機制之IDR一.前言在linux中有idr,關於idr的用處並不是清楚。查看網上所述知所谓IDR,其实就是和身份证的含义差不多,我们知道,每个人有一个身份证,身份证只是一串数字,从数字,我们就能知道这个人的信息。同样道理,idr的要完成的任务是给要管理的对象分配一个数字,可以通过这个数字找到要管理的对象。類似于為內核任何對象創建一個普通的id,通過該id可以很快的索引到該對象

2014-06-24 12:20:38 515

转载 关于__init、__initdata和__exit、__exitdata的学习笔记

转载自:http://blog.chinaunix.net/uid-20543672-id-2985620.html由于4年前对于C语言和Linux的知识贫乏,所以当时对于模块中的函数定义没有细看。这次在温习《LDD3》的时候,重新看了一下关于__init、__initdata和__exit、__exitdata的知识,记录如下:对于__init、__initdata和__

2014-06-21 00:02:37 428

原创 结构体初始化

结构#includestruct stu { int num; char *name; int age;};static struct stu stu1 ={ .num = 1001, .age = 18, };int main(){ printf("sizeof(stu1)

2014-06-18 16:37:09 1077

原创 输入子系统代码

参考韦东山老师的代码:

2014-06-18 04:10:09 563

转载 关于EXPORT_SYMBOL

linux2.6的“/proc/kallsyms”文件对应着内核符号表,记录了符号以及符号所在的内存地址。模块可以使用如下宏导出符号到内核符号表:[c-sharp] view plaincopyEXPORT_SYMBOL(符号名);  EXPORT_SYMBOL_GPL(符号名)  导出的符号可以被其他模块使用,不

2014-06-16 17:44:56 433

转载 linux内核input子系统解析

作者:刘洪涛,华清远见嵌入式学院讲师。       Android、X windows、qt等众多应用对于linux系统中键盘、鼠标、触摸屏等输入设备的支持都通过、或越来越倾向于标准的input输入子系统。    因为input子系统已经完成了字符驱动的文件操作接口,所以编写驱动的核心工作是完成input系统留出的接口,工作量不大。但如果你想更灵活的应用它,就需要好好的分析下input子系

2014-06-16 16:45:13 498

转载 关于list_entry

[cpp] view plaincopy#define list_entry(ptr, type, member) \ ((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member)))         这句话的意思是获取一个结构体中一个成员在这个结构体中的偏移。type *0是为了计算地址

2014-06-15 22:31:05 490

转载 linux 内核分析之list_head

点击打开链接

2014-06-15 20:59:04 458

转载 typeof详解及Linux 中list_head 如何使用

#include #include #include#include#include #include MODULE_LICENSE("Dual BSD/GPL");struct group{ int id; char character; struct list_head member;}; int list_head_init(void)

2014-06-15 20:55:58 1358

原创 定时器去抖动

前面程序按键时出现按下打印几个相同值的情况,这个和ji

2014-06-11 00:45:54 1159

转载 jiffies溢出与时间先后比较 + linux的HZ, Tick, Jiffies

Linux核心几个重要跟时间有关的名词或变数,底下将介绍HZ、tick与jiffies。(1)HZLinux核心每隔固定周期会发出timer interrupt (IRQ 0),HZ是用来定义每一秒有几次timer interrupts。举例来说,HZ为1000,代表每秒有1000次timer interrupts。 HZ可在编译核心时设定,具体查询设定方法可参见上篇文章《linu

2014-06-11 00:22:53 1020

原创 同步互斥阻塞

前面的驱动中断/poll/异步通知

2014-06-10 19:17:10 602

原创 按键驱动深化-异步通知机制

在以前的实验中获得按键值的方法有:

2014-06-06 22:16:20 721

转载 Poll机制分析(转韦东山)

最近看了一下Linux Poll 机制的实现,看了韦老师的分析文档,总结如下:int poll(struct pollfd *fds,nfds_t nfds, int timeout);总的来说,Poll机制会判断fds中的文件是否可读,如果可读则会立即返回,返回的值就是可读fd的数量,如果不可读,那么就进程就会休眠timeout这么长的时间,然后再来判断是否有文件可读,如果有,返

2014-06-06 12:13:28 619

原创 返回值问题及goto问题

hello.c:#includeint printchar(void){ printf("aa\n");}int main(){ int ret=0; ret = printchar(); printf("ret = %d\n", ret); return 0;}cc hello.c.

2014-06-06 01:59:32 1240

原创 中断处理体系结构

在裸板程序int中,中断程序为

2014-06-04 18:14:15 982

转载 linux内核结构体初始化时出现的.owner = THIS_MODULE

.owner = THIS_MODULE为什么加“点”的原因多次看书、编程时又看到了对结构体这种定义的方法,如: struct file_operations scull_fops = { .owner = THIS_MODULE, .llseek = scull_llseek, .read = scull_read, .write = scull_write, .

2014-06-04 17:06:11 1037 1

原创 百度云

最近用百度云,上传书籍,书籍百度服务器有

2014-06-04 00:35:34 880

原创 异常处理体系结构

在裸板程序中,中断的head.S如下:

2014-06-03 22:47:57 717

原创 字符设备程序实列二-查询按键值,按键按下相应的LED灯亮,按键松开相应的LED灯灭

按照实例一,实现了从应用程序空间向内核空间传递

2014-06-02 21:51:44 2942

原创 字符设备程序实列一

1用户空间无传值给内核空间2用户空间有c

2014-06-01 15:27:25 887

原创 嵌入式应用/驱动开发网络环境设置-使用NFS网络文件系统挂载根文件系统

本文使用的是主机的有线网卡,使得windows,vmvare上的ubuntu,开发板三者使用桥接互联,需要三者处于同一网段比如: windows为固定IP 192.168.1.5  ubuntu为固定IP 192.168.1.10  开发板为固定IP 192.168.1.171.配置windows为固定IP 192.168.1.52.vmvare

2014-05-31 08:36:08 678

转载 source insight支持.S的汇编文件和禁止for if等下一行缩进

用source insight看blob以及内核中的代码,发现即使全局搜索,也找不到定义中后缀为.S的函数,而明明在*.S中用汇编定义了该函数的。去网上查了一下,发现原因是*.S文件并没有添加到改工程中来。为了用source insight能搜索到.S的汇编文件,必须把该文件添加进来。方法:1、在创建工程前先特别设置好source insight 。设置如下:Opt

2014-05-30 22:42:32 966

原创 JZ2440开发板-TFT LCD实验

本实验CPU:s3c2440

2014-05-29 23:35:00 3978

原创 RGB码显示颜色->RGB颜色查询对照表

由RGB码显示颜色网址http://rgb.phpddt.com/

2014-05-29 20:53:30 1475

原创 chrome插件使用

地址栏输入:chrome://plugins/即点击点击打开链接,

2014-05-28 07:24:14 497

原创 可变函数定义及使用

关键词:

2014-05-27 16:50:52 555

原创 ubuntu设置

1.ll命令设置

2014-05-27 16:05:38 494

原创 vmware-tools安装

虚拟机:ubuntu9.101.

2014-05-27 06:48:52 368

原创 bl跳转指令使用错误导致编译出现错误--relocation truncated to fit: R_ARM_PC24 init_irq

bl 跳转指令只能在+/- 32MB内跳转:

2014-04-29 18:49:21 2641

原创 指针函数用法,参考u-boot1.1.6

function_pointer.ccc function_pointer.c

2014-04-29 18:17:28 567

原创 led.S:12: Error: invalid constant -- `mov r0,#300000'

led.S:12: Error: invalid constant -- `mov r0,#300000'3000

2014-04-18 10:44:18 538

转载 UltraEdit在打开一个文件的时候,有时候可能会提示:希望转换什么什么文件到DOS格式吗?

ultraedit[UE]在编辑文本文件时,总是提示是否转换为DOS格式那么,到底为什么会出现这个提示的呢?网上搜索到一些答案 :文件格式区别我们先看看这三个家伙有啥区别。很久以前,人们用老式的电传打字机作为输入设备,它使用两个字符来另起新行。一个字符把滑动架移回首位 (称为回车,),另一个字符把纸上移一行(称为换行,)。   当计算机问世后,由于存储器曾经

2014-04-15 13:55:52 1077

原创 SourceInsight3.5打开工程提示不能写,然后SI退出

新装的系统,结果不能重新打开工程,可以不断的new工程,但只要关闭,就没办法打开,提示“内存不能被written”的错误在网上看了很多攻略,有的说跟.net frame有关,有的说跟注册表有关,有的说是系统问题,有的说跟内存条硬件有关,都做了,没用后来想,是不是中文路径的问题,原来我们在new工程的时候默认选的的我的文档下面的sourceinsight的目录,里面有中文然后

2014-04-13 19:41:44 1299

转载 嵌入式系统上memcpy的性能优化

http://blog.sina.com.cn/s/blog_7062b7420101lmq5.html

2014-04-11 18:48:11 1158

原创 虚拟机下的ubuntu dhcp自动连网(NAT)

ubuntu连网:1.虚拟机设置为:自定义NAT方式(VMnet8)2.ubuntu选择dhcp自动获得IP:   1)sudo /etc/network/interfaces   #开机自动激活eth0接口 auto eth3 #配置eth0接口为DHCP自动获取 iface eth3 inet dhcp2)重启网络服务:sudo /etc/init.d/netw

2014-04-09 21:50:42 772

空空如也

空空如也

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

TA关注的人

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