原创 Make 命令教程

原文鏈接:http://www.ruanyifeng.com/blog/2015/02/make.html Make 命令教程 作者: 阮一峯 日期: 2015年2月20日 代碼變成可執行文件,叫做編譯(compile);先編譯

原创 MAC和PHY的區別

轉載地址:http://www.cnblogs.com/feitian629/archive/2013/01/25/2876857.html 一塊以太網網卡包括OSI(開方系統互聯)模型的兩個層。物理層和數據鏈路層。物理層定義了數據傳

原创 書單

前記: 有很多好書,看後慢慢就忘記了,甚至連名字都忘了,就在這裏記下那些曾經看過的好書。 1.pro git,講解git的:http://git.oschina.net/progit/9-Git-%E5%86%85%E9%83

原创 歡迎使用CSDN-markdown編輯器

歡迎使用Markdown編輯器寫博客 本Markdown編輯器使用StackEdit修改而來,用它寫博客,將會帶來全新的體驗哦: Markdown和擴展Markdown簡潔的語法 代碼塊高亮 圖片鏈接和圖片上傳 LaTex數學公

原创 架構師和程序員的區別

架構師 = 建築設計師 程序員 = 砌磚工

原创 dhcp_start

dhcp_start會檢查當前網卡的鏈路是否active,若是,則直接調用dhcp_discovery,否則,設置dhcp的state爲INIT。 用戶應該在在網卡active後調用netif_set_link_up,netif

原创 LwIP調試輸出

LwIP使用LWIP_DEBUGF宏來輸出debug信息: #define LWIP_DEBUGF(debug, message) do { \ if ( \ ((debug) & LWIP_DBG_ON)

原创 SSL/TLS從入門到庖丁

初次瞭解: SSL/TLS協議運行機制的概述 圖解SSL/TLS協議 進一步瞭解SSL handshake的過程和細節: 證書的應用之一 —— TCP&SSL通信實例及協議分析(中) SSL握手協議 有關數字證書知識:

原创 LwIP的操作系統模擬層移植

移植操作系統模擬層,本質上就是完成操作系統接口函數的編寫:信號量,郵箱,互斥量和線程。 信號量,郵箱和互斥量的操作:new,free,write,read 對於信號量,郵箱,額外四個操作:try_write,try_read,

原创 LwIP控制塊

一個控制塊代表着着一個協議層的一個實體的屬性 用戶層實體屬性:netconn,主要屬性是pcb,同步信號量和數據郵箱,代表着一個用戶層次的傳輸層連接 傳輸層實體屬性:pcb,主要屬性是本地/遠端的IP地址和端口號,接受回調函數

原创 NETIF_STATUS_CALLBACK何時會被調用

使用netif_set_status_callback函數可以註冊NETIF_STATUS_CALLBACK回調函數,那麼協議棧中什麼時候調用這個回調呢? 只有3個地方調用: netif_set_up netif_set_d

原创 LwIP有無操作系統的區別

netif的input是由網卡驅動在收到以太網包後調用 在無操作系統下: netif的input是ethernet_input,裏面直接調用LwIP的內核函數來處理以太網包 在有操作系統下: netif的input是tcp

原创 netif_set_link_up和netif_set_up的區別

netif_set_up是使能網卡,設置NETIF_FLAG_UP標誌位,必須在網卡被使用前用戶來調用 netif_set_link_up是當網卡鏈路層active時由網卡驅動來設置的,如,station關聯上AP後就應該調用n

原创 我的技術路線

RTOS和TCP/IP是核心,應該重點研究 編譯和調試是工具,應熟悉熟練

原创 LwIP和FreeRTOS的頭文件衝突問題

LwIP和FreeRTOS都有一個timer.h頭文件,可能會造編譯錯誤(沒有找到正確的頭文件),lwip的作者似乎已經考慮到了這一點,在lwip的源碼中,都是以#include “lwip/timer.h”的方式來包含頭文件,這