<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[tinyhare的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/tinyhare</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; tinyhare]]></copyright><item><title><![CDATA[broadcom corporation BCM4313 linux驱动下载地址]]></title><link>https://blog.youkuaiyun.com/tinyhare/article/details/9246699</link><guid>https://blog.youkuaiyun.com/tinyhare/article/details/9246699</guid><author>tinyhare</author><pubDate>Thu, 04 Jul 2013 21:08:03 +0800</pubDate><description><![CDATA[http://www.broadcom.com/support/802.11/linux_sta.php]]></description><category></category></item><item><title><![CDATA[linux 多线程信号总结]]></title><link>https://blog.youkuaiyun.com/tinyhare/article/details/8488857</link><guid>https://blog.youkuaiyun.com/tinyhare/article/details/8488857</guid><author>tinyhare</author><pubDate>Thu, 10 Jan 2013 11:05:16 +0800</pubDate><description><![CDATA[linux
 多线程信号总结（一）
1. 在多线程环境下，产生的信号是传递给整个进程的，一般而言，所有线程都有机会收到这个信号，进程在收到信号的的线程上下文执行信号处理函数，具体是哪个线程执行的难以获知。

　　2 signal函数BSD/Linux的实现并不在信号处理函数调用时，恢复信号的处理为默认，而是在信号处理时阻塞此信号，直到信号处理函数返回。其他实现可能在调用信号处理函数时，恢复]]></description><category></category></item><item><title><![CDATA[程序调试信息的输出__FILE__,__LINE__，不定参数的宏定义]]></title><link>https://blog.youkuaiyun.com/tinyhare/article/details/8484103</link><guid>https://blog.youkuaiyun.com/tinyhare/article/details/8484103</guid><author>tinyhare</author><pubDate>Wed, 09 Jan 2013 09:39:38 +0800</pubDate><description><![CDATA[前言：
我们在写程序的时候，总是或多或少会加入一些printf之类的语句用于输出调试信息，但是printf语句有个很不方便的地方就是当我们需要发布程序的时候要一条一条的把这些语句删除，而一旦需要再次调试的时候，这些语句又不得不一条条的加上，这给我们带来了很大的不便，浪费了我们很多的时间，也造成了调试的效率低下。所以，很多人会选择使用宏定义的方式来输出调试语句。
比如，定义一个宏开关：
#de]]></description><category></category></item><item><title><![CDATA[Linux 下定时器的实现方式分析]]></title><link>https://blog.youkuaiyun.com/tinyhare/article/details/8476859</link><guid>https://blog.youkuaiyun.com/tinyhare/article/details/8476859</guid><author>tinyhare</author><pubDate>Mon, 07 Jan 2013 14:34:34 +0800</pubDate><description><![CDATA[概论
定时器属于基本的基础组件，不管是用户空间的程序开发，还是内核空间的程序开发，很多时候都需要有定时器作为基础组件的支持，但使用场景的不同，对定时器的实现考虑也不尽相同，本文讨论了在 Linux 环境下，应用层和内核层的定时器的各种实现方法，并分析了各种实现方法的利弊以及适宜的使用环境。
首先，给出一个基本模型，定时器的实现，需要具备以下几个行为，这也是在后面评判各种定时器实现的一个基本模型]]></description><category></category></item><item><title><![CDATA[Linux 用户下定时器的实现]]></title><link>https://blog.youkuaiyun.com/tinyhare/article/details/8476796</link><guid>https://blog.youkuaiyun.com/tinyhare/article/details/8476796</guid><author>tinyhare</author><pubDate>Mon, 07 Jan 2013 14:23:54 +0800</pubDate><description><![CDATA[注：原文头文件缺失，有时间再添加
Linux下的定时器有两种，以下分别介绍： 

1、alarm 

如果不要求很精确的话，用alarm()和signal()就够了 

unsigned int alarm(unsigned int seconds) 

