自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (6)
  • 收藏
  • 关注

原创 linux 设备查看wifi信号强度

watch -n 1 cat /proc/net/wireless

2018-05-25 09:33:21 6233 1

原创 编译乱序和执行乱序

编译乱序和执行乱序理解Linux内核的锁机制, 还需要理解编译器和处理器的特点。 比如下面一段代码, 写端申请一个新的struct foo结构体并初始化其中的a、 b、 c, 之后把结构体地址赋值给全局gp指针:struct foo {int a;int b;int c;};struct foo *gp = NULL;/* . . . */p = kmalloc(sizeof(*p), GFP_K...

2018-04-24 18:47:53 1979

原创 GNU C在ANSI C上扩展了哪些

GNU C与ANSI CLinux上可用的C编译器是GNU C编译器, 它建立在自由软件基金会的编程许可证的基础上, 因此可以自由发布。 GNU C对标准C进行一系列扩展, 以增强标准C的功能。1.零长度和变量长度数组GNU C允许使用零长度数组, 在定义变长对象的头结构时, 这个特性非常有用。 例如:struct var_data {int len;char data[0];};char dat

2018-04-18 14:13:58 379

原创 linux 2.6 总线、设备、驱动模型

在Linux 2.6以后的内核中, 总线、 设备、 驱动三者之间因为一定的联系性而实现对设备的控制。 总线是三者联系起来的基础, 通过一种总线类型, 将设备和驱动联系起来。 总线类型中的match() 函数用来匹配设备和驱动, 当匹配操作完成之后就会执行驱动程序中的probe() 函数。 ...

2018-03-22 10:34:53 225

原创 SVN版本回滚方法

SVN版本回滚方法:下面以版本号2011回滚到2010为例,svn co http://my.repository.com/my/project/trunk(先将SVN需要回退的目录下载到本地)在命令行输入:svn merge --dry-run -r 2011:2010 http://my.repository.com/my/project/trunksvn merge -r 2011:20...

2018-03-09 15:43:18 331

原创 修改配置文件中的某一个字段

sed -i -e 's|ssid=Automatic_AP|ssid=Automatic_AP000|' /data/etc/hostapd_mtk.conf

2017-11-30 11:30:35 897

原创 拷贝指定文件之外的所有文件到指定目录

ls ${S}tonly_etc | grep -v "^dnsmasq.conf" "^hostapd_mtk.conf" | xargs -i cp -rf ${S}tonly_etc/{} ${D}/etc

2017-11-29 15:14:54 729

原创 linux交叉编译工程中,单独编译某个文件的方法

有时候我们只修改了一个文件,想看一下有没有编译问题,但如果全工程的编译的话又很慢,所以这个时候可以单独编译。例如下面时我编译工程中的一个节选:aarch64-poky-linux-g++  -mcpu=cortex-a72.cortex-a53+crypto -mtune=cortex-a72.cortex-a53 -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-n

2017-11-15 15:49:38 2764

原创 在makefile中递归引用变量

makefile中的变量类似于c代码中的变量,用export声明的变量可以在子目录中的makefile中生效,不用export声明的变量,只能在当前文件中生效。例如: 在上级目录中的makefile中定义 TEMPLATECONF = AAA,在子目录中引用时,TEMPLATECONF 的值为空           在上级目录中的makefile中定义 export TEMPLAT

2017-11-14 14:55:43 907

转载 在用户空间编写设备驱动程序的优缺点

转自:Linux设备驱动程序(中文版第三版)一个第一次涉及内核问题的 Unix 程序员, 可能会紧张写一个模块. 编写一个用户程序来直接读写设备端口可能容易些.确实, 有几个论据倾向于用户空间编程, 有时编写一个所谓的用户空间设备驱动对比钻研内核是一个明智的选择. 在本节, 我们讨论几个理由, 为什么你可能在用户空间编写驱动.本书是关于内核空间驱动的, 但是, 所以我们

2017-10-24 15:54:18 520

转载 中断处理 快速参考

转自:Linux设备驱动程序(中文版第三版) 本章中介绍了这些关于中断管理的符号:#include int request_irq(unsigned int irq, irqreturn_t (*handler)( ), unsigned long flags, constchar *dev_name, void *dev_id);void free_irq(unsig

2017-10-20 17:42:36 322

转载 /proc/interrupts 和 /proc/stat 查看中断的情况

转自:http://blog.csdn.net/richardysteven/article/details/6064717在/proc文件系统下,又两个文件提供了中断的信息。 /proc/interrupts 文件中列出当前系统使用的中断的情况,所以某个中断处理没有安装,是不会显示的。哪怕之前安装过,被卸载了。从左到右分别是, irq的序号, 在各自c

2017-10-20 11:38:41 708

转载 字符驱动 快速参考

转自:Linux设备驱动程序(中文版第三版)本章介绍了下面符号和头文件. struct file_operations 和 struct file 中的成员的列表这里不重复了.#include dev_tdev_t 是用来在内核里代表设备号的类型.int MAJOR(dev_t dev);int MINOR(dev_t dev);从设备编号中抽取主次编号的宏

2017-10-19 17:48:48 137

转载 kernel struct file结构中的private_data

转自:http://blog.csdn.net/bush2582/article/details/7731220struct file是字符设备驱动相关重要结构。struct file代表一个打开的文件描述符,它不是专门给驱动程序使用的,系统中每一个打开的文件在内核中都有一个关联的 struct file。 它由内核在 open时创建,并传递给在文件上操作的任何函数,知道最后关闭。

2017-10-19 16:14:59 1922

转载 GATT Profile 简介

转载自:https://race604.com/gatt-profile-intro/GATT Profile 简介                            15 July 2015  on Android, Bluetooth                                        网上关于讲解 BLE 的内容比较少,看到这

2017-10-16 16:53:48 382

转载 Systemd 入门教程:命令篇

转自:http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html

2017-07-20 17:44:37 188

转载 tar分包压缩与合并

转自:http://blog.csdn.net/xiongmc/article/details/17721533目标-(标准)如何将文件打包、压缩并分割成制定大小?日期: August 28 日, Saturday@ 01:37:03主题 Shell 编程和工具 (如何在Linux下实现Windows中winrar和winzip等压缩软件所提供的打包压缩分割功能)将

2017-06-14 16:56:27 602

原创 yocto工程软件包编译依赖关系

最近在搞一个yocto上的编译问题,问题是这样的,我们有两个模块A和B,编译的时候先编译的A模块再编译B模块,B模块的编译依赖A模块的A.so文件,理论上讲,先编译的A模块,那么A模块编译完后生成了A.so,然后B模块去连接A模块的A.so是没有问题的,但是在编译的时候出现了A.so找不到的问题,起始以为自己路径写错了,但看了下,指定的路径里面A.so是存在的,但就是在连接的时候找不到A.so,从

2017-05-20 10:10:11 3176

原创 用systemd管理进程时,修改复位超时等待时间

用systemd管理进程时,系统复位默认等待时间为90s,如果一个进程不能正常结束,则需要倒计时90秒,系统才能复位,立马感到很烦。来先看看这个90S是在哪里定义的吧,不难发现,这个参数是在下面文件中:#  This file is part of systemd.##  systemd is free software; you can redistribute it and/o

2017-05-19 11:46:43 6154 1

原创 systemd 进程服务文件参数解析

1.服务权限systemd有系统和用户区分;系统(/user/lib/systemd/system/)、用户(/etc/lib/systemd/user/).一般系统管理员手工创建的单元文件建议存放在/etc/systemd/system/目录下面。2.创建服务文件[Unit]Description=nginx - high perf

2017-05-17 10:28:53 2557

转载 systemd中文手册

http://www.jinbuguo.com/systemd/systemd.index.html

2017-05-10 19:06:09 1019

转载 git简介

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

2017-05-10 19:04:41 268

转载 linux 里的ldd命令

转载自:http://blog.csdn.net/qq_26819733/article/details/50610129ldd本身不是一个程序,而仅是一个shell脚本:ldd可以列出一个程序所需要得动态链接库(so)我们可以用which命令找到ldd的位置:$ which ldd/usr/bin/ldd在制作自己的发行版时经常需要判断某条命令需要

2017-05-04 16:05:19 1989

原创 gcc 编译relocation相关的一个问题

最近使用MTK的cpu开发板开发一个产品,平台是MTK的sdk,需要把我们自己的app移植上去,mkt自己的sdk里面有一个初始化进程,里面也定义了很多函数,我们的app需要引用里面的一些函数,所以我把sdk里面的这个进程的所有代码直接编译成一个动态库,以便我自己的进程编译的时候连接。编译时使用了-share参数,单编译时报错crtbegin.o: relocation R_ARM_MOVW_

2017-04-21 16:32:33 1460

转载 select函数的用法

转载自:http://blog.csdn.net/piaojun_pj/article/details/5991968/Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必

2017-03-30 15:34:58 253

原创 centos linux环境dbus arm交叉编译

1、安装交叉编译环境, 可参考: http://blog.csdn.net/Kevin_Mr/article/details/508153852、提前准备已经经过交叉编译的expat库,并放到合适的位置,由于涉及信息安全,expat库不能上传3、dbus-1.10.6源码:http://download.csdn.net/detail/huashibuliao/97887614、d

2017-03-27 16:57:53 2802

原创 D-BUS编译

0、D-BUS是干啥的?请百度1、 D-BUS 编译依赖expat, expat干啥的,请百度2、我的环境:centOS6.83、expat版本expat-2.2.0 d-bus版本dbus-1.10.164、expat:http://download.csdn.net/detail/huashibuliao/97887655、d-bus:http://download.csd

2017-03-21 16:54:09 610

转载 linux中yum和apt-get的用法及区别

-------转载自:http://www.2cto.com/os/201306/221649.htmlLinux中yum和apt-get用法及区别 一般来说著名的linux系统基本上分两大类: 1.RedHat系列:Redhat、Centos、Fedora等 2.Debian系列:Debian、Ubuntu等 R

2017-03-21 16:37:04 822

linux高级程序设计

《Linux高级程序设计(第2版)》以Linux操作系统(内核为2.6版本)为开发平台、GCC 4.0/GDB 6.3为开发调试环境,详细介绍了Linux系统下编程环境及编程工具、文件管理(文件类型、ANSI以及POSIX标准下文件读写操作)、进程管理(创建、退出、执行、等待、属性控制)、进程间通信(管道、消息队列、共享内存)、进程间同步机制(信号量)、进程间异步机制(信号)、线程管理(创建、退出、取消等以及属性控制)、线程间同步(互斥锁、读写锁、条件变量)以及网络基本编程、高级应用等内容。, 《Linux高级程序设计(第2版)》内容丰富、紧扣应用,适合从事Linux下C应用编程的人员阅读,也适合从事嵌入式Linux开发的人员阅读。, , 点击链接进入新版: Linux高级程序设计(第3版)

2017-05-18

arm-linux-gcc-4.4.3.tar.gz

centos上安装成功的arm-linux-gcc交叉编译工具

2017-03-27

expat-2.2.0

linux expat

2017-03-21

d-bus-1.10.16.tar.gz

linux d-bus

2017-03-21

IPC_share_memory

进程间通信之共享内存源码 共享内存指在多处理器的计算机系统中,可以被不同中央处理器(CPU)访问的大容量内存。由于多个CPU需要快速访问存储器,这样就要对存储器进行缓存(Cache)。任何一个缓存的数据被更新后,由于其他处理器也可能要存取,共享内存就需要立即更新,否则不同的处理器可能用到不同的数据。共享内存 (shared memory)是 Unix下的多进程之间的通信方法 ,这种方法通常用于一个程序的多进程间通信,实际上多个程序间也可以通过共享内存来传递信息。

2014-06-26

花生壳DDNS源码

DDNS是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。

2014-06-26

空空如也

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

TA关注的人

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