Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6478909
  • 博文数量: 579
  • 博客积分: 1548
  • 博客等级: 上尉
  • 技术积分: 16635
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-12 15:29
个人简介

http://www.csdn.net/ http://www.arm.com/zh/ https://www.kernel.org/ http://www.linuxpk.com/ http://www.51develop.net/ http://linux.chinaitlab.com/ http://www.embeddedlinux.org.cn http://bbs.pediy.com/

文章分类

全部博文(579)

文章存档

2018年(18)

2015年(91)

2014年(159)

2013年(231)

2012年(80)

发布时间:2013-01-16 12:06:45

PC操作系统:ubuntu 11.10 使用的开发板:am335x_evm 开发板使用的操作系统:linux 3.2 readelf用来显示ELF格式目标文件的信息.可通过参数选项来控制显示哪些特定信息。(注意: readelf不支持显示archive文档, 也不支持64位的ELF文件)。readelf [-a|--all] [-h|--file-he.........【阅读全文】

阅读(6615) | 评论(0) | 转发(1)

发布时间:2013-01-16 09:19:51

T表示符号位于代码段;D表示符号位于数据段。......【阅读全文】

阅读(3160) | 评论(0) | 转发(1)

发布时间:2013-01-16 09:03:02

PC操作系统:ubuntu 11.10 使用的开发板:am335x_evm 开发板使用的操作系统:linux 3.2 用途显示关于对象文件、可执行文件以及对象文件库里的符号信息。语法nm [ -A ] [ -C ] [ -X {32|64|32_64}] [ -f ] [ -h ] [ -l ] [ -p ] [ -r ] [ -T ] [ -v ] [ -B | -P ] [ -e | -g .........【阅读全文】

阅读(40047) | 评论(0) | 转发(8)

发布时间:2013-01-15 13:27:54

.在电子产品中,IP另一种意思为防水防尘等级 IP(International Protection)防护等级系统是由IEC(International Electro Technical Commission)所起草。将灯具依其防尘、防止外物侵入、防水、防湿气之特性加以分级。这里所指的外物包含工具、人的手指等均不可接触到灯具内之带电部分,以免触电。IP防护等.........【阅读全文】

阅读(2138) | 评论(0) | 转发(1)

发布时间:2013-01-15 09:14:09

PC操作系统:ubuntu?11.10使用的开发板:am335x_evm开发板使用的操作系统:linux?3.2测试用例:#include #include #include #include #include #include #include #incl.........【阅读全文】

阅读(5627) | 评论(0) | 转发(1)

发布时间:2013-01-13 18:55:18

  在32位机器下,默认情况下,文件长度是off_t类型,这个可以从ftrucate的参数,从stat获取的文件属性struct stat中都可以看出文件的长度是用off_t类型表示的,即文件的长度在32位机器下默认是long int类型。        所以,默认情况下,在Linux系统下,fopen和open操作的文件大小不能超过2G。        我们制造了一个异常文件,5G左右,可以使用dd命令来构建,也可以写个脚本来构建。 &n......【阅读全文】

阅读(10420) | 评论(0) | 转发(3)

发布时间:2013-01-13 18:17:23

......【阅读全文】

阅读(2091) | 评论(0) | 转发(3)

发布时间:2013-01-12 11:02:51

GNU C的一大特色(却不被初学者所知)就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。__attribute__书写特征是:__attribute__前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的__attribute__参数。__attribute__语法格式为:__attribute__ ((attribute-list))其位置约束为:放于声明的尾部“;”之前。函数属性(Function Attribute)......【阅读全文】

阅读(1770) | 评论(0) | 转发(1)

发布时间:2013-01-11 16:41:28

EMC(Electromagnetic Compatibility)——电磁兼容,是指设备或系统在电磁环境中性能不降级的状态。电    磁兼容,一方面要求系统内没有严重的干扰源,一方面要求设备 或系统自身有较好的抗电磁干扰性。电    磁兼容是一门新兴的综合性边缘学科,它主要研究电磁波辐射,电磁干扰,雷击,电磁材料等方面。EMI(Electromagnetic Interference)——电磁干扰,是指电子设备自身工作过程中,产生的电磁波,对外    发射,从而对设备其它部分或外部其它设备造成干扰......【阅读全文】

阅读(5383) | 评论(0) | 转发(1)

发布时间:2013-01-11 14:48:13

1,cat :   把两个文件合并成一个文件。2,whereis:   查找源代码,二进制和帮助文件,而不是所有类型的文件,此命令查找的目录是由环境变量 $PATH 指定3,locate:   进行查找,但并不是真正对硬盘上的文件系统进行查找,而是对文件名数据库进行检索,   可以使用通配符4,df:   查看硬盘被占用了多少空间和剩余多少空间5,last:   查看曾经登陆到此系统的用户清单6,less:   查看文件内容,并且在查看的过程中可以使用光标......【阅读全文】

阅读(1472) | 评论(0) | 转发(1)

发布时间:2013-01-10 13:57:07

在系统调用的所有处理函数中都包括了 asmlinkage 限定符,这不是 C 语言语法的标准成分。asmlinkage 是一个汇编语言宏,定义在 <include/linux/linkage.h> 中。其用途:asmlinkage标识该函数从汇编代码内被调用。对于大多数平台来说,它根本什么都不做!但该宏连同 GCC 增强特性(__attribute__)一同在 IA-32 和 IA-64 系统上使用时,只是为了统治编译器该函数的特别的调用规范(即该函数从汇编代码内被调用)。......【阅读全文】

阅读(2113) | 评论(0) | 转发(0)

发布时间:2013-01-09 14:42:59

MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0Slab将缓存分为两种:一种是专用高速缓存,另外一种是普通高速缓存。请注意,这里所说的高速缓存和硬件没有必然的关系,它只是slab分配器中的一个软件概念。专用高速缓存中用来存放内核使用的数据结构,例如:mm,skb,vm等等普通高速缓存是指存放一般的数据,比如内核为指针分配一段内存所有的高速缓存区都通过链表的方式组织在一起,它的首结点是cache_chain另外,普通高速缓存将分配区分为32*(2^0),32*(2^1),32*(2^2) ….32*(2^12)大小,共......【阅读全文】

阅读(3127) | 评论(0) | 转发(2)

发布时间:2013-01-09 11:33:46

最近看tty驱动源码,发现了一个以前老板上课时讲过的一个c语言技巧,不是很理解,上网学习了一下,总结如下:   在linux源码里 struct tty_buffer { struct tty_buffer *next; char *char_buf_ptr; unsigned char *flag_buf_ptr; int used; int size; int commit; int read; /* Data points here */ unsigned long data[0];......【阅读全文】

阅读(1397) | 评论(0) | 转发(0)

发布时间:2013-01-08 14:11:36

Linux内核中提供的一些字符串转换函数: lib/vsprintf.c [html] view plaincopyprint? 1. unsigned long long simple_strtoull(const char *cp, char **endp, unsigned int base)     2. unsigned long simple_strtoul(const&n......【阅读全文】

阅读(2524) | 评论(0) | 转发(1)

发布时间:2013-01-08 11:08:22

测试代码: 点击(此处)折叠或打开#include#include#include#include#include#include#include#includeMODULE_LICENSE("Dual BSD/GPL");MODULE_AUTHOR("S......【阅读全文】

阅读(2285) | 评论(0) | 转发(1)

发布时间:2013-01-07 19:30:25

 英文原文:10 steps to becoming a better programmer   这篇文章要介绍的,是我作为专业程序员这些年来学到的能真正提高我的代码质量和整体工作效率的 10 件事情。   1. 永远不要复制代码   不惜任何代价避免重复的代码。如果一个常用的代码片段出现在了程序中的几个不同地方,重构它,把它放到一个自己的函数里。重复的代码会导致你的 同事在读你的代码时产生困惑。而重复的代码如果在一个地方修改,在另外一个地方忘记修改,就会产生到处是 bug,它还会使你的代码体积变得臃肿。现代的编程语言提供了很好的方法来解决这些问题,例如,下面这个问题在以前很难解决......【阅读全文】

阅读(2838) | 评论(0) | 转发(3)

发布时间:2013-01-07 18:28:07

点击(此处)折叠或打开#include<linux/device.h>#include<linux/module.h>#include<linux/kernel.h>#include<linux/stat.h>#include<linux/init.h>#include<linux/string.h>#include<linux/sysfs.h>#include<linux/kobject.h>MODULE_LICENSE("Dual BSD/GPL");MODULE_AUTHOR("SM");s......【阅读全文】

阅读(1800) | 评论(0) | 转发(1)

发布时间:2013-01-07 16:09:14

文章的例子和实验使用《LDD3》所配的lddbus模块(稍作修改)。 提示:在学习这部分内容是一定要分析所有介绍的源代码,知道他们与上一部分内容(kobject、kset、attribute等等)的关系,最好要分析一个实际的“flatform device”设备,不然会只学到表象,到后面会不知所云的。 总线 总线是处理器和一个或多个设备之间的通道,在设备模型中, 所有的设备都通过总线相连, 甚至是内部的虚拟"platform"总线。总线可以相互插入。设备模型展示了总线和它们所控制的设备之间的实际连接。在 Linux 设备模型中, 总线由 bus_type 结构表示, 定义在 &......【阅读全文】

阅读(2047) | 评论(0) | 转发(1)

发布时间:2013-01-07 10:55:08

在linux-2.6.36内核上加载编译驱动时,出现  error:unknown field 'ioctl' specified in initializer 原因是:在2.6.36内核上file_operations发生了重大的改变: 原先的   int (*ioctl)(struct inode*, struct file*, unsigned int, unsigned long); 被改为了           long (*unlocked_ioctl) (struct file *, un......【阅读全文】

阅读(1994) | 评论(0) | 转发(0)

发布时间:2013-01-06 16:26:30

在 ldd_bus.h 定义如下://LDD driver typestruct ldd_driver{    char    *version;    struct module *module;    struct device_driver driver;    struct driver_attribute    version_attr;};//A device type for things "plugg......【阅读全文】

阅读(2318) | 评论(0) | 转发(2)

发布时间:2013-01-06 15:10:56

1. TI官方资源 TI中文主页 : http://focus.ti.com.cn/cn/tihome/docs/homepage.tsp 或者:http://www.ti.com 从“处理器”连接可以连接到每个芯片的资料主页,比如: http://focus.ti.com.cn/cn/docs/prod/folders/print/omap3530.html 或直接访问www.ti.com.omap3530 可以下载数据手册,应用文档,用户手册,开发工具等 2 开发环境和软件开发包下载 建议大家注册一个myti,方便下载一些软件工具和资料,并可以设定邮箱提醒 http://m......【阅读全文】

阅读(4860) | 评论(0) | 转发(3)

发布时间:2013-01-06 11:45:24

点击(此处)折叠或打开#include <linux/types.h>     //dev_t,MAJOR,MINOR,MKDEV#include <linux/fs.h>        //file_operations,struct file,struct indoe,register/unregister_chrdev,register/alloc/unregister_chrdev_regino,#include <linux/cdev.......【阅读全文】

阅读(4221) | 评论(0) | 转发(2)

发布时间:2013-01-06 10:41:21

这句主要作用是提示编译器,对这个函数的调用需要像printf一样,用对应的format字符串来check可变参数的数据类型。例如:extern int my_printf (void *my_object, const char *my_format, ...)__attribute__ ((format (printf, 2, 3)));format (printf, 2, 3)告诉编译器,my_format相当于printf的format,而可变参数是从my_printf的第3个参数开始。这样编译器就会在编译时用和printf一样的check法则来确认可变参数是否正确了。......【阅读全文】

阅读(2956) | 评论(0) | 转发(1)

发布时间:2013-01-06 09:43:44

PC操作系统:ubuntu 11.10使用的开发板:am335x_evm开发板使用的操作系统:linux 3.2 在新版本的内核中struct device 已经没有bus_id成员,取而代之的是通过dev_name和dev_set_name对设备的名字进行操作。         dev_name和dev_set_name在2.6.35.6内核中的源代码如下:         static inline const char *d......【阅读全文】

阅读(2353) | 评论(0) | 转发(0)

发布时间:2013-01-04 18:49:12

#include<linux/miscdevice.h>建一个miscdevice结构体static struct miscdevice misc = {       .minor = MISC_DYNAMIC_MINOR,       .name = DEVICE_NAME,       .fops = &dev_fops,};在驱动函数初始化中注册这个混杂设备misc_register(&a......【阅读全文】

阅读(2087) | 评论(0) | 转发(1)
给主人留下些什么吧!~~

Dafanzi2016-12-05 18:21

我找到代码了 不用了 谢谢

回复  |  举报

Dafanzi2016-12-05 17:20

大佬,在你这篇讲解内存池的博文(http://blog.chinaunix.net/uid-28458801-id-4254501.html)中,list.h源文件没有提供啊。你能提供这个博文的完整代码我学习学习吗?能的话发给我邮箱可以吗?brottfan@163.com谢谢啦

回复  |  举报
留言热议
请登录后留言。

登录 注册