原创 lwIP TCP/IP 協議棧筆記之十一: ARP協議

目錄 1. TCP/IP模型及鏈路層概述 2. MAC地址的概念 3. ARP 概述 4. 以太網幀結構 5. IP 地址映射爲物理地址 6.ARP 緩存表 7. ARP 緩存表的超時處理 8. ARP 報文 9. 發送ARP 請求包 1

原创 lwIP TCP/IP 協議棧筆記之十二: IP協議

目錄 1. IP地址 1.1 IP地址概述 1.2 IP地址編址 1.3 特殊IP地址 1.3.1 受限廣播地址 1.3.2 直接廣播地址 1.3.3 多播地址 1.3.4 環回地址 1.3.5 本網絡本主機 2. 局域網與廣域網的概念

原创 lwIP TCP/IP 協議棧筆記之十三: ICMP協議

目錄 1. 簡介 2. ICMP 報文結構 3. ICMP 報文類型 3.1 ICMP 差錯報告報文 3.1.1 目的不可達 3.1.2 源站抑制 3.1.3 重定向 3.1.4 超時 3.1.5 參數錯誤 3.2 ICMP 查詢報文  

原创 lwIP TCP/IP 協議棧筆記之十四: UDP協議

目錄 1. UDP 協議簡介 2. UDP 常用端口號 3. UDP 報文 4. UDP 報文的數據結構 4.1 UDP 報文首部結構體 4.2 UDP 控制塊 5. UDP 報文發送 6. UDP 報文接收 UDP 是一個簡單的數據報的

原创 lwIP TCP/IP 協議棧筆記之七: 網絡數據包

目錄 1. TCP/IP 協議分層 2. lwIP的線程模型 3. pbuf 結構體說明 4. pbuf 的類型 4.1 PBUF_RAM類型 4.2 PBUF_POOL 類型 4.3 PBUF_ROM和PBUF_REF 類型 5. pb

原创 lwIP TCP/IP 協議棧筆記之六: 內存管理

目錄 1. 幾種內存分配策略 1.1 固定大小的內存塊 1.2 可變長度分配 2. 動態內存池(POOL) 2.1 內存池的預處理 2.2 內存池初始化 2.2 內存池分配 2.3 內存釋放 3. 動態內存堆 3.1 內存堆的組織結構 3

原创 lwIP TCP/IP 協議棧筆記之五: 網絡接口管理 ethernetif.c & ethernetif.h 詳解

目錄 1. nefif 結構體 //// 1 //// //// 2 //// //// 3 //// //// 4 //// //// 5 //// //// 6 //// //// 7 //// //// 8 //// //// 9

原创 lwIP TCP/IP 協議棧筆記之九: 有操作系統(FreeRTOS)移植

目錄 1. lwIP添加到工程 2. 添加文件 3. 修改網卡驅動 4. 協議棧初始化 5. 例程 LwIP 不僅能在裸機上運行,也能在操作系統環境下運行,而且在操作系統環境下,用戶能使用NETCONN API 與Socket API 編

原创 大 C 海拾貝 -- 連接符“ ## ” 和 字符串化操作符 “ # ”

目錄 1. 連接符 ## 2.字符串化操作符 # 1. 連接符 ## ## 被稱爲連接符(concatenator),用來將兩個Token 連接爲一個Token。注意這裏連接的對象是Token 就行,而不一定是宏的變量。在編譯器編譯的時候

原创 Windows 7 右鍵菜單添加VSCode

目錄 1. 新建註冊文件 2. 拷貝註冊文件到安裝路徑 3. 雙擊運行 VSCode.reg VSCode 安裝在Win10 上,會自動添加到右鍵菜單,Win7 則不會,實際使用中,幾乎都是通過右鍵打開,方便且高效。三部實現。 1. 新建

原创 lwIP TCP/IP 協議棧筆記之八: 無操作系統移植

目錄 1. lwIP添加到工程 2. 添加頭文件 3. 修改網卡驅動 4. lwIP 時基 5. 協議棧初始化 6. 獲取數據包 6.1 查詢方式 6.2 中斷方式 7. ping 命令和ipconfig命令 1. lwIP添加到工程

原创 windows 命令:ipconfig 和 ping 詳解筆記

目錄 1. ipconfig 2. ping 1. ipconfig 打開Windows 的控制檯,可以直接通過win+r 快捷鍵輸入“cmd”或“powershell”快速打開,具體見下圖   2. ping 利用“ping”命

原创 lwIP TCP/IP 協議棧筆記之四: 操作系統配置文件 sys_arch.c & sys_arch.h 詳解

目錄 1. 操作系統抽象層說明 1.1 Semaphores(信號量) 1.2 Mutexes(互斥鎖) 1.3 Mailboxes(郵箱) 1.4 Misc(雜項) 2. Time(時間) 3. Critical sections(關鍵

原创 lwIP TCP/IP 協議棧筆記之三: 配置文件 per.h & cc.h 詳解

目錄 1. per.h(性能測試) 2. cc.h(cpu和compiler配置) 宏定義 非標準函數 1. per.h(性能測試) 在opt.h配置中,LWIP_PERF 選項,控制性能測試,當需要啓用這個功能做一些相關的配置工作。 所

原创 lwIP TCP/IP 協議棧筆記之二: 配置文件 opt.h & lwipopts.h 詳解

目錄 1. 簡介 2. 配置 opt.h 說明 2.1 基礎配置(Infrastructure) NO_SYS Timers memcpy Core locking and MPU Heap and memory pools Intern