现在位置: 首页 > 操作系统 > 文章
2018年08月26日 操作系统 ⁄ 共 1628字 评论关闭
文章转自:http://blog.chinaunix.net/space.php?uid=25014876&do=blog&id=59420 根据学习时的笔记(李杨老师授课)、《linux内核设计与实现》第三版、《linux设备驱动程序》第三版和《linux设备驱动开发详解》第一版来归纳的 除了第一章外,其他的代码都是通过交叉编译后在ARM9上运行,我使用的内核版本是我学习时候使用的2.6.29内核。 以下的文章若有侵权,请马上与我联系,我一定立即删除。 ·linux设备驱动归纳...
阅读全文
2018年08月25日 操作系统 ⁄ 共 16404字 评论关闭
实例解析linux内核I2C体系结构 作者:刘洪涛,华清远见嵌入式学院讲师。 一、概述 谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。下面比较下这两种驱动。 第一种方法的好处(对应第二种方法的劣势)有:         ●    思路比较直接,不需要花时间去了解linux内核中复杂的I2C子系统的操作方法。 第一种方法问题(对应第二种方法的...
阅读全文
2018年08月25日 操作系统 ⁄ 共 2722字 评论关闭
绝对菜鸟在ubuntu下编译了arm的c程序 1、  直接gcc  -o hciwr hciwr.c 执行程序报如下错误: /system # ./hciwr ./hciwr: line 1: syntax error: unexpected "(" 编译器的问题,可能gcc应该是x86的   2、所以用arm的gcc编译: arm-linux-gcc-4.5.1 -o hciwr hciwr.c 3、执行2步得到的hciwr执行程序 # cp hciwr  bin/ /system # hciwr sh: hciwr: not found 应该是缺少库文件,在ubuntu下执行: arm-linux-readelf  -a h...
阅读全文
2018年08月25日 操作系统 ⁄ 共 712字 评论关闭
linux正在进步   作为还算没有入门的小子,今天学习了shell、linux编译、fork函数 1)shell 一个命令解释器; 是操作系统的外壳; 是用户与linux内核之间的接口程序;   shell命令分为shell内部命令(如cd) 和外部命令(指单独的实体程序,如rm,cp) shell的命令后跟有选项和参数,选项前有一个减号,以示区别。   shell本身也是一个解释型的程序设计语言 普通用户提示符:$,超级用户(ROOT)提示符:# shell种类很多:bourne sh...
阅读全文
2018年08月25日 操作系统 ⁄ 共 913字 评论关闭
一. 常用编译命令选项   假设源程序文件名为test.c。   1. 无选项编译链接   用法:#gcc test.c   作用:将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out。   2. 选项 -o   用法:#gcc test.c -o test   作用:将test.c预处理、汇编、编译并链接形成可执行文件test。-o选项用来指定输出文件的文件名。   3. 选项 -E   用法:#gcc -E test.c -o test.i   作用:将te...
阅读全文
2018年08月25日 操作系统 ⁄ 共 5143字 评论关闭
# define __user  __attribute__((noderef, address_space(1))) __user这个特性,即__attribute__((noderef, address_space(1))),是用来修饰一个变量的,这个变量必须是非解除参考(no dereference)的,即这个变量地址必须是有效的,而且变量所在的地址空间必须是1,即用户程序空间的。 这里把程序空间分成了3个部分,0表示normal space,即普通地址空间,对内核代码来说,当然就是内核空间地址了。1表示用户地址空间,这个...
阅读全文
2018年08月25日 操作系统 ⁄ 共 3604字 评论关闭
当进程以阻塞的方式通信,在得到结果前进程会挂起休眠。 为了将进程以一种安全的方式进入休眠,我们需要牢记两条规则: 一、永远不要在原子上下文中进入休眠。 二、进程休眠后,对环境一无所知。唤醒后,必须再次检查以确保我们等待的条件真正为真 简单休眠 完成唤醒任务的代码还必须能够找到我们的进程,这样才能唤醒休眠的进程。需要维护一个称为等待队列的数据结构。等待队列就是一个进程链表,其中包含了等待某个特定事件...
阅读全文
2018年08月24日 操作系统 ⁄ 共 2063字 评论关闭
当你在用户空间需要读写一大片数据的时候,这个就用上了。 以下来自:http://www.yuanma.org/data/2006/1207/article_1916.htm 假设我们在 kernel 里产生一个 buffer,user 可以经由 read,write 等 system call 来读取或写资料到这个 buffer 里。如果有一个 user 写资料到 buffer 时,此时 buffer 已经满了。那请问你要如何去处理这种情形呢 ? 第一种,传给 user 一个错误讯息,说 buffer 已经满了,不能再写入。第二种,...
阅读全文
2018年08月16日 操作系统 ⁄ 共 57字 评论关闭
全部删除:按esc后,然后dG 全部复制:按esc后,然后ggyG 全选高亮显示:按esc后,然后ggvG或者ggVG
阅读全文
2018年08月15日 操作系统 ⁄ 共 264字 评论关闭
1.在主机的vm1网下设置ip、掩码和网关。 eg:192.168.2.23  255.255.255.0  192.168.2.1 2.虚拟机中设置连接方式为host-only 3.netconfig配置ip与vm1为同一网段,网管为vm1的ip。 eg:192.168.2.24  255.255.255.0  192.168.2.23 4.service vsftpd start 5.关闭防火墙service iptables stop 6.ifup eth0                                               
阅读全文