国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

南郵-嵌入式復習附錄/習題

這篇具有很好參考價值的文章主要介紹了南郵-嵌入式復習附錄/習題。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

附錄1-6

內(nèi)容可能有誤,歡迎大家指正。

附錄1:

(1)ARM匯編程序由 機器 指令、 匯編 指令和 偽 指令構(gòu)成。
(2)ARM偽指令可以分為以下幾類:符號定義偽指令、數(shù)據(jù)定義偽指令、匯編控制偽指令和宏指令等。
(3)假設存儲數(shù)據(jù)0x12345678于ARM微處理器內(nèi)存0X30000000開始的位置,則0X30000001內(nèi)存位置的數(shù)據(jù)為C(A.0X12 B.0X34 C.0X56 D.0X78)(采用小端模式進行存儲)
(4)一般情況下,ARM微處理器異常處理模式共有7種,機器啟動后第一條指令執(zhí)行的是A(A.復位異常處理函數(shù)指令 B.中斷異常處理指令 C.IRQ異常處理指令 D.指令預取終止異常)。
(5)調(diào)用函數(shù)FUN(X,Y,Z),則實參值分別通過 r0、r1 、 r2寄存器來進行傳遞,如果參數(shù)超過4個,則參數(shù)傳遞規(guī)則為通過棧進行傳遞。
(6)舉例列出一款ARM7TDMI微內(nèi)核的嵌入式微處理器S3C44BOX ,ARM920T微內(nèi)核的嵌入式微處理器S3C2410,ARM11內(nèi)核的嵌入式微處理器 S3C6410,并列舉2款64位ARM微內(nèi)核Cortex-A53、Cortex-A57。
(7)利用匯編和C混合編程,設計代碼完成求a,b,c中最大值功能,要求寫出匯編啟動代碼和C代碼。
1.匯編文件 asses.S
EXPORT Max
IMPORT Main
AREA Init,CODE,READONLY
ENTRY
MOV R13,#0X3008000
B Main
MAX
LDR R2,[R0],#4
loop
SUB R1,R1,#1
LDR R3,[R0],#4
CMP R2,R3
MOVLT R2,R3
CMP R1,#1
BEQ EXIT
B loop
exit
MOV R0,R2
MOV PC,LR
END
2.C 文件
//main.c
int Max(int *pa,int len);
void Main()
{
int a[5]={10,24,8,67,34};
Max(a,5);
}

附錄2:

1.嵌入式Linux操作系統(tǒng)包括bootloader、內(nèi)核、文件系統(tǒng) 三部分組成。
2.在PC機上Linux系統(tǒng)編譯使用的編譯器名為gcc,ARM處理器嵌入式編譯器名為arm-linux-gcc。
3.bootloader的功能:①引導操作系統(tǒng)內(nèi)核啟動②提供輔助命令工具。
4.列出最常用的bootloader:vivi、uboot、redboot、lilo、grub、etherboot。
5.在uboot中,打印開發(fā)板上環(huán)境變量值的命令為printenv,設置IP地址為192.168.1.1的命令為setenv ipaddr 192.168.1.1,假如嵌入式內(nèi)核名為vmlinux,通過tftp加載內(nèi)核的命令為setenv ipaddr 192.168.1.1,啟動嵌入式Linux內(nèi)核的命令為bootm。
6.從C語言角度來理解,嵌入式Linux內(nèi)核僅是眾多函數(shù)的集合體,其有一個類似于main的函數(shù),名稱為start_kernel。
7.嵌入式Linux內(nèi)核裁剪命令為make menuconfig;裁剪完成后生成配置選擇文件.config;編譯內(nèi)核命令為make zImage。
8.啟動linux后常用的命令如ifconfig、cp、ls等通常位于C(A.bootloaderB.內(nèi)核C.文件系統(tǒng))中;嵌入式Linux環(huán)境下生成文件系統(tǒng)的常用工具為mkyaffs2img;以yaffs方法為例,將嵌入式文件夾壓縮成一個yaffs2格式的文件系統(tǒng)命令為mkyaffs2img 文件夾 鏡像文件名。
9.構(gòu)建嵌入式Linux系統(tǒng)時,燒寫bootloader的工具為hjtag;燒寫Linux內(nèi)核一般使用A(A.bootloader B.文件系統(tǒng) C.交叉編譯器)來燒寫,燒寫文件系統(tǒng)一般使用A(A.bootloader B.文件系統(tǒng) C.交叉編譯器)來燒寫。
10.簡述構(gòu)建嵌入式Linux系統(tǒng)基本過程
三劍客:
裁剪編譯好 uboot 映像文件 uboot.bin
裁剪編譯好內(nèi)核 映像文件 uImage
裁剪編譯好文件系統(tǒng)映像文件 rootfs_qtopia_qt4.img

