原创 nsq服務器部署總結

一、Windows 部署過程下載nsq程序Win nsq-1.2.0.windows-amd64.go1.12.9解壓就是一些可執行程序,配置環境變量,將你的程序目錄添加到環境變量中。 部署nsq運行命令:nsqlookupd    新建c

原创 PCI 設備枚舉流程

//0、pci子系統首先註冊pci bus struct bus_type pci_bus_type = { .name = "pci", .match = pci_bus_match, .uevent = pci_uevent

原创 I2C總線和SPI總線的設備樹節點解析流程

一、設備樹中I2C節點的解析流程/* i2c 控制器節點 */i2c0: i2c@2180000 { compatible = "fsl,vf610-i2c";                        /*reg = <address

原创 Linux 高級I/O之poll函數及簡單服務器客戶端編程

當需要同時監聽多個文件描述符時,就需要I/O複用函數,I/O複用函數有select、poll、epoll,今天主要使用poll函數。poll()接受一個指向結構'struct pollfd'列表的指針,其中包括了你想測試的文件描述符和事件。

原创 Linux 文件I/0

    經過×××年的工作,經常使用的一些I/O(很重要,因爲Linu一切皆文件)函數,以後用到可以查看下。這段時間不是很忙,僅僅爲了做個筆記整理一下。    文件I/O和標準I/O庫有的區別:1)文件I/O是系統調用,標準I/O庫是封裝了

原创 Linux 標準I/O庫常用函數總結

    上一篇總結了文件I/O的系統調用,今天來總結下標準I/O庫在工作幾年經常使用的函數。    標準I/O庫(#include<stdio.h>)實際就是封裝了系統調用;這樣做的主要目的是減少對系統調用的調用,從而提高效率。1、流和FI

原创 Linux 進程調度簡單理解

一、Linux進程的R、S、D、T、Z、X狀態R(TASK_RUNNING):進程處於ready狀態,及可執行狀態S(TASK_INTERRUPTIBLE):可以中斷的睡眠狀態D(TASK_UNINTERRUPTIBLE):不可中斷的睡眠狀

原创 getpass函數簡單使用

最近在開發一個項目中對一些命令行進行隱藏,不提供給用戶,所以就給一些進入命令行之前加上密碼,用到函數getpass函數,因此今天來簡單總結一下這個函數:getpass函數:讀入用戶在終端上鍵入的口令,此函數由login和crypt程序調用。

原创 makefile常用的三個函數(wildcard notdir patsubst)

在嵌入式開發過程中,經常和Makefile打交道,今天總結下Makefile中最常用的三個函數:1、wildcard:擴展通配符函數經常可以看到這樣的用法src=$(wildcard *.c),匹配所有.c文件,列表賦值給src2、notd

原创 VxWorks任務間通信

1.共享內存雙向鏈表環形緩衝2.互斥中斷鎖:作用域僅限於中斷內部。優先級鎖:共享內存中,低優先級的任務不允許被打斷,優先級鎖就被使用。弊端:會完全禁止任務的調度。3.信號量(一種指向semaphore結構的指針)SEM_EVENTSEND_

原创 shell簡單總結--符號

一、shell簡介  shell的作用是解釋執行用戶的命令,用戶輸入一條命令,shell就解釋一行【交互式】。另一種執行命令的方式是【批處理】,用戶事先寫一個shell腳本,其中有很多條命令,shell一次把這些命令執行完。shell程序從

原创 GCC和GDB

1、GCC  linux下,gcc 是指gcc c編譯器。我們從一個程序到一個可執行文件來說明gcc的幾個選項:  如果你寫的代碼是hello.c,你的程序將經歷下面的步驟到達硬盤或者內存成爲可執行文件。gcc -E main.c -o m

原创 Linux 多線程編程

/************************************************************************* > File Name: pthread.c > Author: zhaoxiaohu

原创 Linux多線程之線程同步

  線程最大的特點就是資源的共享性,所以也就有了一個難點線程同步,實現線程同步的方法最常用的方法是:互斥鎖,條件變量和信號量。接下來就讓我們來看下這幾種同步的方法。一、互斥鎖(Mutex)  獲得鎖的線程可以完成“讀-修改-寫”的操作,然後

原创 Linux多線程總結

一、線程的理解1、線程其實是一個進程的一個執行流。2、線程是操作系統調度的基本單位,進程是承擔分配系統資源的基本單位。3、linux下,一個進程就是一個獨佔資源的線程,即在這個地址空間僅有一個執行流,linux下的進程爲輕量級進程(進程可以