函数说明: alarm()用来设置信号SIGALRM在经过参数seconds指定的秒数后传送给目前的进程。如果参数second]]></description><category></category></item><item><title><![CDATA[Linux - find命令查找文件或者文件夹]]></title><link>https://blog.youkuaiyun.com/tinyhare/article/details/8290559</link><guid>https://blog.youkuaiyun.com/tinyhare/article/details/8290559</guid><author>tinyhare</author><pubDate>Thu, 13 Dec 2012 14:16:31 +0800</pubDate><description><![CDATA[首先是find的语法：
find [起始目录] 寻找条件 操作
还有种表述方式：find PATH OPTION [-exec COMMAND { } \;]
因为find命令会根据我们给的option,也就是寻找条件从我们给出的目录开始对其中文件及其下子目录中的文件进行递归搜索，所以我觉的这个地方说是“起始目录”是非常好的。
该命令中的寻找条件可以是一个用逻辑运算符 not、and、or]]></description><category></category></item><item><title><![CDATA[ioctl 函数]]></title><link>https://blog.youkuaiyun.com/tinyhare/article/details/8274595</link><guid>https://blog.youkuaiyun.com/tinyhare/article/details/8274595</guid><author>tinyhare</author><pubDate>Sun, 09 Dec 2012 11:28:28 +0800</pubDate><description><![CDATA[本函数影响由fd 参数引用的一个打开的文件。
 
#include
int ioctl( int fd, int request, .../* void *arg */ );
返回0 ：成功    -1 ：出错
 
第三个参数总是一个指针，但指针的类型依赖于request 参数。
我们可以把和网络相关的请求划分为6 类：
套接口操作
文件操作
接口操作
ARP 高速缓存操作]]></description><category></category></item><item><title><![CDATA[我的Android手机应用]]></title><link>https://blog.youkuaiyun.com/tinyhare/article/details/8259947</link><guid>https://blog.youkuaiyun.com/tinyhare/article/details/8259947</guid><author>tinyhare</author><pubDate>Wed, 05 Dec 2012 14:57:20 +0800</pubDate><description><![CDATA[遇到的或正在用的手机应用程序
1.NTFS格式挂载Paragon NTFS&HFS+V1.9，SD卡挂卸工具
2.USB OTG线
USB线一头四线，一头五线还在奇怪多出来的一个干嘛用的吗？你猜对了，用于告诉支持OTG的设备配置成主设备还是从设备，如下图的ID线，制作连线时接地，则连接这头的手机就配置成主设备了，另外一头可插U盘、鼠标、键盘了。如果是普通的USB线，ID是悬空的，手机就配置成]]></description><category></category></item><item><title><![CDATA[linux下查看磁盘空间]]></title><link>https://blog.youkuaiyun.com/tinyhare/article/details/8254780</link><guid>https://blog.youkuaiyun.com/tinyhare/article/details/8254780</guid><author>tinyhare</author><pubDate>Tue, 04 Dec 2012 10:48:07 +0800</pubDate><description><![CDATA[如果要查看磁盘还剩多少空间，当然是用df的命令了。
[root@localhost ~]# df -h 
文件系统              容量 已用 可用 已用% 挂载点 
/dev/sda2              14G   11G 2.6G 82% / 
/dev/sda1              99M   14M   81M 14% /boot 
tmpfs]]></description><category></category></item><item><title><![CDATA[linux下获得时间差，精确到微秒级别]]></title><link>https://blog.youkuaiyun.com/tinyhare/article/details/8208716</link><guid>https://blog.youkuaiyun.com/tinyhare/article/details/8208716</guid><author>tinyhare</author><pubDate>Wed, 21 Nov 2012 16:35:51 +0800</pubDate><description><![CDATA[最近需要测算软件计算FFT所需要的时间，所收集参考的资料：


#include      
  #include                                                    /*   包含标准库头文件   */  

  #include      
    
  int   main(int   argc,   char   **arg]]></description><category></category></item><item><title><![CDATA[linux下wireshark不用sudo权限抓包包]]></title><link>https://blog.youkuaiyun.com/tinyhare/article/details/8187980</link><guid>https://blog.youkuaiyun.com/tinyhare/article/details/8187980</guid><author>tinyhare</author><pubDate>Thu, 15 Nov 2012 17:46:48 +0800</pubDate><description><![CDATA[ubuntu安装了wireshark，发现打不开网络接口，后来从网上得知要用sudo从命令行执行，确实可以，但是执行过程中一直要开一个命令行窗口，不爽，想直接用单击图标的方法运行之，在网上查询找到以下两个方法，首先使用的是方法1，未成功，又使用了方法2，仍未成功，突然想到是不是要重启呢？重启后，一切ok！
