随笔分类 - linux
摘要:升级Https之前的可行性验证 注意:自签证书和Nginx的安装都基于ContOS 6 一、如何申请OpenSSL自签证书 1、安装OpenSSL (一)OpenSSL 工具下载 下载地址 (二)OpenSSL 安装 参考博客 查看服务器是否安装有OpenSSL openssl version -a
阅读全文
摘要:题目:利用多线程与有名管道技术,实现两个进程之间发送即时消息,实现聊天功能 思路:关键在于建立两个有名管道,利用多线程技术,进程A中线程1向管道A写数据,进程B中线程2从管道A读数据,进程A线程2从管道B中读数据,进程B中线程1往管道B中写数据。 //利用多线程与有名管道技术,实现两个进程之间发送即
阅读全文
摘要:Linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量和信号量。一、互斥锁(mutex) 锁机制是同一时刻只允许一个线程执行一个关键部分的代码。 1. 初始化锁 int pthread_mutex_init(pthread_mutex_t *mutex,const pthread_mu
阅读全文
摘要:I. 同步机制 线程间的同步机制主要包括三个: 互斥锁: 以排他的方式,防止共享资源被并发访问; 互斥锁为二元变量, 状态为0-开锁、1-上锁; 开锁必须由上锁的线程执行,不受其它线程干扰. 条件变量: 满足某个特定条件时,可通过条件变量通知其它线程do-something; 必须与互斥锁*联合使用
阅读全文
摘要:线程池的含义跟它的名字一样,就是一个由许多线程组成的池子。 有了线程池,在程序中使用多线程变得简单。我们不用再自己去操心线程的创建、撤销、管理问题,有什么要消耗大量CPU时间的任务通通直接扔到线程池里就好了,然后我们的主程序(主线程)可以继续干自己的事去,线程池里面的线程会自动去执行这些任务。 另一
阅读全文
摘要:本文将介绍看门狗驱动的实现。 目标平台:TQ2440 CPU:s3c2440 内核版本:2.6.30 1. 看门狗概述 看门狗其实就是一个定时器,当该定时器溢出前必须对看门狗进行"喂狗“,如果不这样做,定时器溢出后则将复位CPU。 因此,看门狗通常用于对处于异常状态的CPU进行复位。 具体的概念请自
阅读全文
摘要:协议栈代码main()函数分析 ZMain文件->ZMain.c->main() 在这里我们重点了解osal_start_system()函数 int main( void ) { //关闭所有终端 osal_int_disable( INTS_ALL ); //硬件板子的初始化,比如led的初始化
阅读全文
摘要:MAX30100是能够读取心率、血氧的传感器,通信方式是通过IIC进行通信。 其工作原理是通过红外led灯照射,能够得到心率的ADC值。 图为MAX30100的寄存器。 可以分为五类,状态寄存器、FIFO、控制寄存器、温度寄存器、ID寄存器。 温度寄存器是读取芯片的温度值,以矫正因为温度而产生的偏差
阅读全文
摘要:一、简介 本文以SimpleBLECentral工程为例,解析CC2541作为主机时是如何发现从机的服务和特征值的。二、实验平台 协议栈版本:BLE-CC254x-1.4.0 编译软件:IAR 8.20.2 硬件平台:Smart RF(主芯片CC2541) 三、版权声明 博主:甜甜的大香瓜 声明:喝
阅读全文
摘要://串口相关的头文件 #include<stdio.h> /*标准输入输出定义*/ #include<stdlib.h> /*标准函数库定义*/ #include<unistd.h> /*Unix 标准函数定义*/ #include<sys/types.h> #include<sys/stat.h>
阅读全文
摘要:本次操作的内容:weblogic服务器搭建与配置服务 本次操作是主要围绕如何搭建weblogic服务器及配置服务,总共有两大步骤,可划分为六个小步骤: 选取已有环境,准备weblogic压缩包 安装weblogic 创建Weblogic域 (domain) 启动Weblogic服务 JCE配置——忽
阅读全文
摘要:GPS(Global Positioning System)即全球定位系统,是由美国建立的一个卫星导航定位系统,利用该系统,用户可以在全球范围内实现全天候、连续、实时的三维导航定位和测速;另外,利用该系统,用户还能够进行高精度的时间传递和高精度的精密定位,通过GPS系统可以实现跟踪定位、防盗、里程统
阅读全文
摘要:Linux内核从3.x开始引入设备树的概念,用于实现驱动代码与设备信息相分离。在设备树出现以前,所有关于设备的具体信息都要写在驱动里,一旦外围设备变化,驱动代码就要重写。引入了设备树之后,驱动代码只负责处理驱动的逻辑,而关于设备的具体信息存放到设备树文件中,这样,如果只是硬件接口信息的变化而没有驱动
阅读全文
摘要:0.usb协议 usb的版本: 硬件 usb 1.0 OHCI 微软 硬件 > 软件 usb 1.1 UHCI intel 软件 > 硬件 usb 2.0 EHCI intel usb 3.0 XHCI intel 12mpbs/s 480mpbs/s 5gbps/s 10gbps/s usb传输类
阅读全文
摘要:工作中经常会使用一些颜色空间,最主要的就是使用RGB空间和YUV空间,把两空间的一些知识记录在此。 1. 什么是RGB?RGB是红绿蓝三原色的意思,R=Red、G=Green、B=Blue。2.什么是YUV/YCbCr/YPbPr?亮度信号经常被称作Y,色度信号是由两个互相独立的信号组成。视颜色系统
阅读全文
摘要:3D相关开发 [direct-X] 1、direct-X最小框架 [OpenGL] 1、环境搭建及最小系统 [OpenGL] 2、企业版VC6.0自带的Win32-OpenGL工程浅析 51单片机 [51单片机] 1602液晶显示控制代码 [51单片机] 1602液晶显示控制代码2 [51单片机]
阅读全文
摘要:关于opencv调用摄像头的问题主要是因为摄像头的打开有延时。在显示图像前,要用if语句判断图像是否存在。(否则会报错) 具体的:教程里的源程序,将if条件句里,break去掉,并增加else语句。 [cpp] view plain copy #include<opencv2/opencv.hpp>
阅读全文
摘要:1、 linux设备驱动是以内核模块的方式而存在的,在具体的驱动开发中将驱动编译为模块具有很到的工程意义。因为如果将正在开发中的驱动编译如内核,而开发过程中会不断修改驱动代码,则需要不断的编译和重启Linux,但是如果直接编译为模块则只需要rmmod与insmod即可,开发效率大大提高。 2、 li
阅读全文
摘要:在讨论这个问题前,我们先来了解一下物理端口、逻辑端口、端口号等计算机概念。 端口相关的概念: 在网络技术中,端口(Port)包括逻辑端口和物理端口两种类型。物理端口指的是物理存在的端口,如ADSL Modem、集线器、交换机、路由器上用 于连接其他网络设备的接口,如RJ-45端口、SC端口等等。逻辑
阅读全文
摘要:说明:本分析基于mstar801平台Linux2.6.35.11内核,其他内核版本仅供参考。 一、程序在内核中的位置 1.usb host做为pci总线下的一个设备存在(嵌入式系统中有可能也会直接挂在CPU上);这部分驱动由厂家实现,本分析以mstar为例。 2.USB总线驱动 kernel/dri
阅读全文