- 博客(8)
- 资源 (1)
- 收藏
- 关注
原创 linux driver-并发问题的研究
1.解决乱序的问题:通过barrier()编译屏蔽进行。2.读写屏障:mb() ; rmb() ; wmb();以及作用于寄存器的__iormb(); __iowmb() ;读写寄存器readl_relaxed()和readl()的区别,主要在于有没有屏障。---------------------------中断屏蔽:--使用方式local_irq_diable() xxxx...
2018-09-22 15:02:48 167
原创 字符驱动的API总结
由设备号获取主次设备号:MAJOR(dev_t dev)MINOR(dev_t dev)字符驱动的常用的API:void cdev_init(struct cdev *, struct file_operations *)struct cdev * cdev_alloc(void)void cdev_put(struct cdev *p)int cdev_add(str...
2018-09-22 14:06:38 129
原创 驱动--小知识点
可以通过unsigned int iminor(struct inode *inode);unsigned int imajor (struct inode * inode);从inode结构中获取主次设备号。并且可以在/proc/device下面显示列举一下常规的位置:/sys/module和/proc/module :查看相应的模块信息/proc/kallsyms :查看内核的...
2018-09-22 13:47:25 161
原创 Kconfig的简易教程
1.大多数的配置文件形式:config DEVPORT ---配置选项532 bool "/dev/port character device" ---配置的指定类型533 depends on ISA || PCI ----配置的依赖关系534 default y ---配置的默认属性535 help ----配置的帮助...
2018-09-22 12:30:51 981
原创 Makefile简易教程
obj-$(CONFIG_TTYPRINK) += ttyprink.o这里的CONFIG_TTYPRINK就是前面的Kconfig的配置文件中定义的信息。在Makefile中,除obj-以外,还有lib-形式生成lib库,及hostprogs-生成主机程序。2.针对多文件的模块:obj-$(xxxx) += exit.oexit-y += xxx.o xxx.o xxx.o...
2018-09-22 11:55:44 130
原创 Linux driver--知识点总结
1.内核的大部分配置文件都在arch/arm/configs/xxx_defconfig:默认配置文件的位置。2.配置内核的方式make ARCH=arm XXX_defconfig3.编译内核的方式:make ARCH=arm zImage,其中如果ARCH这个环境变量已经导出过,可以不用再次设置。4.编译模块的方式:make ARCH=arm modules5.编译好的内核,...
2018-09-22 11:43:30 232
转载 shell基础
shift 参数向左移一位shift + 数字,参数一次向左移N位编程的时候可以用来判断后面还有几个参数当shift后值为空的时候,返回错误使用read来把输入值分配给一个或多个shell变量read 从标准输入中读取值,给每个单词分配一个变量所有剩余单词都被分配给最后一个变量 bash如何展开命令行按以下优先级顺序把命令行分成单个命令词展开别名展开...
2018-08-22 13:10:35 114 1
转载 linux--网络
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结果为Active Internet connections (w/o servers)Proto Recv-Q Send-Q Local ...
2018-06-28 15:52:21 135
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人