中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      嵌入式c語言筆試題及答案

      時間:2024-09-09 10:01:35 嵌入式培訓 我要投稿
      • 相關推薦

      2017年嵌入式c語言筆試題及答案

        1 讀程序段,回答問題

      2017年嵌入式c語言筆試題及答案

        int main(int argc,char *argv[])

        {

        int c=9,d=0;

        c=c++%5;

        d=c;

        printf("d=%d\n",d);

        return 0;

        }

        a) 寫出程序輸出

        b) 在一個可移植的系統(tǒng)中這種表達式是否存在風險?why?

        #include "stdio.h"

        int a=0;

        int b;

        static char c;

        int main(int argc,char *argv[])

        {

        char d=4;

        static short e;

        a++;

        b=100;

        c=(char)++a;

        e=(++d)++;

        printf("a=%d, b=%d, c=%d, d= %d, e=%d",a,b,c,d,e);

        return 0;

        }

        a) 寫出程序輸出

        b) 編譯器如果安排各個變量(a,b,c,d)在內存中的布局(eg. stack,heap,data section,bss section),最好用圖形方式描述。

        2 中斷是嵌入式系統(tǒng)中重要的組成部分,這導致了許多編譯開發(fā)商提供一種擴展:讓標準C支持中斷,產生了一個新的關鍵字__interrupt。下面的代碼就使用了__interrupt關鍵字去定義了一個中斷服務子程序(ISR),請評論以下這段代碼。

        __interrupt double compute_area(double radius)

        {

        double area = PI * radius *radius;

        printf("nArea = %f", area);

        return area;

        }

        3 C/C++基礎知識問題

        a) 關鍵字volatile在編譯時有什么含義?并給出三個不同使用場景的例子(可以偽代碼或者文字描述)。

        b) C語言中static關鍵字的具體作用有哪些 ?

        c) 請問下面三種變量聲明有何區(qū)別?請給出具體含義

        int const *p;

        int* const p;

        int const* const p;

        4 嵌入式系統(tǒng)相關問題

        a) 對于整形變量A=0x12345678,請畫出在little endian及big endian的方式下在內存中是如何存儲的。

        b) 在ARM系統(tǒng)中,函數(shù)調用的時候,參數(shù)是通過哪種方式傳遞的?

        c) 中斷(interrupt,如鍵盤中斷)與異常(exception,如除零異常)有何區(qū)別?

        5 設周期性任務P1,P2,P3的周期為T1,T2,T3分別為100,150,400;執(zhí)行時間分別為20,40,100。請設計一種調度算法進行任務調度,滿足任務執(zhí)行周期及任務周期。

        6 優(yōu)先級反轉問題在嵌入式系統(tǒng)中是一中嚴重的問題,必須給與足夠重視。

        a) 首先請解釋優(yōu)先級反轉問題

        b) 很多RTOS提供優(yōu)先級繼承策略(Priority inheritance)和優(yōu)先級天花板策略(Priority ceilings)用來解決優(yōu)先級反轉問題,請討論這兩種策略。

        參考答案:

        1 5

        存在風險,因為c=c++%5;這個表達式對c有兩次修改,行為未定義,c的值不確定

        int a=0; // data section

        int b; // data section

        static char c; // BSS

        int main(int argc,char *argv[])

        {

        char d=4; // stack

        static short e; // BSS

        a++;

        b=100;

        c=(char)++a;

        e=(++d)++;

        printf("a=%d, b=%d, c=%d, d= %d, e=%d",a,b,c,d,e);

        return 0;

        }

        a=2,b=100,c=2,d=6,e=5

        2 a)ISR不能返回一個值;

        b)ISR不能傳遞參數(shù);

        c)浮點一般都是不可重入的;

        d)printf函數(shù)有重入和性能上的問題。

        3 a) 用volatile關鍵字定義變量,相當于告訴編譯器,這個變量的值會隨時發(fā)生變化,每次使用時都需要去內存里

        重新讀取它的值,并不要隨意針對它作優(yōu)化。

        建議使用volatile變量的場所:

        (1) 并行設備的硬件寄存器

        (2) 一個中斷服務子程序中會訪問到的非自動變量(全局變量)

        (3) 多線程應用中被幾個任務共享的變量

        b) 在函數(shù)體,一個被聲明為靜態(tài)的變量在這一函數(shù)被調用過程中維持其值不變。

        在模塊內(但在函數(shù)體外),一個被聲明為靜態(tài)的變量可以被模塊內所用函數(shù)訪問,但不能被模塊外其它函數(shù)

        訪問。它是一個本地的全局變量。

        在模塊內,一個被聲明為靜態(tài)的函數(shù)只可被這一模塊內的其它函數(shù)調用。那就是,這個函數(shù)被限制在聲明它的

        模塊的本地范圍內使用。

        static全局變量與普通的全局變量有什么區(qū)別:static全局變量只初使化一次,防止在其他文件單元中被引用;

        static局部變量和普通局部變量有什么區(qū)別:static局部變量只被初始化一次,下一次依據上一次結果值;

        static函數(shù)與普通函數(shù)有什么區(qū)別:static函數(shù)在內存中只有一份,普通函數(shù)在每個被調用中維持一份拷貝

        c) 一個指向常整型數(shù)的指針

        一個指向整型數(shù)的常指針

        一個指向常整型數(shù)的常指針

        4

        a) 0x12345678

        little endian big endian 剛好反過來

        高地址--〉 0x12 低地址--〉 0x12

        0x34 0x34

        0x56 0x56

        低地址--〉 0x78 高地址--〉 0x78

        b)參數(shù)<=4時候,通過R0~R3傳遞,>4的通過壓棧方式傳遞

        c) 異常:在產生時必須考慮與處理器的時鐘同步,實踐上,異常也稱為同步中斷。在處理器執(zhí)行到由于編程失誤而導致的錯誤指令時,或者在執(zhí)行期間出現(xiàn)特殊情況(如缺頁),必須靠內核處理的時候,處理器就會產生一個異常。

        所謂中斷應該是指外部硬件產生的一個電信號,從cpu的中斷引腳進入,打斷cpu當前的運行;

        所謂異常,是指軟件運行中發(fā)生了一些必須作出處理的事件,cpu自動產生一個陷入來打斷當前運行,轉入異常處理流程。

        異步與同步的區(qū)別`

        5

        6 高優(yōu)先級任務需要等待低優(yōu)先級任務釋放資源,而低優(yōu)先級任務又正在等待中等優(yōu)先級任務的現(xiàn)象叫做優(yōu)先級反轉優(yōu)先級繼承策略(Priority inheritance):繼承現(xiàn)有被阻塞任務的最高優(yōu)先級作為其優(yōu)先級,任務退出臨界區(qū),恢復初始優(yōu)先級。

        優(yōu)先級天花板策略(Priority ceilings):控制訪問臨界資源的信號量的優(yōu)先級天花板。

        優(yōu)先級繼承策略對任務執(zhí)行流程的影響相對教小,因為只有當高優(yōu)先級任務申請已被低優(yōu)先級任務占有的臨界資源

        這一事實發(fā)生時,才抬升低優(yōu)先級任務的優(yōu)先級

      【嵌入式c語言筆試題及答案】相關文章:

      嵌入式C語言面試題(附答案)06-15

      華為C語言上機試題及答案07-01

      2016年嵌入式c語言筆試題08-16

      2016年嵌入式面試C語言試題「精選」09-25

      2016年嵌入式軟件C語言筆試題10-02

      計算機C語言試題及答案07-26

      嵌入式C/C++面試題201610-10

      2017計算機二c語言題庫試題及答案06-22

      精選C++面試題及答案05-23

      嵌入式系統(tǒng)開發(fā)人員C語言測試題09-14

      主站蜘蛛池模板: 亚洲一区不卡在线导航| 丰满少妇一区二区三区专区| 莲花县| 久草热这里只有精品在线| 陇南市| 国产亚洲精品日韩香蕉网| 亚洲一区二区高清在线| 黄山市| 国产精品一卡二卡三卡| 日本免费一区二区三区在线观看 | 榕江县| 国产白浆美女在线观看| 黑丝美女喷水在线观看| av手机天堂| 午夜无码国产18禁| 青浦区| 久久久调教亚洲| 成人国产乱对白在线观看| 尤物yw午夜国产精品视频| 日日躁欧美老妇| 成人精品免费av不卡在线观看| 亚洲无码激情视频在线观看| 91精品国产91久久综合桃花 | 亚洲永久一区二区三区在线| 国产乱人伦AⅤ在线麻豆A| 四虎影视国产884a精品亚洲| 亚洲五月婷婷久久综合| 日韩中文字幕区一区有砖一区| 人妖熟女少妇人妖少妇| 国产一区二区三区高清视频| 浦江县| 舞阳县| 阿v视频在线| 一区二区在线中文字幕| 久久99久久99精品免观看不卡 | 双鸭山市| 亚洲中文字幕女同一区二区三区 | 自治县| 亚洲国产欲色有一二欲色| 国产午夜视频免费观看| 国产乱子伦农村xxxx|