燒寫至NAND存儲設備

附錄3:

  1. Linux中自動生成makefile的工具集名稱為autotools;工具集包括aclocal、autoscan、autoconf、autoheader和automake等幾部分組成。
    2.一個源碼文件hello.c利用自動生成makefile的工具集后得到文件一批文件后,利用命令#./configure生成Makefile,利用命令#make dist生成發(fā)行壓縮包文件hello.tar.gz。
    3.嵌入式Linux應用程序移植常用configure命令生成Makefile,一般來說,指定安裝目錄為/opt/soft的命令為. /configure --prefix=/opt/soft;如果待生成的可執(zhí)行目標板為ARM處理器,則命令為. /configure --prefix=/opt/soft --HOST=arm-linux。
    4.以web服務器boa移植為例,簡述其基本過程。
    第一步完成Boa程序的移植。下載Boa源碼、生成Makefile文件、修改Makefile文件、編譯。
    第二步完成Boa的配置,使其能夠支持CGI程序的執(zhí)行。修改Group、scrīptAlias、ServerName
    第三步就是測試Boa能否正常工作。Boa的執(zhí)行、CGI腳本測試(編寫Helloworld.c程序、瀏覽)。
    5.嵌入式數(shù)據(jù)庫經(jīng)常使用sqlite,為可以在開發(fā)板上運行的輕型數(shù)庫。通常情況下sqlite提供命令和函數(shù)編程兩種使用方式。
    6.在sqlite下創(chuàng)建數(shù)據(jù)庫stu.db命令為sqlite3 stu. db;創(chuàng)建包含學號,姓名和電話號碼的數(shù)據(jù)表StuPhone命令為create table StuPhone( id integer primary key, name text, phoneNo text ) ;;插入10010201,wangming,13900008888記錄的命令為insert into StuPhone values(10010201, wangming, 13900008888)。
    7.利用函數(shù)調(diào)用創(chuàng)建數(shù)據(jù)庫stu.db的形式為ret=sqlite3_open(const char *filename, sqlite3 **ppDb);;創(chuàng)建包含學號,姓名和電話號碼的數(shù)據(jù)表StuPhone函數(shù)調(diào)用形式為rec = sqlite3_exec(dbPtr, sql, 0, 0, & errMsg); sql = “CREATE TABLE COMPANY(”\……);";;插入10010201,wangming,13900008888記錄的函數(shù)調(diào)用形式為sqlite3_exec()。

附錄4:

  1. 嵌入式Linux內(nèi)核是可裁剪系統(tǒng),通常情況下使用模塊機制進行設計。模塊程序和應用程序分別位于Linux系統(tǒng)的內(nèi)核空間和用戶空間。
  2. 嵌入式Linux系統(tǒng)模塊程序hello.c被編譯成模塊hello.ko后,動態(tài)插入內(nèi)核的命令為#insmod hello. ko,查看Linux內(nèi)核中有哪些模塊的命令為#lsmod,刪除內(nèi)核中模塊hello.ko的命令為#rmmod hello。
    3.編寫一模塊,向內(nèi)核中添加兩整數(shù)相加功能函數(shù)和兩整數(shù)相減功能函數(shù),并要求在加載模塊時打印出“hello,I am in kernel now!”,卸載模塊時打印“hello, I will leave from kernel now!”,編寫Makefile,并簡述加載到內(nèi)核和卸載出內(nèi)核的基本命令。
    (1)模塊文件
    #include <linux/kernel.h>
    #include <linux / module.h> //1.頭文件
    #include <linux/init.h>

int AddFun(int a,int b) //2.加載到內(nèi)核的功能函數(shù)
{
return a+b;
}

