随笔分类 - C语言
摘要:/** * 自动分配存放秘钥对象 * */ TEE_Result lge_utils_generate_keypair(TEE_ObjectHandle * rsa_key_obj) { TEE_Result ret; ret = TEE_AllocateTransientObject(TEE_TY
阅读全文
摘要:本人Linux 嵌入式开发3年 ,面试半导体TOP 10 某厂, 4次面试 ,最终拿到offer . 现将 问题总结 ,供后人参考。 1:进程的地址空间分布 ,Linux系统调用应用程序的过程 ,几大数据段? 2:i2c spi 的 驱动模型 , 如何匹配,如何probe,如何设计中断处理函数 ,上
阅读全文
摘要:理解工作队列 ,理解工作 调度的两种方式: 1: 单独调度 work_struct API: schedule_work() 2: 调度执行一个workqueue_struct 里面的某个任务。 API: queue_work() demo 如下: schedule_work 1 #include
阅读全文
摘要:在看 内核代码的时候 发现 tasklet 的 api ,想着如何去使用它。 首先是 tasklet_disable 和 tasklet_kill 的 区别 测试demo 如下: #include <linux/kernel.h> #include <linux/module.h> #include
阅读全文
摘要:#include <linux/of.h> #include <linux/device.h> #include <linux/platform_device.h> #include <linux/err.h> #include <linux/errno.h> #include <linux/lis
阅读全文
摘要:/ { wanghb { gpio = <129>; gpios = <129 130 131>; args = "wanghbargs"; compatible = "wanghbcompatible"; child1@0x1000012{ args = "child1"; gpios = <12
阅读全文
摘要:最近公司想进行一个终端产品的研发工作,涉及到智能设备的地理定位,采用的GPRS模块是由深圳市有方科技有限公司生产的。 该地理定位用到了该模块的GNNS功能。该功能的说明手册为Quectel_EC20_GNSS_AT_Commands_Manual_V1.1.pdf。 经过研究该文档得出使用该功能的如
阅读全文
摘要:使用了 setsockopt函数,本例仅使用了读操作超时,若是想使用写操作超时使用SO_SNDTIMEO选项。读操作超时使用SO_RCVTIMEO.
阅读全文
摘要:1 #include"apue.h" 2 typedef void Sigfunc(int); 3 //void (*signal(int signo,void (*func)(int)))(int); 4 static void connect_alarm(int); 5 int connect_timeout(int sockfd,(SA*)pserveraddr,socklen_...
阅读全文
摘要:如果服务器没有及时的返回我们想要的内容,默认情况下recvfrom会永远阻塞的,直到服务器返回数据,这是对客户端是及其不友好的,所以必须加一个时间超时,如果在规定的时间内还是接收不到服务器传回来的数据,那么就停止阻塞。这是用信号实现的。 我设置了5秒的信号超时,如果在5秒前接收到了信息,那么就关闭这
阅读全文
摘要:1 #include "apue.h" 2 3 int main(int argc, char *argv[]) 4 { 5 int i,maxi,maxfd,listenfd,connfd,sockfd; 6 int nready,client[FD_SETSIZE]; 7 ssize_t n; 8 fd_set rset,allset; 9...
阅读全文
摘要:这个服务器版本提供了accept返回EINTR错误继续执行的机制,保证了稳定性,而且其创建的子进程服务进程也会被正常的回收掉。 子进程结束会给父进程返回一个SIGCHID信号,父进程捕获到这个信号之后会执行信号处理函数,进行子进程的回收。
阅读全文
摘要:函数原型: 第二个参数规定了内核应该为相应套接字排队的最大连接个数, 为了理解其中的backlog 参数,我们必须认识到内核为任何一个给定的监听套接字维护着两个队列! (1):未完成连接队列。每个这样的syn分节对应其中一项:已由某个客户发出到达服务器,而服务器正在等待完成相应的TCP三鹿握手的过程
阅读全文
摘要:编程时候需要用到struct timer_list 结构体。
阅读全文
摘要:http://note.youdao.com/noteshare?id=9d427c06f6d1fc7731b63bdec1c35320 笔记都在有道云上面了。
阅读全文
摘要:http://note.youdao.com/noteshare?id=b1dcc228aa1b8679cd60581b573a609a&sub=4F48F09433BF47019EC7F0F400AAA579 放在有道云上面了。
阅读全文
摘要:摘自http://www.cnblogs.com/diegodu/p/4552490.html 仅仅是学习收藏。 内存管理模块是操作系统的心脏;它对应用程序和系统管理非常重要。今后的几篇文章中,我将着眼于实际的内存问题,但也不避讳其中的技术内幕。由于不少概念是通用的,所以文中大部分例子取自32位x8
阅读全文
摘要:FIONREAD,就是返回缓冲区有多少字节。输入有个输入缓冲区,用int nread;ioctl(0,FIONREAD,&nread);能得到缓冲区里面有多少字节要被读取。值放在 nread里面了。然后就可以 read 了。nread = read(0,buffer,nread); MSG_PEEK
阅读全文
摘要:1:UDP可以发送字节为0的数据报,但是TCP不可以!UDP的recvfrom可以接受长度为0的数据包,这是一个只包含IP首部和一个8字节UDP首部的没有数据的IP数据报! 2:TCP read返回0时候表示对端已经关闭连接。 3:recvfrom和sendto也可以用于TCP,但是没有理由这样做!
阅读全文

浙公网安备 33010602011771号