原创 嵌入式系統設計學習週記⑩——網絡編程

網絡基礎 爲什麼需要網絡通信 進程間通信解決的是本機內通信 網絡通信解決的是任意不同機器通信 實現網絡通信需要哪些支持 通信設備 網卡(PC機自帶) 路由器、交換機 光纖、電纜、基站 通信協議 操作系統自帶協議棧 裸機開發需

原创 嵌入式系統設計學習週記⑨——多線程編程

線程是任務調度和執行的基本單位 爲什麼會有線程 程實現多任務的缺點 進程間切換的計算機資源開銷很大,切換效率很低;進程間數據及共享額開銷很大 線程和進程的關係 線程是進程的一個執行單元,是進程內的調度實體。比進程更小的獨立運行的

原创 嵌入式系統設計學習週記⑧——進程間通信

進程管理 嵌入式Linux多任務:進程、線程 硬件條件:單個CPU單個核 單任務:一個任務執行完畢之後下個任務才能執行 多任務:任務的執行可以被中斷,中斷之後可以執行其他任務 單核CPU:併發 多核CPU:併發、並行 進程實現多任

原创 嵌入式系統設計學習週記⑥——嵌入式文件編程

嵌入式linux系統開發 通過內核提供的服務實現相應功能 1.linux系統構成 用戶空間和內核空間 2.分爲用戶空間和內核空間的作用 保護內核的訪問安全,用戶不能隨便訪問內核空間 3.系統調用 內核提供的安全訪問機制,使用戶空間

原创 嵌入式系統設計學習週記⑤——嵌入式Linux開發項目

makefile @$ 代替目標體後的依賴 @ 關閉回顯 #註釋 := 前面的變量不能通過後面的變量來定義 += 可以實現給變量追加值 ?=如果變量已經在前面定義過了,那麼後面的定義就無效 常用函數 patsubst 格式:$ (

原创 嵌入式系統設計學習週記④——嵌入式Linux開發項目

調試器gdb 1.gdb是GNU計劃的工具;內核調試KGDB 2.程序錯誤分類 ①編譯時錯誤:語法錯誤 ②運行時錯誤:內容錯誤,邏輯錯誤 3.gdb的功能:①運行程序 ②設置斷點 ③查看變量值 4. hello.c gcc -g

原创 嵌入式系統設計學習週記③——嵌入式Linux開發項目

vim Linux文本編輯器:vim——最強大的文本編輯器——擺脫鼠標 vi—vim—gvim三種模式: ①命令模式:yy(複製)、p(粘貼)、dd(刪除)、u(恢復) ②插入模式:i/a(進入文本編輯模式) ③底行模式:shif

原创 嵌入式系統設計學習週記②——擴展作業

根目錄下的其他目錄 lib:存放着內核模塊和系統最基本的動態鏈接共享庫 lost+found:只允許root 及所屬者讀取創建進入,任何要恢復的文件都保存在該目錄下。 media:Linux中的播放器,播放音頻和視頻。 mnt:

原创 嵌入式系統設計學習週記②———瞭解嵌入式Linux操作系統

vm虛擬機:通過軟件的方法模擬pc 爲什麼不選擇雙系統? 嵌入式開發與內核交互,會導致系統崩潰 Linux介紹(posix、GPL、GUN) 1991年 Linux0.1問世發佈在GPL。GPL是一個開源社區,正是靠GPL這個平臺

原创 嵌入式系統設計學習週記①——初步瞭解嵌入式技術

嵌入式軟件與非嵌入式軟件的區別 嵌入式:在已有的硬件上移植(需要修改操作系統源碼,安裝不需要)操作系統解決軟硬件耦合導致的問題。 嵌入式軟件和非嵌入式軟件的區別即傳統開發和嵌入式開發的優缺點: 傳統開發的缺點:1.軟硬件耦合度高導