static int __init hello_init(void) //3.模塊加載和卸載函數(shù)
{
printk( “insert hetlo module into kernel!\n”):
return 0;
}
static void led_exit(void)
{
printk(“hello module leave from kernel!\n”);
return ;
}
module_init(hello_init);
module_exit(hello_exit);

MODULE LICENSE(“GPL”); //4.模塊許可證說明
(2) Makefile
obj-m: =hello. ko
all:
make – C /opt/linux-2. 6. 38 SUBDIRS=$(shell pwd) modules
clean:
rm -rf *. ko *. o
(3) 編譯和加載
#make
#inmsod hello. ko

附錄5:

  1. 在嵌入式Linux開發(fā)過程中,EmbeddedQT通常情況下用于C(A.內(nèi)核代碼B.驅(qū)動代碼C.圖形應用程序)設計。EmbeddedQT采用工具開發(fā)包的形式提供給用戶,一般情況下包括圖形設計器、QT 的 C++類庫和Makefile 制作工具,字體國際化工具等。
  2. QT開發(fā)中采用信號和插槽機制來連接兩個對象之間的通訊,假設對象a的clicked信號和對象b的handleFunction()相關聯(lián),對應語句為:connect(&a, SIGNAL(clicked() ) , &b, SLOT(handleFunction() ) ) ;
    3.假設有嵌入式LED報警燈驅(qū)動設備文件/dev/led,點亮led燈調(diào)用函數(shù)ioctl(fd,LEDON),熄滅led燈調(diào)用函數(shù)ioctl(fd,LEDOFF),請設計QT應用程序完成如下任務,點擊ON按鈕點亮LED燈,點擊OFF按鈕熄滅LED燈。寫出這兩個按鈕的相關聯(lián)的函數(shù)。假設ON按鈕名稱為m on,OFF按鈕名稱為m off。

關聯(lián)函數(shù):
connect(m_Win, SIGNAL(clicked() ) , m_on, SLOT(LedOnFun() ) ) ;
connect(m_Win, SIGNAL(clicked() ) , m_off, SLOT(LedOffFun() ) ) ;
void LedOnFun( )
{
int fd;
fd=open(“/dev/leddev” , O_RDWR) ;
ioctl(fd, LEDON) ;
close(fd) ;
}
void LedOffFun()
{
int fd;
fd=open(“/dev/leddev” , O_RDWR) ;
ioctl(fd, LEDOFF) ;
close(fd) ;
}

附錄6:

  1. 嵌入式Linux驅(qū)動設備分為字符設備、塊設備和網(wǎng)絡設備三種類型,其中通常情況下鍵盤、鼠標、LCD屏等設備驅(qū)動屬于字符設備,硬盤設備屬于塊設備。
  2. 以模塊的方式向內(nèi)核添加功能函數(shù)int addFun(int a,int b)和int subFun(int a,int b),要求編寫模塊文件,Makefile文件,假設模塊名為hello.ko,寫出加載模塊到內(nèi)核的命令。
    模塊文件
    #include <linux/kernel.h>
    #include <linux / module.h> //1.頭文件
    #include <linux/init.h>

int AddFun(int a,int b) //2.加載到內(nèi)核的功能函數(shù)
{
return a+b;
}
int SubFun(int a,int b)
{
return a-b;
}

MODULE LICENSE(“GPL”); //4.模塊許可證說明

Makefile文件和加載函數(shù)見附錄四第四題。

設備要能被使用,通常需要設備驅(qū)動軟件,在Linux系統(tǒng)中,設備驅(qū)動驅(qū)動軟件位于A(A.內(nèi)核空間 B.用戶空間),假設有LED報警燈設備驅(qū)動軟件leddrv.ko,則加載該驅(qū)動軟件到內(nèi)核命令為_#insmod leddrv. ko,測試完成后,將該軟件從內(nèi)核中卸載命令為_ #rmmod leddrv_。
3. 除網(wǎng)絡設備外,設備驅(qū)動通常采用文件方式進行訪問,一般包括_打開設備、讀寫控制設備,最后關閉設備。在Linux中設備文件名本質(zhì)上是設備號,將兩者之間建立關聯(lián)的命令為mknod,假設LED設備驅(qū)動主設備號為253,次設備號為0,設備名為leddev,則建立設備文件的具體命令為#mknod /dev/leddev c 253 0_。
4.簡述編寫看門狗驅(qū)動基本步驟
編寫硬件驅(qū)動代碼, 包括:
編寫硬件接口函數(shù)
建立文件系統(tǒng)與硬件接口函數(shù)的關聯(lián)
注冊字符設備
添加模塊代碼
編譯設備驅(qū)動并加載到內(nèi)核, 包括:
編寫Makefile
編譯
加載
創(chuàng)建設備節(jié)點
編寫應用程序訪問底層設備驅(qū)動

