原创 開啓博客之路

畢業一年了,在培訓Linux中.看到很多大牛的文章,深受感觸,也想把自己的所思所想記錄下來。 百分百菜鳥 歡迎使用Markdown編輯器 你好! 這是你第一次使用 Markdown編輯器 所展示的歡迎頁。如果你想學習如何使用Markd

原创 多線程相關函數歸納

多線程相關函數必備頭文件: #include <pthread.h> #include <semaphore.h> Linux 的線程是通過用戶級的函數庫實現的,一般採用 pthread 線程庫實現線程的訪問和控制。它用第 3 方p

原创 驅動中斷編程

1.編寫一個外部中斷 1.獲取外部中斷編號 int gpio_to_irq(unsigned int gpio) 功能:通過Io口編號轉換成對應的外部中斷編號 參數:gpio 要獲取的IO口編號 返回值:成功:中斷編號; 失敗:-

原创 Linux文件目錄操作

1.基於文件指針的文件操作(有緩衝) 1.1文件的創建,打開 FILE *fopen(const char *path,const char *mode); //文件名 模式 功能:以mode的方式打開或創建文件。 參數: Path

原创 如何編寫字符設備驅動

0.包含必須的頭文件 #include <linux/fs.h> #include <linux/cdev.h> #include <linux/slab.h> /*kfree ,kmalloc */ #incl

原创 網絡編程函數歸納

網絡編程必備頭文件: #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <arpa/inet.h> #include <ne

原创 進程相關函數歸納

進程像高管函數必備頭文件 #include <unistd.h> #include <sys/types.h> #include <stdlib.h> //exit 的頭文件 #include <unistd.h>

原创 驅動中的資源共享和臨界代碼保護

#include <linux/semaphore.h> //信號量頭文件 #include <linux/mutex.h> //互斥鎖頭文件 #include <linux/sched.h> // cur

原创 如何創建設備文件

1.雜項設備 1.mknod 命令創建設備文件 安裝驅動後不會自動在/dev/目錄下創建設備文件,可以使用mknod 命令創建設備文件。 mknod命令格式: mknod /dev/drive_name { b | c } Major

原创 驅動定時器編程

一、定時器 1.內核時間相關轉換函數 unsigned long usecs_to_jiffies(const unsigned int u) 功能: 把微秒轉換成時鐘節拍 參數: u 時間微秒 返回: 對應的時鐘節拍數量 unsi

原创 驅動GPIO操作歸納

IO內存操作可以使用ioremap映射再使用指針操作對應的寄存器,但是比較少使用,一般使用內核提供GPIO操作函數。 一、內核提供的通用GPIO操作的API接口,其文件是gpio.h (include\linux),Gpiolib.c

原创 驅動等待隊列編程

一、等待隊列 1.定義一個等待隊列及初始化 1)動態初始化 wait_queue_head_t wq; //全局變量 init_waitqueue_head(&wq); //安裝模塊時候執行了初始化 2)靜態初始化

原创 安裝Linux虛擬機--踏上Linux的第一步

安裝Linux虛擬機 ** 1. 安裝VMware Workstation** 安裝包: 鏈接:https://pan.baidu.com/s/1InHEr9NktVzFlyfpOOUbDg 提取碼:pd9k VMware works