原创 linux內核字符設備驅動之發送命令接口

1.linux內核字符設備驅動之發送命令(ioctl)接口  int ioctl(int fd, int request, ...);函數功能: 1.應用程序可以向設備發送控制命令; 2.應用程序還可以和設備進行讀/寫操作;參數: fd:

原创 Goland IDEA項目多開設置

有兩個項目需要一起跑起來調試,不知道如何打開多個,網上搜了下,答案都特別高深,看不懂。 解決辦法: 點apply後再點ok 然後再open打開新項目就可以了

原创 迪傑斯特拉算法python實現--有向圖

代碼如下: # -*- coding: utf-8 -*- MAX_value = 999999 def dijkstra(graph, s): # 判斷圖是否爲空,如果爲空直接退出 if graph is None

原创 nginx 配置https 並解決重定向後https協議變成了http的問題

nginx 配置https 並解決重定向後https協議變成了http的問題 配置如下: server { listen 80; server_name localhost; return 301 https://lo

原创 Centos7安裝mysql的步驟

CentOS7默認數據庫是mariadb,配置等用着不習慣,因此決定改成mysql,但是CentOS7的yum源中默認好像是沒有mysql的。爲了解決這個問題,我們要先下載mysql的repo源。 1.下載mysql的repo源 $ wg

原创 如何使用C實現MQTT+TLS客戶端程序(2)--實現MQTT Client

mosquitto_pub&mosquitto_sub MQTT服務器 訂閱 發佈 使用C語言實現MQTT Client 代碼分析 初始化操作 加載證書 建立TCP連接 TLS握手 MQTT連接 github link

原创 機器學習-樸素貝葉斯分類器比較香港和新加坡熱點信息

系統環境 條件概率 收集數據 第三方庫安裝 相關代碼 準備數據 整理rss源信息 合併相關單詞 找出頻率最高的前30個單詞 分析數據 數據的分類 詞袋模型生成詞向量 訓練算法 樸素貝葉斯分類訓練器 樸素貝葉斯分類器

原创 Linux內核內存分配方法

linux內核內存分配的方法 用戶變量:用戶空間定義的變量,地址爲前3G 內核變量:內核空間定義的變量,地址爲後1G1.1 kmalloc / kfree void *kmalloc(size_t size, gfp_t fl

原创 Python Struct讀取bmp圖片信息

一.struct內建模塊 Python提供了一個struct模塊來解決bytes和其他二進制數據類型的轉換。 struct的pack函數把任意數據類型變成bytes: >>> import struct >>> struct.pack('

原创 如何使用C實現MQTT+TLS客戶端程序(1)--使用mosquitto搭建MQTT服務器

前言 簡單介紹MQTT 簡單介紹TLS 搭建MQTT服務器 1.配置用戶名密碼 這裏需要配置三個字段 生成用戶名密碼 生成acl_file文件 2.使用openssl 生成服務器證書和客戶端證書 安裝openssl 創建CA證書

原创 Linux內核platform機制

一.linux內核platform機制1.1.回顧ioremap實現開關燈驅動 需求: 硬件LED的GPIO由GPC0_3,GPC0_4更換爲GPF1_4,GPF1_5 通過分析代碼可知: 1.一個完整的驅動包括兩部分:純硬件和純

原创 Linux內核內存

1.linux內核內存相關內容明確:用戶空間佔用4G虛擬內存的前3G 虛擬地址範圍:0x00000000 ~ 0xBFFFFFFF 內核空間佔用4G虛擬內存的後1G

原创 Linux內核併發和競態(2)

一.併發和競態相關的概念 併發: 多個執行單元同時發生; 執行單元包括進程和中斷 競態:多個執行單元對共享資源的同時訪問造成的競爭狀態 形成競態條件: 1.要有多個執行單元 2.要有共享資源 3.要同時訪問 共享資源: 1.軟件上的全局變

原创 TI男選隱形眼鏡之機器學習

背景 選擇 開發環境 過程 信息增量 香農熵 根據特徵量劃分數據集 選擇最好的劃分方式 決策樹構建 分類篩選 決策樹實現 存儲決策樹 分類器構建 交互方法 附簡單數據集 總結 背景 一天,程序員小東要去約會,但是他覺

原创 從燒錄程序到設備加載運行

前言    在最近的一個項目中,突然想起以前學習嵌入式系統啓動流程,所以藉此機會複習一下從燒錄程序到設備加載代碼運行的過程,加深印象。一.程序的結構一個程序一般分爲3段:text段,data段,bss段text段:就是放程序代碼的,編譯時