第四部分:考試題型

考試題型分為填空題(選擇題)、問答題和設計題三種類型,分別占比為40%、40%和20%文章來源地址http://www.zghlxwxcb.cn/news/detail-446905.html

  1. 填空題
    共20空,每空2分
    如:
    嵌入式應用程序hello.c,編譯成ARM平臺可執(zhí)行程序hello,編譯指令為arm-linux-gcc hello.c –o hello,依據(jù)所做實驗平臺,假設要將其從PC端搬運到ARM平臺,則使用什么工具完成A(A. ADS B.gcc C.串口超級終端)
    填空題基本為教材和實驗指導書上內(nèi)容。
  2. 問答題
    共3題,40分
    如:
    簡述嵌入式Linux系統(tǒng)構(gòu)建過程中根文件系統(tǒng)有哪幾部分組成,并簡述每一部分的基本構(gòu)建過程(要求寫出源碼名稱,解壓命令,裁剪命令、編譯命令和安裝命令等)
    3道編程題有1道為教材上內(nèi)容,其余兩道均為實驗和課堂上所講內(nèi)容。
    3.設計題
    共1題,共20分
    詳見第七講+第八講
    主要考察大家對嵌入式系統(tǒng)的基本設計能力,題目結(jié)合實驗內(nèi)容進行考察,有較高難度,請大家務必對我們的實驗及實驗報告認真學習和總結(jié)。

