面試是需要時間準備的,如果茫然的就去,很容易碰釘子。
即使你做過的專案,細問也有不會的。
一、 nand flash相關驅動知識
mtd memory technology device 記憶體技術裝置
linux層次結構為 裝置節點、裝置層(字元裝置mtdchar.c和塊裝置mtdblk.c)、原始裝置層(mtdpart.c mtdcore.c)和硬體驅動層。
其實我們驅動關心的是原始裝置層和硬體驅動層之間的介面實現。
比如在nor flash中可能用到了map_info,使用的cfi標準。
而nand flash用到了nand_chip資料結構,使用通用的nand驅動(nand_base.c nand_bbt.c)。
我們的工作重心變成了僅僅實現read_buf、write_buf和read_oob函式,簡化了我們的工作量。
下面講講乙個具體的硬體驅動k9f2g08
2048 block+64 page+(2k+64)
block addr + page addr+ column addr
二、iic、uart、sdio、usb、pci和pcie匯流排區別
以前驅動從來沒有關心過硬體訊號,面試總是被問到。
spi匯流排由三條訊號線組成:序列時鐘(sclk)、序列資料輸出(sdo)、序列資料輸入(sdi)。
i2c匯流排是雙向、兩線(scl、sda),同步的,不能實現全雙工
uart匯流排是非同步串列埠,由兩根線組成,一根用於傳送,一根用於接收。
sdio匯流排:是同步的
sd_clk:時鐘,cpu輸出。
sd_cmd:命令,cpu輸出。
sd_d0/d1/d2/d3:資料0-3,雙向。可以選擇資料寬度
vcc:供電(一般為3.3v或者1.8v)
gnd:地。
usb匯流排:四根線,兩個電源線,d+和d-差分訊號
pci匯流排:並行的同步匯流排
pcie匯流排:沒有同步訊號(clk),所以速率可以提高到很大。
三、bcm8727phy驅動
bcm8727驅動其實在linux/driver/net/ethernet/broadcom/bnx2x下。
就是bcm5710的網絡卡下可能掛載8727phy,所以在bnx2x下的乙個bnx2x_link.c中有對phy的初始化。
面試題目總結一
指標常量 pointer to const 不能修改指向變數的值,int const p 常量指標 const pointer 不能改變指向,不能指向常量,int const p 指向常量的常量指標 const pointer to const 不能改變指向,可以指向常量,const int con...
面試題目總結
1.char p和char p的區別。1 char getstring void void main 2 char getstring void void main 為什麼 1 輸出的是亂碼,2 能夠輸出 hello world?hello world 作為靜態字串實際上儲存在文字常量區 參見 棧和...
面試題目總結
二叉樹相關面試題目 結點資料結構 typedef struct treenode 1.二叉樹的前序遍歷 遞迴void preorder treenode root vector res 非遞迴 vectorpreorder treenode root else 2.二叉樹中序遍歷 遞迴void mi...