原创 做嵌入式驅動的前途何在

做嵌入式驅動的前途何在 做嵌入式linux驅動的前途何在? 或者說,怎麼才能做好這一行? 我做嵌入式驅動開發已經一年多了,感覺沒學到多少東西。 從網絡驅動到CAN驅動、從dataflash驅動到NAND/NOR FLASH驅動、從CF

原创 和菜鳥一起學c之函數中堆棧及運行內存情況

和菜鳥一起學c之函數中堆棧及運行內存情況 總是聽說編譯的時候什麼堆啊,棧啊之類的。以前學數據結構的時候用過,棧比較常用,像搜索類的算法題都是要用到棧的。還有表達式計算也是。至於堆的話,排序的時候用的比較多。關於這方面,網上已經講了很多了,

原创 ICMP報文分析

一.概述: 1. ICMP允許主機或路由報告差錯情況和提供有關異常情況。ICMP是因特網的標準協議,但ICMP不是高層協議,而是IP層的協議。通常ICMP報文被IP層或更高層協議(TCP或UDP)使用。一些ICMP報文把差錯報

原创 C語言中全局變量、局部變量、靜態全局變量、靜態局部變量的區別

1.C++變量根據定義的位置的不同的生命週期,具有不同的作用域,作用域可分爲6種: 全局作用域,局部作用域,語句作用域,類作用域,命名空間作用域和文件作用域。 從作用域看: 1>全局變量具有全局作用域。全局變量只需在一個源文件中定義,就

原创 OS 調度算法及優先級反轉

在多進程、多線程併發的環境裏,從概念上看,有多個進程或者多個線程在同時執行,具體到單個CPU級別,實際上任何時刻只能有一個進程或者線程處於執行狀態;因此OS需要決定哪個進程執行,哪些進程等待,也就是進程的調度。 一、調度的目標 1、首先

原创 學c之gcc編譯過程及其常用編譯選項

學c之gcc編譯過程及其常用編譯選項 上篇文章,知道了,C代碼編譯後存放在內存中的位置,那麼C代碼的整個編譯過程又是怎樣的呢?一條命令gcc hello.c就可以編譯成可執行程序a.out,然後./a.out之後就可以執行hello.c這

原创 ARP協議分析

前言:ARP協議的作用: 1. 什麼是ARP?    ARP (Address Resolution Protocol) 是個地址解析協議。最直白的說法是:在IP以太網中,當一個上層協議要發包時,有了該節點的IP地址,ARP就能提供該節點

原创 XML你所要知道的那些規範-RFC

本規範說明的XML-RPC協議實現UserLand Frontier 5.1。 關於非技術性說明,請訪問XML-RPC for Newbies。 文檔提供了實現XML-RPC所需要的所有信息。 前言 XML-RPC是一種基於Interne

原创 C語言中volatile關鍵字的作用

一.前言 1.編譯器優化介紹: 由於內存訪問速度遠不及CPU處理速度,爲提高機器整體性能,在硬件上引入硬件高速緩存Cache,加速對內存的訪問。另外在現代CPU中指令的執行並不一定嚴格按照順序執行,沒有相關性的指令可以亂序執行,以充分利

原创 DNS報文格式(RFC1035)

一、域名和資源記錄的定義 1、Name space definitions 2、資源記錄定義(RR definitions)2.1 格式後面分析報文的時候詳細解釋。2.2 類型值(TYPE values)類型主要用在資源記錄中,注意

原创 以太網協議幀

以太網幀格式: 1.以太網幀由5個字段組成 1>前兩個字段分別爲6字節長的目的地址和源地址地段。 2>第三個字段是2字節的類型字段,用來標誌上一層使用的是什麼協議。 l 類型字段的值爲0x0800時,表示上層使用的是IP數據報。 l

原创 arm堆棧操作

arm堆棧操作 arm堆棧的組織結構是 滿棧降 的形式,滿棧即sp是要停留在最後一個進棧元素,降:就是堆棧的增長方向是從高地址向低地址發展。  arm對於堆棧的操作一般採用 LDMFD(pop)和STMFD (push) 兩個命令。 以前

原创 物理MAC地址

1.MAC地址 網卡MAC地址不是隨便定義的,它的組成結構如圖所示。 1>後3個字節代表該製造商所製造的某個網絡產品(如網卡)的系列號,前3個字節表示代表網絡硬件製造商的編號,它由IEEE(電氣與電子工程師協會)分配 2>以太網的地址

原创 UART0串口編程系列(二)

三. 中斷方式的串口編程 1.用中斷方式編寫串口程序由那幾部分組成 2.硬件上的支持 1>UART0 發送FIFO緩衝區 A. UART0含有1個16字節的發送FIFO緩衝區 B. U0THR是UART0發送FIFO的最高字節 C.

原创 UART0串口編程系列(五)

一.串口接收數據在UC/OS設計中應注意的問題 1. 串口通信的數據接收過程: 1> UART 接收FIFO接收到預定字節後觸發中斷 2> ISR讀取接收到的內容並保存 3> 經過一次或若干次ISR完成一個通信幀的接收(拼裝通信幀) 4>