原创 gnu make項目管理(1)一個簡單的makefile
前言 c源文件想要最終生成成可執行文件首需要用gcc生成中間目標文件,再由目標文件生成可執行文件。make可以執行gcc的這些命令來生成所需目標,而makefile就是告訴make按照什麼樣的規則來生成這些目標。 makefile
原创 帶頭節點的單向不循環鏈表
//filename:single_list.h #ifndef _SINGLE_LIST__H #define _SINGLE_LIST__H #include "stdio.h" #include "stdlib.h" //帶
原创 CoAP學習筆記(1)CoAP報文結構
CoAP報文結構 CoAP基於UDP的應用層協議,報文結構如下 Ver 版本號佔2bit,固定爲01 T 報文類型,佔2bit,CoAP中有4種報文類型,如下 類型 描述 T值 CON報文 Confirmabl
原创 gnu make項目管理(3)變量與宏
變量的賦值 = 經過遞歸擴展的變量 := 經過簡單擴展的變量 += 追加運算符 ?= 附帶條件的變量 變量擴展規則 2個階段 1.make會讀進makefile以及被引入的任何其他makefile,這時變量和規則都會被加載進入
原创 Git學習(5)高層命令-回退
工作區 如何撤回自己在工作區目錄中的修改 git checkout -- 文件名 //用暫存區或者版本庫來覆蓋工作區對應文件 暫存區 如何撤回自己的暫存 git reset HEAH 文件名 //用版本庫HEAD覆蓋暫存區對應
原创 mbedtls學習(2)單項散列函數
單項散列函數又稱安全散列函數或者哈希函數,是根據消息內容算出散列值,散列值又稱爲消息摘要。 單項散列函數實現有下面2種方式 MD算法家族 -SHA算法家族 mbedtls所支持的單項散列算法在接口文件如下 MD2 incl
原创 mbedtls學習(6)RSA算法
RSA算法 RSA算法是一種非對稱加密算法,特點時加密解密算法不同且加密解密密鑰不同,即一般公鑰加密,私鑰解密。 下面時RSA算法關鍵參數 n 模數,位長度爲1024比特或者2048比特 e 公開指數,一般爲3,7或者65537
原创 mbedtls學習(12)DTLS
概述 DTLS(Datagram Transport Layer Security)是運行在UDP之上的安全通訊協議,大部分和TLS是一樣的,只是針對UDP在不可靠傳輸問題增加了新特性,用來解決UDP傳輸的報文亂序和報文丟失等問題
原创 mbedtls學習(5)僞隨機數生成器
隨機數生成器 真隨機數生成器(TRNG)一般來自物理設備,僞隨機數生成器(PRNG)可以分爲”種子“(又稱熵源)和內部結構2部分,實際應用中常用真隨機數作爲種子,再通過僞隨機數生成指定長度序列。 CTR_DRBG 僞隨機數生成器也
原创 mbedtls學習(8)ECDH密鑰協商
ECDH密鑰協商 ECDH密鑰協商算法基於橢圓曲線密碼系統(ECC),使用較短的密鑰長度可提供與RSA或DH算法同等的安全等級,密鑰長度位160 ~ 256比特的橢圓曲線算法與密鑰長度位1024 ~ 3072比特的非ECC算法安全
原创 mbedtls學習(11)TLS
TLS框架 TLS是一種加密通訊框架,有下面3個階段 密鑰交換階段,僞隨機數生成、ECDH、ECDSA、RSA、還有X509證書 密鑰計算階段,HMAC算法,如HMAC-256 對稱加密階段,AES算法和HMAC算法,AES-C
原创 I2S協議總結
參考https://www.cnblogs.com/firege/p/5805977.html 簡介 I2S(Inter-IC Sound Bus)是針對數字音頻設備之間的音頻數據傳輸而制定的一種總線標準。 採樣頻率Fs 聲音是模
原创 FreeRTOS任務創建與任務切換
文章目錄任務控制塊數據結構任務創建函數定義就緒表就緒表初始化啓動調度器任務切換仿真工程 任務控制塊數據結構 任務控制塊數據結構在task.c聲明 typedef struct tskTaskControlBlock { vola
原创 FreeRTOS支持時間片
什麼是時間片 時間片就是同一個優先級下可以有多個任務,每個任務輪流地享有相同的 CPU 時間, 享有 CPU 的時間我們叫時間片。在 RTOS 中,最小的時間單位爲一個 tick,即 SysTick 的中斷週期,與其說 FreeR
原创 FreeRTOS任務延時列表
之前的阻塞延時實現 之前爲了實現任務阻塞延時,在任務控制塊TCB中添加了個成員xTicksToDelay,當任務需要延時時就設置xTicksToDelay,然後把該任務掛起,這裏掛起只是將uxTopReadyPriority中對應