我也就不知道是哪个方法起的作用了，也许都有效。记得重启哦，亲！
 
1.这个主要涉及到]]></description><category></category></item><item><title><![CDATA[Linux动态连接原理]]></title><link>https://blog.youkuaiyun.com/tinyhare/article/details/8170672</link><guid>https://blog.youkuaiyun.com/tinyhare/article/details/8170672</guid><author>tinyhare</author><pubDate>Sun, 11 Nov 2012 10:27:58 +0800</pubDate><description><![CDATA[Linux动态连接原理
注意：
以下所用的连接器是指，ld，
而加载器是指ld-linux.so;
1，  GOT表；
GOT（Global Offset Table）表中每一项都是本运行模块要引用的一个全局变量或函数的地址。可以用GOT表来间接引用全局变量、函数，也可以把GOT表的首地址作为一个基 准，用相对于该基准的偏移量来引用静态变量、静态函数。由于加载器不会把运行模块加载到固定地]]></description><category></category></item><item><title><![CDATA[一些GDB的使用方法]]></title><link>https://blog.youkuaiyun.com/tinyhare/article/details/8170373</link><guid>https://blog.youkuaiyun.com/tinyhare/article/details/8170373</guid><author>tinyhare</author><pubDate>Sat, 10 Nov 2012 23:33:18 +0800</pubDate><description><![CDATA[1、首先需要用gcc(g++) 对源文件进行编译生成可执行文件，并且在编译时加上选项-g，把调试信息加到目标文件中。
2、假设生成的可执行文件为test，那么gdb test 可以用gdb打开test文件，然后通过break linenum设置断点。可以输入list查看源文件和行号，方便设置断点。断点设置好后就可以run命令运行到断点处了。


下面是转载


一、初始化
输入gd]]></description><category></category></item><item><title><![CDATA[getsockopt/setsockopt函数说明(二）]]></title><link>https://blog.youkuaiyun.com/tinyhare/article/details/8138213</link><guid>https://blog.youkuaiyun.com/tinyhare/article/details/8138213</guid><author>tinyhare</author><pubDate>Thu, 01 Nov 2012 19:23:39 +0800</pubDate><description><![CDATA[SO_LINGER的这种操作模式是由linger结构来控制的：
struct linger {
int l_onoff;
int l_linger;
};
成员l_onoff为一个布尔值，非零值表示TRUE，而零则表示FALSE。这个选项的三个值描述如下：

1 设置l_onoff为FALSE使得成员l_linger被忽略，而使用默认的close行为。也就是说，close调用会立即返]]></description><category></category></item><item><title><![CDATA[getsockopt/setsockopt函数说明(一）]]></title><link>https://blog.youkuaiyun.com/tinyhare/article/details/8137484</link><guid>https://blog.youkuaiyun.com/tinyhare/article/details/8137484</guid><author>tinyhare</author><pubDate>Thu, 01 Nov 2012 16:43:27 +0800</pubDate><description><![CDATA[功能描述： 
获取或者设置与某个套接字关联的选项。选项可能存在于多层协议中，它们总会出现在最上面的套接字层。当操作套接字选项时，选项位于的层和选项的名称必须给出。为了操作套接字层的选项，应该将层的值指定为SOL_SOCKET。为了操作其它层的选项，控制选项的合适协议号必须给出。例如，为了表示一个选项由TCP协议解析，层应该设定为协议号TCP。
用法： 
int getsockopt(int]]></description><category></category></item><item><title><![CDATA[用ioctl获得本地ip地址,ifconf和ifreq]]></title><link>https://blog.youkuaiyun.com/tinyhare/article/details/8124130</link><guid>https://blog.youkuaiyun.com/tinyhare/article/details/8124130</guid><author>tinyhare</author><pubDate>Mon, 29 Oct 2012 14:19:28 +0800</pubDate><description><![CDATA[用ioctl获得本地ip地址时要用到两个结构体ifconf和ifreq，它们对于大多数人
来说都是比较陌生的，这里给大家一种比较简单的理解方法，当然只一种帮助
理解的方法，在描述中可能会有一些地方与真实定义有所出入，仅供参考.
首先先认识一下ifconf和ifreq： 
//ifconf通常是用来保存所有接口信息的 
 //if.h 
 struct ifconf
 {
 	int]]></description><category></category></item><item><title><![CDATA[MSP430与GPRS模块的串口通信硬件流控制]]></title><link>https://blog.youkuaiyun.com/tinyhare/article/details/8123488</link><guid>https://blog.youkuaiyun.com/tinyhare/article/details/8123488</guid><author>tinyhare</author><pubDate>Mon, 29 Oct 2012 11:21:02 +0800</pubDate><description><![CDATA[我选用的GPRS模块是西门子的MC52I，由于降低功耗要用到该模块的休眠模式（AT+CFUN=设置具体的休眠模式）。而休眠模式必须先使能RTS/CTS流控制（AT\Q3设置）。MC52I的RTS和CTS引脚直接连在MSP430F149的I/O口上，具体怎么实现流控制还不太明白，请大家多多指教

