第一篇:嵌入式linux工程師筆試題目
北京航天泰睿科技有限公司
嵌入式linux筆試題目
一、簡答題:
1. 請寫出實現(xiàn)后面幾個功能的Linux命令:顯示文件,拷貝,刪除
Ls cp rm 2. do??while和while??do有什么區(qū)別?
Do?while是先執(zhí)行一次循環(huán)體內(nèi)的代碼然后在判斷,而while?.do則是先判斷一下條件,然后在執(zhí)行。Do??.while如果是不滿足條件也會執(zhí)行,一定會執(zhí)行一次。
3. Linux系統(tǒng)下.ko文件是什么文件?.so文件是什么文件?
Linux系統(tǒng)下.ko是模塊文件,比如驅(qū)動之類的。.so是動態(tài)鏈接庫文件 4. 如何使用vi進行塊拷貝、粘貼、刪除的操作
5. 在Linux系統(tǒng)中,用來存放系統(tǒng)所需要的配置文件和子目錄的目錄是。
/etc 這個目錄用來存放系統(tǒng)管理所需要的配置文件和子目錄
6. 如何使用gcc得到宏展開的中間代碼
gcc –E –P xxfile 7. 如何使用gdb調(diào)試多進程
先ps出進程id,再gdb-a attach上去,b設一個斷點,c繼續(xù)運行就可以了
8. 用戶進程間通信主要哪幾種方式
管道,信號量,消息隊列,有名管道 9. 解釋命令ls-amore具體含義。
-a 輸出目錄下的所有文件,包括隱藏文件-m 橫向輸出文件名,并以’,’隔開-o 顯示文件除組外的詳細信息-r 對目錄反向排序
-e 輸出時間的全部信息,而不是簡要信息
10. LINUX中的管道指什么,重定向又指什么
管道是一種兩個進程間進行單向通信的機制。因為管道傳遞數(shù)據(jù)的單向性,管道又稱為半雙工管道。數(shù)據(jù)只能由一個進程流向另一個進程(其中一個讀管道,一個寫管道);如果要進行雙工通信,需要建 立兩個管道。管道只能用于父子進程或者兄弟進程間通信。,也就是說管道只能用于具有親緣關(guān)系的進程間通信。
11. 請寫出下列代碼的輸出內(nèi)容 #include “stdio.h” main(){ int a,b,c,d;a=10;
第1頁/共3頁
北京航天泰??萍加邢薰?/p>
b=a++;c=++a;d=10*a++;printf(“b,c,d:%d,%d,%d”,b,c,d);return 0;
12. 編寫一個函數(shù)intcharnum(charfn[10]),該函數(shù)以只讀方式打開文件fn,,通過統(tǒng)計,返回文件中字符的個數(shù),請使用while循環(huán)實現(xiàn)計數(shù)功能。請勿修改主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)charnum的花括號中填寫若干語句。
文件kt7_2.cpp的內(nèi)容如下:
#include
#include
#include
intcharnum(charfn[10]);
voidmain(){ intnum;
num=charnum(“abc.txt”);} cout<<“num=”<
intcharnum(charfn[10]){
}
二、編程題
13. 如果有一個簡單的Test項目目錄如下:
# tree Test Test |--common.h |--main.cpp |--test.cpp `--test.h
1)使用wildcard、patsubst函數(shù)編寫一個C++項目的Makefile文件 2)使用automake、autoconfig編寫一個支持configure選項的configure.in腳本
14. 編寫一個hello world程序,要求以創(chuàng)建進程的方式打印Hello World!
15. 打開一個文件,并讀取從第100字節(jié)開始的50字節(jié)數(shù)據(jù)。
第2頁/共3頁
北京航天泰睿科技有限公司
16. 編寫一對socket程序,要求類似于network echo procotol。
Client每隔1秒把自己的IP地址輪流循環(huán)發(fā)送給一個Server.Server接到IP后,在屏幕上打印對方IP;然后把自己的IP發(fā)送回去。Client收到回復后,在屏幕上打印對方IP。
程序一直運行,直到用戶退出。各自分類統(tǒng)計接收到的各IP的數(shù)據(jù)包的個數(shù)。
注意:Client可以向多個Server發(fā)送請求,Server也可以接收多個Client請求。
17.請描述Linux下程序開發(fā)到執(zhí)行的工作流程(結(jié)合自己的項目經(jīng)歷)。
18.結(jié)合自己的學習或工作感受簡述Linux與Windows編程的區(qū)別,嵌入式Linux與Windows的嵌入式OS(如XPE、WinCE)的區(qū)別。
第3頁/共3頁
第二篇:嵌入式linux工程師筆試題目[推薦]
北京航天泰??萍加邢薰?/p>
嵌入式linux筆試題目
一、簡答題:
1. 請寫出實現(xiàn)后面幾個功能的Linux命令:顯示文件,拷貝,刪除
2. do??while和while??do有什么區(qū)別?
3. Linux系統(tǒng)下.ko文件是什么文件?.so文件是什么文件?
4. 如何使用vi進行塊拷貝、粘貼、刪除的操作
5. 在Linux系統(tǒng)中,用來存放系統(tǒng)所需要的配置文件和子目錄的目錄是。
6. 如何使用gcc得到宏展開的中間代碼
7. 如何使用gdb調(diào)試多進程
8. 用戶進程間通信主要哪幾種方式
9. 解釋命令ls-amore具體含義。
10. LINUX中的管道指什么,重定向又指什么
11. 請寫出下列代碼的輸出內(nèi)容 #include “stdio.h” main(){ int a,b,c,d;a=10;b=a++;c=++a;d=10*a++;printf(“b,c,d:%d,%d,%d”,b,c,d);return 0;
12. 編寫一個函數(shù)intcharnum(charfn[10]),該函數(shù)以只讀方式打開文件fn,,通過統(tǒng)計,返回文件中字符的個數(shù),請使用while循環(huán)實現(xiàn)計數(shù)功能。請勿修改主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)charnum的花括號中填寫若干語句。
文件kt7_2.cpp的內(nèi)容如下:
#include
第1頁/共2頁
北京航天泰??萍加邢薰?/p>
#include #include intcharnum(charfn[10]);voidmain(){ intnum;
num=charnum(“abc.txt”);} cout<<“num=”<
intcharnum(charfn[10]){
}
二、編程題
13. 如果有一個簡單的Test項目目錄如下:
# tree Test Test |--common.h |--main.cpp |--test.cpp `--test.h
1)使用wildcard、patsubst函數(shù)編寫一個C++項目的Makefile文件 2)使用automake、autoconfig編寫一個支持configure選項的configure.in腳本
14. 編寫一個hello world程序,要求以創(chuàng)建進程的方式打印Hello World!
15. 打開一個文件,并讀取從第100字節(jié)開始的50字節(jié)數(shù)據(jù)。
16. 編寫一對socket程序,要求類似于network echo procotol。
Client每隔1秒把自己的IP地址輪流循環(huán)發(fā)送給一個Server.Server接到IP后,在屏幕上打印對方IP;然后把自己的IP發(fā)送回去。Client收到回復后,在屏幕上打印對方IP。
程序一直運行,直到用戶退出。各自分類統(tǒng)計接收到的各IP的數(shù)據(jù)包的個數(shù)。
注意:Client可以向多個Server發(fā)送請求,Server也可以接收多個Client請求。
17.請描述Linux下程序開發(fā)到執(zhí)行的工作流程(結(jié)合自己的項目經(jīng)歷)。
18.結(jié)合自己的學習或工作感受簡述Linux與Windows編程的區(qū)別,嵌入式Linux與Windows的嵌入式OS(如XPE、WinCE)的區(qū)別。
第2頁/共2頁
第三篇:嵌入式linu學習心得
嵌入式Linux學習心得
1、Linux命令
ls:查看目錄-l以列表方式查看;ls –l 與ll的功能一樣 pwd: 查看當前的目錄
cd:改變當前操作目錄cd /直接跳到根目錄 cd..回到上一級目錄 cat: 打印顯示當前文件的內(nèi)容信息
mkdir:創(chuàng)建目錄
fdisk: 查看硬盤分區(qū)信息,-l以列表方式查看
->代表是鏈接文件,類似window下的快捷方式。
cp: 復制命令,例子cp 文件名 /home/dir/
mv: 移動或改名,如mv sonf.confsonf.txt(改名)移動:mv sonf.conf / rm:刪除命令,如rm –f test.c;如刪除目錄rm –fr d
man:查看某個命令的幫助,man 命令
2、各系統(tǒng)目錄的功能
drw—r—w--:d代表是目錄,drw代表當前用戶的權(quán)限,r代表組用戶的權(quán)限,w代表其它用戶的權(quán)限。x代表有執(zhí)行權(quán)限。
/boot/gruff.conf: 啟動引導程序
/dev:brw—rw--:b代表是塊設備。Linux設備有三種,塊設備(b開頭)、字符設備(c開頭)、網(wǎng)絡設備。had代表第一個硬盤,hdb代表第二個硬盤。Hdb2代表第二塊硬盤的第二個分區(qū)。3,67代表主設備為3,從設備為67./etc:存放的是系統(tǒng)的配置文件。Inittab文件存放不同啟動方式下必須啟動的進程。Inittab文件中有6個啟動level,wait中對應著6個level的目錄,respawn代表當一個進程被意外終止了,但會自動啟動的進程,如守護進程。rc.d目錄中存放了一個rc.sysinit文件,里面存放系統(tǒng)初始化配置信息。/etc還有一個vsftpd里面存放tcp、ftp的配置。
/home : 用戶目錄,存放用戶的文件,/lib:存放庫文件,后綴為so的文件代表動態(tài)鏈接庫。
/lost+found:系統(tǒng)意外終止,存放一些可以找回的文件。
/mnt:掛載外部設備,如掛載光驅(qū):mount –t /dev/cdrom/mnt/cdrom,如
果在雙系統(tǒng)中,要查看windows中D盤的文件,首先應該將D盤的文件映射過來,mount –t /dev/hda2/mnt/windows/d
/opt:用戶安裝的應用程序
/proc:是系統(tǒng)運行的映射,比較重要。里面的文件數(shù)字代表進程號。每個進程號目錄下包含進程的基本信息。還有其他信息,如cpuinfo等,內(nèi)核支持的文件系統(tǒng)filesystem等。系統(tǒng)支持的中斷interrupts,iomen代表內(nèi)存分配情況。ioport存放IO端口號。還有分區(qū)信息,modole信息,狀態(tài)信息,版本信息
對于Linux的設備驅(qū)動程序,有兩種加載模式,一種是直接加載進linux內(nèi)核,一種是以模塊的方式加載到內(nèi)核。
/sbin: 系統(tǒng)管理的一些工具。如poweroff關(guān)機工具。
/usr: 安裝系統(tǒng)時很多文件放在此目錄下面,包含一些更新等,include包含的頭文件,lib 是Linux的庫文件,src包含Linux2.4的內(nèi)核源碼
/var:存放是臨時變量
3、
第四篇:嵌入式工程師考試題目
筆試題(60分鐘)
姓名:
成績:
嵌入式系統(tǒng)
1.
2.
3.
4.
5.
簡述什么是嵌入式系統(tǒng)。簡述ARM的版本及特點。簡述INTEL XSCALE架構(gòu)的主要組成。簡述INTEL PXA255的邏輯結(jié)構(gòu)。簡述你了解的嵌入式操作系統(tǒng)有哪些,各有何特點。
WinCE
1. 簡述WinCE系統(tǒng)的完整開發(fā)流程。
2. 簡述Platform Builder的功能。
3. 簡述WinCE內(nèi)核的構(gòu)成及各模塊的主要功能。
4. 簡述Eboot和NK下載到目標板的基本流程及工具。
5. 簡述你在WinCE平臺上所開發(fā)的一個軟件項目的(a)功能,(b)軟件邏輯結(jié)構(gòu),(c)所使用的開發(fā)工具的情況。
Symbian
1. 簡述在進行Symbian OS C++應用開發(fā)過程中,你使用哪些技巧以提高你的代碼質(zhì)量。
2. 解釋Symbian操作系統(tǒng)手機上構(gòu)成Java平臺的MIDP和CLDC特性。3. 簡述Symbian OS上對象如何創(chuàng)建和銷毀。
4. 解釋Symbian OS上活動對象的概念。
5. 簡述你在Symbian OS上所開發(fā)的一個軟件項目的(a)功能,(b)軟件邏輯結(jié)構(gòu),(c)所使用的開發(fā)工具的情況。
Linux
1. 簡述BOOTP協(xié)議的功能及工作流程。
2. 簡述Linux Bootloader的功能及工作流程。
3. 簡述Linux的完整啟動流程及所需的軟件模塊。
4. 簡述嵌入式Linux上經(jīng)常使用的文件系統(tǒng)類型及各自的特點。
5. 簡述你在嵌入式Linux平臺上所開發(fā)的一個軟件項目的(a)功能,(b)軟件邏輯結(jié)構(gòu),(c)所使用的開發(fā)工具的情況。
第五篇:嵌入式軟件工程師評估題目
1.計算下列C語言表達式的值
0x34 & 0x78值為______
= = 0x64值為______
0x8 | 0x70值為______
0x55 ^ 0x88值為______&& 2值為______
strlen(“Hello!”)值為______
sizeof(char)值為______
32位系統(tǒng)上, sizeof(long)值為______
0x20 < 30? 1:2 值為______
!99值為______
2.用C語言預處理指令#define 聲明一個常數(shù),用以表明1年中有多少秒(忽略閏年問題)3.ARM指令是多少位的?
4.關(guān)鍵字volatile在C語言中有什么意義?
5.關(guān)鍵字const在C語言中有什么意義?
6.關(guān)鍵字static在C語言中有什么意義?
7.寫一段C語言代碼,動態(tài)申請128K內(nèi)存,并將前面100個字節(jié)初始化為00xFF.8.寫一段C語言代碼,用遞歸的方式實現(xiàn)階乘函數(shù)
階乘的定義: n的階乘 = 1 * 2 * 3 *? ? *(n-1)* n
9.寫出下面C語言代碼段的輸出
#include “stdio.h”
#include “stdlib.h”
void main(void)
{
int a, b, c = 3;
int *p;
p = &a;
*p =1;
b = a+1;
printf(“a=%d, b=%d, c=%d”, a, b,c);
}
10.翻譯下面英文為中文
i.MX31L is a high performance embedded RISC processor based on ARM11 core from Freescale.It is a high-speed, low power consumption processor.Windows CE is a generic OS for embedded system by Microsoft, which is a small footprint, modulized, customizable and reliable OS.In this paper, an embedded system using i.MX31L as hardware platform, Windows CE as operating system, NAND Flash as storage medium is described.The memory access for RAM and NAND Flash was designed to be flexible and extendible.The Flash bad-block management,Flash access control, mutually exclusive access, storage of OS image, OS loading, NAND Flash driver, FAT file system were implemented.A two-level OS loader, a USB upgrade tool and a selftest for manufacturing check were implemented.The performance of file system was extensively evaluated, and being further optimized.Moreover, the defect of NAND Flash controller of i.MX31L was discovered during implementation stage.The defect was solved successfully with software workaround.A mature solution for mass production was resulted.