原创 openssl aes+sha

#include <sys/wait.h> #include <assert.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h

原创 nrf24l01+

nrf24l01+的datasheet比nrf24l01的datasheet要詳細好多好多,在系統的狀態機描述,以及異常情況的描述上。 nrf24l01+與nrf24l01的區別: 相比功耗有所降低。 250kbps傳輸模式。 數據包格式

原创 xilinx 10GbE ipcore

xilinx 10GbE ipcore 主要有 axi4-stream data-path 和 axi4-lite control-path,這兩口都是接在MAC上,pcs/pma和mac通過xgmii接口和mdio接口連接。 pcs/p

原创 FreeRTOS

freertos 會接管 systick,作用時間片基準,系統不跑systick不會開始計數, 所以需要另外的timer作爲hal_tick來源。  freertos 會接管 svc,作用是用來開跑第一個線程。 freertos 會接管

原创 目測一個 阿里雲 C-SDK mqtt通信小bug

  版本3.0.1 IOT_MQTT_Yield wrapper_mqtt_yield _mqtt_cycle iotx_mc_cycle   iotx_mc_read_packet 三次read,一次用來判斷是否有數據來,一次用來解析包

原创 隨手用libcurl寫個ota框框

#include <stdlib.h> #include <stdio.h> #include <sys/stat.h> #include <curl/curl.h> #include <time.h> #include <string.

原创 tls

tls的原理在於用非對稱加密方法,建立對稱加密通道。 由非對稱公鑰加密對稱鑰匙防止鑰匙泄露,由數字證書確定對端身份,由數字簽名防止篡改。

原创 json作爲通信報文

通常報文格式一般分爲兩種,一種是報文類型標識,長度,校驗。還有一種是報文類型標識,結束標識,校驗。 第一種有利於接收方進行報文解析,應爲首先能知道將要接收的報文長度。但是第一類報文的擴展性,靈活性和嵌套性比較差,類似tcpip協議頭等傳統

原创 溫故而知新

堆排 建立堆, 維護堆的屬性  一次拿掉一個,然後維護屬性,二分的結構 使得維護屬性只要logn的時間 冒泡也是一次拿走一個 ,但是線性的結構 每次沒有節省時間 快排 ,一次確定 一個值的位置, 然後二分

原创 萬能的http

通信協議的元結構TLV (tag length value),TSE (tag start end )。http大的結構是TLV結構,然後將tag再重構成若干TSE結構的組合,如此柔性的結構造就了其無所不能特性。樹狀的資源組織結構,get

原创 mqtt協議

mqtt主要有幾種報文 : will遺囑報文,由connect報文攜帶,有topic,傳遞給服務器,由服務器保存,如下情況觸發: 1.服務器端檢測到連接的io錯誤或者網絡故障。相當於鏈路故障。 2.客戶端

原创 CAN總線

can總線的精髓在於,物理總線上的單數據位0和1的與特性,以及數據位流的5同一反的特性。 物理總線上的單數據位0和1的與特性,使能單一物理總線上的總線仲裁,從而使能了多主機機制。 數據位流的5同一反的特性,使能出錯管理和鑑定。

原创 網絡通信解決了什麼問題

通信,首先應該主要分爲兩類,一類是點對點,一類是廣播, 最首要的問題是要標識每一個節點的身份問題,我是誰,我要跟誰通信, mac地址是世界唯一的地址,當然你也可以手動配置,爲什麼要世界唯一,保證世界任意的電腦組網不會產生衝突,就像身份證編

原创 mqtt組合拳

網絡通信的協議棧抽象出ip地址和端口,一臺主機一個ip作爲標識,不同的端口抽象出不同的獨立的通信管道。 然而mqtt在端口之上又進行了一次抽象topic, 一個tcp連接可以抽象出無數的topic,相當於無數個獨立的通信管道,並且支持廣播

原创 雜記:Cortex™-A8 am335x cpsw (一)

14.1簡介 3口的以太網子系統。它提供以太網包通信,並且可以配置成以太網交換機,提供GMII,RGMII,RMII,MDIO物理接口。 14.2一覽 這個設備包含一個3口的千兆以太網交換機子系統CPSW_3GSS_RG,它提供兩個外部的