经过自己研究终于弄懂是怎么个回事了 
现在发出来，有不对的地方望大家指正 
    MC52I可]]></description><category></category></item><item><title><![CDATA[一个失误，编译器报错﻿﻿Error: invalid char '[' beginning operand 2 `[ %eax]']]></title><link>https://blog.youkuaiyun.com/tinyhare/article/details/8121895</link><guid>https://blog.youkuaiyun.com/tinyhare/article/details/8121895</guid><author>tinyhare</author><pubDate>Sun, 28 Oct 2012 20:51:19 +0800</pubDate><description><![CDATA[因为一个疏忽导致找bug几小时，上网搜寻不得，现写于此，愿向我一样被这一小概率事件折磨的人早点解脱。。。
gprs.c: Assembler messages:
gprs.c:329: Error: invalid char '[' beginning operand 2 `[ %eax]'
gprs.c:329: Error: invalid char '[' beginning oper]]></description><category></category></item><item><title><![CDATA[GPRS模块在Linux平台上ppp拨号上网总结与心得]]></title><link>https://blog.youkuaiyun.com/tinyhare/article/details/8121553</link><guid>https://blog.youkuaiyun.com/tinyhare/article/details/8121553</guid><author>tinyhare</author><pubDate>Sun, 28 Oct 2012 18:16:29 +0800</pubDate><description><![CDATA[由于一个嵌入式平台上项目开发的需要,在arm平台上实施ppp拨号上网。说起这个linux平台的ppp拨号上网，也许很多人觉很简单，网上
的成功的例子很多！不错，你说的对，但是我还要给点我的看法，就是这个简单的ppp拨号折腾了我的时间之长，我都不好意思讲。但是，现在看来这个过程学到
了好多的东西，得到很多分析能力的锻炼。现在成功移植到arm开发板上。特写日志于此，分享我的这段时间以来的总结：]]></description><category></category></item><item><title><![CDATA[LINUX下查找文件的方法]]></title><link>https://blog.youkuaiyun.com/tinyhare/article/details/8067180</link><guid>https://blog.youkuaiyun.com/tinyhare/article/details/8067180</guid><author>tinyhare</author><pubDate>Sat, 13 Oct 2012 13:15:43 +0800</pubDate><description><![CDATA[find
find是一个非常有效的工具，它可以遍历当前目录甚至于整个文件系统来查找某些文件或目录.
主要选项: 
-name 按照文件名查找文件 
-perm 按照文件权限来查找文件 
-prune 不在当前指定的目录中查找 
-user 按照文件属主来查找文件 
-group 按照文件所属的组来查找文件 
-mtime -n +n 按照文件的更改时间来查找文件，-n表示文件更改时]]></description><category></category></item></channel></rss>