原创 網絡編程+linux

1.osi的7層模型和tcp/ip的4層模型是什麼 2.爲什麼要這幾層     只是提供一個模型,讓工程模塊化,細分每一層的功能,讓程序更容易修改和開發   3.什麼協議屬於哪一層     應用層:Telnet、FTP、HTTP、

原创 經典算法:模擬實現strcpy,strcmp,strcmp,strcat,strstr,memcpy

1.模擬strcpy 把含有'\0'結束符的字符串複製到另一個地址空間,返回值的類型爲char*,會覆蓋原來的。 原型:char *strcpy(char* dest, const char *src); #include<iostre

原创 嵌入式應用開發常見面試題

1.什麼是動態庫和靜態庫 靜態庫在程序編譯時會被連接到目標代碼中,程序運行時將不再需要該靜態庫。 動態庫在程序編譯時並不會被連接到目標代碼中,而是在程序運行是才被載入,因此在程序運行時還需要動態庫存在。 2.串口如何發送浮點類型數據 直接

原创 【轉載】C/C++ linux 嵌入式相關 帶答案的筆試題 彙總~~

C/C++ linux 嵌入式相關 帶答案的筆試題 彙總~~ 文章地址: http://blog.csdn.net/godspirits/article/details/4031754 1. 以下三條輸出語句分別輸出什麼

原创 git的分支詳解

1.概括 git分支就是在版本控制過程中,使用多條線同時推進多個任務 一個項目裏,主分支master分爲幾部分分支feature,處理不同的部分,如,一個遊戲項目,可以分出搞圖像的、搞運算的、操作的等分支。在公司裏,每個團隊處理屬於自己的

原创 14.3驅動的分離分層

1.引入驅動的分離分層 input系統把驅動分成input_handler和input_device。讓內核專注於純軟件,驅動工程師專注於硬件。 我們引入驅動的分離分層 還是參考gpio_keys.c 它的入口函數是諸如一個平臺driv

原创 數據結構——電話面試常問知識點

導論: 1.數據的邏輯結構有哪些     答:(四種)集合結構,線性結構,樹形結構,網狀結構 2.數據有哪些存儲結構 答:(兩種)順序存儲結構和鏈式存儲結構 3.怎麼評價一個算法的優劣     答:看時間複雜度(運行時間)和空間複雜度(所

原创 12.4重寫按鍵驅動-異步通知

一.什麼是異步通知 按鍵驅動中,我們之前寫了查詢方式,中斷方式,poll機制,這幾個都是應用程序主動去讀取按鍵值,有沒有一種驅動程序自己通知應用程序呢。就好比媽媽看護小孩,前三種是一直在他身邊,等他醒了(有中斷),媽媽再哄他(讀取按鍵值)

原创 32位ARM的七種工作模式

一、存儲器格式(字對齊): Arm體系結構將存儲器看做是從零地址開始的字節的線性組合。從零字節到三字節放置第一個存儲的字(32位)數據,從第四個字節到第七個字節放置第二個存儲的字數據,一次排列。作爲32位的微處理器,arm體系結構所支持的

原创 12.6重寫按鍵驅動——定時器防抖

學過單片機的都知道,按鍵可能會出現抖動現象。linux也一樣。 如下,出現兩次按下的輸出值 按鍵由於他的物理特性,可能會在按鍵鬆開時產生多次脈衝,每次脈衝都可能產生中斷。關鍵是消除多次讀取脈衝,只讀一次。引入定時器,每隔多少時間之後讀

原创 11.重寫——led驅動

我們之前的驅動程序已經把框架寫好,只是打印一些語句,沒有做其他的事,現在我們讓他點亮led燈 驅動的硬件操作分爲3步: 看原理圖 看芯片手冊(這裏是S3C2440) 寫硬件相關代碼 linux驅動的硬件相關代碼和單片機的有什麼

原创 安卓adb及fastboot、兩個img的認識

1.安卓adb及fastboot adb工具起到調試橋的作用,可以在命令行或IDE中對手機或模擬器進行調試,安裝卸載應用查看設備信息的等,fastboot工具多是用來刷機的,比如刷boot,刷recovery等。 安裝adb及fastbo

原创 12.2重寫按鍵驅動-中斷方式

一.尋找s3c2410的request_irq(irq,handler, irqflags, *devname, *dev_id)的參數 由於request_irq自動幫我們設置爲中斷引腳,所以我們可以在我們之前輪詢模式的按鍵驅動代碼的o

原创 ARM(2)——ARMv7和ARMv8的區別

     ARMv8的架構繼承以往ARMv7與之前處理器技術的基礎,除了現有的16/32bit的Thumb2指令支持外,也向前兼容現有的A32(ARM 32bit)指令集,基於64bit的AArch64架構,除了新增A64(ARM 64b