原创 嵌入式Linux網絡體系結構設計與TCP/IP協議棧(四)

第7章 網絡層傳送 Internet協議的任務: 數據包校驗和檢驗 防火牆對數據包過濾 IP選項處理 數據分片和重組 接收、發送和前送 Internet協議頭包含:Internet協議版本、IP協議頭長度、服務類型(Tos)、

原创 ARM裸機開發-1.基礎知識

1.基礎知識 內核版本號 Soc版本號 芯片型號(三星) ARMv1 … ARMv4 ARM7 S3C44B0 ARMv4 ARM9 S3C2440 S3C2410 ARMv5 ARM9+

原创 ARM裸機開發-2.開發板、原理圖和數據手冊

新開發板爲X210BV3S 2個開發板的主要差異描述: 第一:LCD顯示屏不同。X210V3的LCD分辨率爲800480,而X210BV3S分辨率爲1024600。 第二:觸摸屏芯片不同。雖然芯片不同但是都是I2C接口的,課程理解

原创 嵌入式Linux網絡體系結構設計與TCP/IP協議棧(五)

第10章 套接字層實現 Linux內環中支持的套接字結構 套接字的基本功能: 傳輸數據 爲TCP管理連接 控制或調節TCP/IP協議棧的操作 套接字層API構成 網絡功能 (由struct prot數據結構描述) 將網絡的

原创 第5、6章 網絡設備驅動程序及數據鏈路層數據幀的收發

1. 網絡設備驅動程序 網絡設備驅動程序是網絡物理設備與Linux內核之間的橋樑,它是將網絡設備從主機外界:計算機網上收到的數據,從網絡設備的數據空間傳到內核空間的軟件,也即網絡設備驅動程序是網絡設備硬件與Linux內核間的接口。

原创 第3、4章 網絡設備在內核中的抽象和識別

網絡設備在Linux內核代碼中的實體是 struct net_device數據結構的實例,網絡設備初始化流程: 分配網絡設備數據結構實例的內存空間 初始化數據結構,初始化設備的發送隊列,建立函數指針 註冊設備,之後設備就被掛接到

原创 第1、2章 Linux內核概述和網絡包傳輸的關鍵數據結構——Socket Buffer

1.進程和系統調用 進程是一個正在執行的程序實例,各進程擁有自己獨立的地址空間。進程通常在執行某個應用程序時啓動,應用執行完成後結束。創建、控制和結束進程是操作系統內核的一項重要任務。在用戶地址空間執行的進程是互斥的,它們只能訪

原创 ARM裸機開發

1.基礎知識 內核版本號 Soc版本號 芯片型號(三星) ARMv1 … ARMv4 ARM7 S3C44B0 ARMv4 ARM9 S3C2440 S3C2410 ARMv5 ARM9+

原创 字符設備驅動程序

一、字符設備基礎知識 1、設備驅動分類 linux系統將設備分爲3類:字符設備、塊設備、網絡設備。 字符設備:是指只能一個字節一個字節讀寫的設備,不能隨機讀取設備內存中的某一數據,讀取數據需要按照先後數據。字符設備是面向流的設備,

原创 字符設備驅動程序

【推薦】2019 Java 開發者跳槽指南.pdf(吐血整理) >>> 一、字符設備基礎知識 1、設備驅動分類  linux系統將設備分爲3類:字符設備、塊設備、網絡設備。字符設備:是指只能一個字節一個字節讀寫的設備,不能隨機

原创 ARM裸機(六)時鐘系統

【推薦】2019 Java 開發者跳槽指南.pdf(吐血整理) >>> 1. SoC時鐘系統 什麼是時鐘?SoC爲什麼需要時鐘? (1)時鐘是同步工作系統的同步節拍 (2)SoC內部有很多器件,譬如CPU、串口、DRAM控制器、G

原创 ARM裸機(七)串口通信詳解

【推薦】2019 Java 開發者跳槽指南.pdf(吐血整理) >>> 1.通信涉及的幾個基礎概念 通信過程分爲3個步驟: 首先發送方先按照信息編碼方式對有效信息進行編碼(編程成可以在通信線路上傳輸的信號形態) 然後編碼後的信息

原创 進程間通信

【推薦】2019 Java 開發者跳槽指南.pdf(吐血整理) >>> 1.無名管道 定義:            無名管道是一種特殊類型的文件,在內核空間中對應的資源即是一段內存空間,內核在這段空間以循環對列的方式臨時存入一個

原创 TTY驅動程序

【推薦】2019 Java 開發者跳槽指南.pdf(吐血整理) >>> tty設備指任何串口設備。Linux tty驅動程序的核心緊挨在標準字符設備驅動層之下,並提供了一系列的功能,作爲接口被終端類型設備使用。內核負責控制通過tt