到了這里,關于南郵-嵌入式復習附錄/習題的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【嵌入式系統(tǒng)】 期末復習提綱

    【嵌入式系統(tǒng)】 期末復習提綱

    1、嵌入式系統(tǒng)的概念 以應用為中心、以計算機技術為基礎、軟硬件可裁剪,適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。 2、了解ARM體系結(jié)構(gòu)的演變進程 1991年開始共推出7個版本,V1~V3未用于商業(yè)授權。V4T開始商業(yè)授權,T表示16位Thumb指令,

    2024年02月08日
    瀏覽(19)
  • 西郵嵌入式系統(tǒng)復習

    西郵嵌入式系統(tǒng)復習

    可以私聊我獲取pdf版本! 提示:這里可以添加本文要記錄的大概內(nèi)容: 期末復習知識點總結(jié) 第一次整理 提示:以下是本篇文章正文內(nèi)容,下面案例可供參考 1.1.0 嵌入式系統(tǒng)發(fā)展 (選擇 4個階段) 無操作系統(tǒng)的單片機階段–以微控制器為基礎、以簡單操 作系統(tǒng)為核心的嵌入

    2024年02月15日
    瀏覽(26)
  • 嵌入式期末復習(四)簡答題

    1.ARM公司全稱是什么,商業(yè)模式是什么?列舉ST公司常用的ARM內(nèi)核單片機型號? (1)全稱: Ad va nced RISC Machines ) (2)商業(yè)模式:為產(chǎn)品做設計,知識產(chǎn)權付費 (3)stm32f101c8t6、stm32f103rct6、stm32f104zet6 2.馮諾依曼結(jié)構(gòu)和哈佛結(jié)構(gòu)區(qū)別? (1)馮諾依曼結(jié)構(gòu):指令和數(shù)據(jù)合并在

    2024年02月02日
    瀏覽(32)
  • 【嵌入式系統(tǒng)】課程復習資料整理

    【嵌入式系統(tǒng)】課程復習資料整理

    【嵌入式系統(tǒng)】課程復習資料整理 一、緒論 1.定義 從技術的角度定義:以應用為中心、以計算機技術為基礎、軟件硬件可裁剪、對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。 從系統(tǒng)的角度定義:嵌入式系統(tǒng)是設計完成復雜功能的硬件和軟件,并使其緊密

    2024年02月03日
    瀏覽(23)
  • 嵌入式學習之C語言指針部分復習

    嵌入式學習之C語言指針部分復習

    今天主要把C語言的指針部分再次認真的復習了一下,對于指針的整體框架有了更加深刻的理解,特別要重點區(qū)分函數(shù)指針,指針函數(shù),數(shù)組指針,指針數(shù)組部分,對于這部分的應用非常重要,而且C語言指針部分是面試的重中之重,所以要加強練習才行。 今天的學習是充滿動

    2024年02月12日
    瀏覽(19)
  • 嵌入式系統(tǒng)期末復習知識點整理(一)

    嵌入式系統(tǒng)期末復習知識點整理(一)

    1-8答案: 1、嵌入性 專用性 計算機系統(tǒng) 2、專用計算機系統(tǒng) 3、系統(tǒng)能夠在限定的相應時間內(nèi)提供所需水平的服務 us~ms ms~s s級以上 4、嵌入式處理器、外圍硬件設備、嵌入式操作系統(tǒng)(可選)、用戶的應用軟件系統(tǒng) 5、非實時系統(tǒng)、硬實時系統(tǒng)、軟實時系統(tǒng) 6、將程序和數(shù)據(jù)存

    2024年02月05日
    瀏覽(26)
  • 嵌入式學習stm32基礎知識(期末復習)

    嵌入式學習stm32基礎知識(期末復習)

    1. 計算機的體系架構(gòu) 馮諾依曼架構(gòu) ? 在完整的計算機系統(tǒng)中,包含五個部分,儲存器,運算器,控制器輸入設備和輸出設備。 改進的馮諾依曼架構(gòu) 改進型架構(gòu)的各模塊的高速數(shù)據(jù)交換中心利用儲存器這個大容量,極大的提高了效率。 哈佛架構(gòu) ? 哈佛結(jié)構(gòu)數(shù)據(jù)空間和地址

    2024年02月07日
    瀏覽(73)
  • 嵌入式原理與應用期末復習匯總(附某高校期末真題試卷)

    嵌入式原理與應用期末復習匯總(附某高校期末真題試卷)

    1、為保證在啟動服務器時自動啟動DHCP進程,應對( B )文件進行編輯。 A、 /etc/rc.d/rc.inet2 B、/etc/rc.d/rc.inet1 C、/etc/dhcpd.conf D、/etc/rc.d/rc.S 2、文件exer1的訪問權限為rw-r–r–,現(xiàn)要增加所有用戶的執(zhí)行權限和同組用戶的寫權限,下列命令正確的是( A )。 A 、chmod a+x g+w exer1

    2024年02月08日
    瀏覽(26)
  • 【期末復習】2021-20222南郵網(wǎng)絡安全技術復習題

    【期末復習】2021-20222南郵網(wǎng)絡安全技術復習題

    1. 計算機安全的核心內(nèi)容:機密性,完整性,可用性(選擇判斷) 其中 機密性 又包含數(shù)據(jù)機密性和 隱私性 隱私性 :保證個人可以控制和影響與之相關的信息,這些信息有可能被收集、存儲、和泄露 2. 拒絕服務 可以阻止或禁止對通信設備的正常使用或管理。(選擇) 3.

    2024年02月09日
    瀏覽(127)
  • 嵌入式系統(tǒng)設計師考試筆記之操作系統(tǒng)基礎復習筆記二

    嵌入式系統(tǒng)設計師考試筆記之操作系統(tǒng)基礎復習筆記二

    目錄 3、任務管理 (1)嵌入式操作系統(tǒng)的任務管理可以分為 (2)進程 (3)線程 (4)任務 (5)任務的創(chuàng)建與中止 (6)任務的狀態(tài)任務有三中基本狀態(tài): (7)任務控制塊 TCB (8)任務的切換 (9)任務的調(diào)度 (10)實時系統(tǒng)調(diào)度 (11)任務互斥 (12)信號量 (13)任務同

    2024年02月08日
    瀏覽(91)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包