文章目錄
- 前言
- 一、選擇題
- 二、填空題
- 三、簡答題
- 四、綜合題
- 多執行緒編程
- 總結
前言
本篇為嵌入式知識點總結,花費了大概一兩天時間整理的,現在分享給大家!!!
一、選擇題
1.以下哪個不是嵌入式系統的特點?( )
A.面向特定應用 B.高質量高可靠
C.可裁剪性 D.具備二次開發能力
決議:嵌入式系統本身不具備二次開發能力,即設計完成后用戶通常不能對其中的程式功能進行修改,必須有一套開發工具和環境才能進行再次開發,
2.下列產品中不屬于嵌入式系統的是( )
A.無線滑鼠 B.數碼相機
C.個人筆記本 D.行車記錄儀
決議:常見的嵌入式產品:數碼相機、手機、PDA、路由器、滑鼠、鍵盤,掃描儀、列印機
3.堆疊是一種資料結構,對其最常見的操作為“壓堆疊”和“出堆疊”,其出入規則是( ),
A.可以保護現場 B.先進后出
C. 對其最常見的操作為“壓堆疊”和“出堆疊” D.只出不進
決議:堆疊是一種資料結構,對其最常見的操作為“壓堆疊”和“出堆疊”,其出入規則先進后出,
4.ARM 是基于__架構的___位處理器,
A.CISC,16 B.RISC,32 C.RISC,16 D.CISC,32
決議:ARM 是基于32位,RISC處理器結構,
5.在Ubuntu作業系統中,把一行程式注釋掉可以是( ),
A.// B.* C./ D.~
決議://為注釋
6.Vi編輯器,當前處于插入模式,如果想保存退出vi,則( ),
A.使用“:q!”命令 B. 先按ESC鍵,使用“:wq!”命令
C.使用“:wq!”命令 D.先按ESC鍵,使用“:q!”命令
決議:先按ESC鍵,使用“:wq!”
7.Linux下,將/mnt/hgfs/file.c復制到目錄/home/nfs下的命令( ),
A.cp file.c /home/nfs B.cp /file.c /home/nfs
C.cp /mnt/hgfs/file.c /home/nfs D.cp /home/nfs /file.c /mnt/hgfs/
決議:cp +當前檔案路徑 +復制后檔案路徑
8. 關于行程,描述錯誤的項是( ),
A.fork()函式執行一次回傳一個值
B.使用fork()函式可以生成子行程
C.父行程為子行程“收尸”
D.在父子行程可各自執行不同的任務
決議:執行一次回傳兩個值,
fork呼叫的一個奇妙之處就是它僅僅被呼叫一次,卻能夠回傳兩次,它可能有三種不同的回傳值:
(1)在父行程中,fork回傳新創建子行程的行程ID;
(2)在子行程中,fork回傳0;
(3)如果出現錯誤,fork回傳一個負值,
9.檔案filename的權限是664,檔案的用戶所有者對其操作權限是( ),
A.rw- B.r-x C.-wx D.–x
決議:421分別代表讀(r)寫(w)執行(x)
第一個數字代表檔案所有者(Owner),用戶組(Group),其他用戶(other Users)
10.把file.c檔案,編譯成一個可以在開發板上執行的程式file,其命令是( )
A.gcc file.c B.arm-linux-gcc file.c
C.gcc file.c -o file D.arm-linux-gcc file.c -o file
決議:arm-linux-gcc為交叉編輯工具
二、填空題
1.嵌入式系統總體上是有硬體和()兩大部分組成,其中硬體的核心是(),
答案:軟體 微處理器
2.ARM處理器有()和ARM兩種作業狀態,
答案:Thumb
決議:ARM處理器的兩種作業狀態:
1、ARM狀態:32位,ARM狀態執行字對齊的32位ARM指令,
2、Thumb狀態,16位,執行半字對齊的16位,
3.ARM 存盤器中,資料的高位元組存放在低地址,是() 存盤方式, 資料的低位元組存放在低地址,是() 存盤方式,
答案:大端存盤 小端存盤
決議:大端存盤:大端模式,是指資料的高位元組保存在記憶體的低地址中,而資料的低位元組保存在記憶體的高地址中,這樣的存盤模式有點兒類似于把資料當作字串順序處理:地址由小向大增加,而資料從高位往低位放,
小段存盤:小端模式, 是指資料的高位元組保存在記憶體的高地址中,而資料的低位元組保存在內在的低地址中,這種存盤模式將地址的高低和資料位 權有效結合起來,高地址部分權值高,低地址部分權值低,和我們的邏輯方法一致;
4.為了獲得執行緒本身ID號的函式是(),
答案:pthread_t pthread_self();
決議:Linux下獲取當前執行緒ID號函式:pthread_t pthread_self();
回傳:當前執行緒的ID號
5. 將套接字和某個地址系結是用()函式,
答案:bind();
決議:int bind(int sockfd, const struct sockaddr *myaddr, socklen_t addrlen);
6. 在Ubuntu中,一般用()命令來檢查主機間網路連通情況,
答案:ping命令
7. 網路編程時涉及的傳輸層協議是()和(),
答案:TCP UDP
三、簡答題
1.列舉國產的嵌入式處理器和國產的作業系統(每個列舉3種),
答案: 處理器:飛騰(ARM)、海思(ARM)、展訊(ARM)
作業系統:統一作業系統(UOS) 深度Linux (Deepin) 優麒麟(UbuntuKylin)
2.寫出3種行程間通信的方式,
答案:訊息佇列 信號 套接字( socket )
管道、訊息佇列、共享記憶體、信號及信號集等
3.解釋寫出下列專業術語的含義:(1)ARM (2)CISC (3)SPSR,
答案:ARM:ARM處理器
CISC:復雜指令集計算機
SPSR:程式狀態保存暫存器
4.解釋ssize_t write (int fd, const void * buf, size_t count);中各引數的含義,
答案:fd:是檔案描述符(write所對應的是寫,即就是1)
buf:通常是一個字串,需要寫入的字串
count:是每次寫入的位元組數
四、綜合題
1.對檔案進行打開,寫入,讀取,關閉等操作
請大家務必掌握open(),close(),write(),read()等函式
2.(1)SIGQUIT ----ctrl+\
SIGINT------ ctrl+c
(2)I have get SIGQUIT
I have get SIGINT
多執行緒編程
主要功能要求:創建兩個執行緒,執行緒1,執行函式func1,列印自己的姓名資訊 ;執行緒2,執行函式func2,列印自己的學號資訊;執行緒執行完退出,
代碼如下:
#include <stdio.h>
#include <pthread.h>
void *func1(void)
{
printf("chenfeifan!!!");
}
void *func2(void)
{
printf("201805090213");
}
int main()
{
int i=0,ret=0;
pthread_t id1,id2;
ret=pthread_create(&id1,NULL,(void*)func1,NULL);
if(ret) {printf("Create pthread1 error!\n");return 1;}
ret=pthread_create(&id2,NULL,(void*)func2,NULL);
if(ret) {printf("Create pthread2 error!\n"); return 1;}
pthread_join(id1,NULL);
pthread_join(id2,NULL);
return 0;
}
運行結果如下:

總結
整理部分內容僅是嵌入式基礎內容,如想深入學習建議進行系統學習,
未經本人許可,不得轉載!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/243884.html
標籤:其他
