學(xué)習(xí)啦>創(chuàng)業(yè)指南>職場>筆試題>

嵌入式筆試題

時(shí)間: 護(hù)托1061 分享

  從應(yīng)用對(duì)象上加以定義,嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機(jī)械等附屬裝置。國內(nèi)普遍認(rèn)同的嵌入式系統(tǒng)定義為:以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗等嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。下面就由學(xué)習(xí)啦小編為大家介紹一下嵌入式筆試題的文章,歡迎閱讀。

  嵌入式筆試題篇1

  1:用C語言實(shí)現(xiàn)大小端的測試

  Int CheckCpu()

  {

  union

  {

  int a;

  char b;

  }c;

  c.a=1;

  if(c.b==1)

  printf(“小端”);

  else printf(“大端”);

  }

  2:volatile的作用有哪些?

  Volatile第一變量相當(dāng)于告訴編譯器這個(gè)變量的值會(huì)隨時(shí)發(fā)生變化,每次使用之前都要去內(nèi)存里從新讀取它的值,并不要隨意針對(duì)它做優(yōu)化,主要用在:

  1:一個(gè)中斷子程序中會(huì)訪問到的非自動(dòng)變量;

  2:多線程應(yīng)用中被幾個(gè)線程共享的變量;

  3:并行設(shè)備的硬件寄存器。

  3:C語言中static關(guān)鍵字的作用有哪些?

  1:在函數(shù)體中,一個(gè)被聲明為靜態(tài)的變量在這個(gè)變量在調(diào)用過程中維持其值不變;

  2:在模塊內(nèi)(但在函數(shù)體外),一個(gè)被聲明為靜態(tài)的變量,可以被這個(gè)模塊內(nèi)的所用函數(shù)使用,但不能被模塊外的函數(shù)使用,它是一個(gè)本地的全局變量;

  3:在模塊內(nèi),一個(gè)被聲明為靜態(tài)變量的函數(shù),智能被這個(gè)模塊內(nèi)的函數(shù)調(diào)用;

  4:static全局變量與局部變量的區(qū)別:static全局變量只能被初始化一次,防止其他單元文件中被引用;

  5:static局部變量與局部變量的區(qū)別:static局部變量只能被初始化一次,下一次依據(jù)上一次結(jié)果的值;

  6:static函數(shù)與普通函數(shù)的區(qū)別:static在內(nèi)存中只用一份,普通函數(shù)在每一次調(diào)用中維持一份拷貝。

  4:請(qǐng)問下面三種變量的區(qū)別:

  Int const *p : 指向常整型的指針;

  Int *const p; 指向整型的常指針;

  Int *const *p: 指向常整型的常指針;

  5:在ARM系統(tǒng)中,在函數(shù)調(diào)用的時(shí)候,參數(shù)是通過哪種方式傳遞的。

  當(dāng)參數(shù)小于等于4的時(shí)候是通過r0~r3來進(jìn)行傳遞的,當(dāng)參數(shù)大于4的時(shí)候是通過壓棧的方式進(jìn)行傳遞。

  6:中斷與異常有何區(qū)別.

  異常在處理的時(shí)候必須考慮與處理器的時(shí)鐘同步,實(shí)際上異常也稱為同步中斷,在處理器執(zhí)行到因編譯錯(cuò)誤而導(dǎo)致的錯(cuò)誤指令時(shí),或者在執(zhí)行期間出現(xiàn)特殊錯(cuò)誤,必須靠內(nèi)核處理的時(shí)候,處理器就會(huì)產(chǎn)生一個(gè)異常;所謂中斷是指外部硬件產(chǎn)生的一個(gè)電信號(hào)從CPU的中斷引腳進(jìn)入,打斷CPU的運(yùn)行。所謂異常是指軟件運(yùn)行過程中發(fā)生了一些必須作出處理的事件,CPU自動(dòng)產(chǎn)生一個(gè)陷入來打斷CPU的運(yùn)行。

  7:用預(yù)處理指令#define表示一年中有多少秒

  #define SECONDS_PER_YEAR (60*60*24*365)UL

  注意后面必須加UL,表示計(jì)算的結(jié)構(gòu)是常整型。

  8:簡述SPI,UART,I2C三種傳輸方式。

  SPI:高速同步串行口,首發(fā)獨(dú)立,可同步進(jìn)行

  SPI接口主要應(yīng)用在EEPROM,F(xiàn)lash,實(shí)時(shí)時(shí)鐘,A/D轉(zhuǎn)化器,數(shù)字信號(hào)處理,是一種全雙工同步通訊總線,該接口一般使用四條線:串行時(shí)鐘線(sck),主出從入線,主入從出線,低電平有效地的從機(jī)選擇線。

  I2C協(xié)議:是單片機(jī)與其他芯片進(jìn)行通訊的協(xié)議:1:只要求兩條總線線路,一條是串行時(shí)鐘線,一條是串行數(shù)據(jù)線; 2:通過軟件設(shè)定地址 3:是一個(gè)多主機(jī)總線,如果兩個(gè)或更多主機(jī)同時(shí)初始化數(shù)據(jù)傳送可通過沖突檢測和仲裁防止數(shù)據(jù)破壞; 4:I2C總線傳輸?shù)氖菙?shù)據(jù)的總高位

  UART:主要是由一個(gè)modem(調(diào)制解調(diào)器),可以將模擬信號(hào)量轉(zhuǎn)化成數(shù)字信號(hào)量。

  9:中斷不能返回一個(gè)值,中斷不能傳遞參數(shù)。

  10:嵌入式系統(tǒng)總要求用戶對(duì)變量或者寄存器進(jìn)行位操作,給定一個(gè)整型變量a:

  define BIT3 (oxo1<<3)

  static int a ;

  void set_bit3(void)

  {

  a|=BIT3;

  }

  void clear_bit3(void)

  {

  a&=~BIT3;

  }

  作為一個(gè)嵌入式程序員,這種程序是小菜一碟,至所以給出這個(gè)程序,是想規(guī)范大家寫程序方法,這里主要是用到了一個(gè)宏定義:BIT3 這樣的話就可以增加程序的可讀性

  同時(shí)移植性也增強(qiáng)。

  嵌入式筆試題篇2

  1:嵌入式系統(tǒng)中經(jīng)常要求程序去訪問某特定內(nèi)存的特點(diǎn),在某工程中,要求設(shè)定一個(gè)絕對(duì)地址0x6799的整型變量的值為0xaa66.

  Int *ptr;

  ptr=(int*)0x67a9;

  *ptr=aa66

  2:引用和指針有什么區(qū)別?

  1:應(yīng)用必須初始化,指針不必;

  2:引用處畫化后不能改變,指針可以被改變;

  3:不存在指向空值的引用,但存在指向空值的指針;

  3:全局變量與局部變量在內(nèi)存中是否有區(qū)別,是什么區(qū)別?

  全局變量存儲(chǔ)在靜態(tài)數(shù)據(jù)庫,局部變量存儲(chǔ)在堆棧;

  4:寫出float,bool,int類型與零的比較,假設(shè)變量為X:

  Int : if(x==0)

  Float: if(x>0.0000001&&x<0.0000001)

  Bool: if(x==false)

  5:Intertnet采用哪種網(wǎng)絡(luò)協(xié)議,該協(xié)議的主要層次結(jié)構(gòu)?

  TCP/IP協(xié)議

  應(yīng)用層/傳輸層/網(wǎng)絡(luò)層/數(shù)字鏈路層/物理層。

  6:IP地址有兩部分組成:網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)

  7:程序的局部變量存儲(chǔ)在(棧)中,全局變量存儲(chǔ)于(靜態(tài)存儲(chǔ)區(qū)),動(dòng)態(tài)申請(qǐng)數(shù)據(jù)存儲(chǔ)于(堆中);

  8:編寫一個(gè)字符串復(fù)制函數(shù):strcpy(const char *str,const char *str1)

  void strcpy(const *char str,const chat *str1)

  {

  if(*str1==’

嵌入式筆試題

時(shí)間: 護(hù)托1061 分享

  從應(yīng)用對(duì)象上加以定義,嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機(jī)械等附屬裝置。國內(nèi)普遍認(rèn)同的嵌入式系統(tǒng)定義為:以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗等嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。下面就由學(xué)習(xí)啦小編為大家介紹一下嵌入式筆試題的文章,歡迎閱讀。

  嵌入式筆試題篇1

  1:用C語言實(shí)現(xiàn)大小端的測試

  Int CheckCpu()

  {

  union

  {

  int a;

  char b;

  }c;

  c.a=1;

  if(c.b==1)

  printf(“小端”);

  else printf(“大端”);

  }

  2:volatile的作用有哪些?

  Volatile第一變量相當(dāng)于告訴編譯器這個(gè)變量的值會(huì)隨時(shí)發(fā)生變化,每次使用之前都要去內(nèi)存里從新讀取它的值,并不要隨意針對(duì)它做優(yōu)化,主要用在:

  1:一個(gè)中斷子程序中會(huì)訪問到的非自動(dòng)變量;

  2:多線程應(yīng)用中被幾個(gè)線程共享的變量;

  3:并行設(shè)備的硬件寄存器。

  3:C語言中static關(guān)鍵字的作用有哪些?

  1:在函數(shù)體中,一個(gè)被聲明為靜態(tài)的變量在這個(gè)變量在調(diào)用過程中維持其值不變;

  2:在模塊內(nèi)(但在函數(shù)體外),一個(gè)被聲明為靜態(tài)的變量,可以被這個(gè)模塊內(nèi)的所用函數(shù)使用,但不能被模塊外的函數(shù)使用,它是一個(gè)本地的全局變量;

  3:在模塊內(nèi),一個(gè)被聲明為靜態(tài)變量的函數(shù),智能被這個(gè)模塊內(nèi)的函數(shù)調(diào)用;

  4:static全局變量與局部變量的區(qū)別:static全局變量只能被初始化一次,防止其他單元文件中被引用;

  5:static局部變量與局部變量的區(qū)別:static局部變量只能被初始化一次,下一次依據(jù)上一次結(jié)果的值;

  6:static函數(shù)與普通函數(shù)的區(qū)別:static在內(nèi)存中只用一份,普通函數(shù)在每一次調(diào)用中維持一份拷貝。

  4:請(qǐng)問下面三種變量的區(qū)別:

  Int const *p : 指向常整型的指針;

  Int *const p; 指向整型的常指針;

  Int *const *p: 指向常整型的常指針;

  5:在ARM系統(tǒng)中,在函數(shù)調(diào)用的時(shí)候,參數(shù)是通過哪種方式傳遞的。

  當(dāng)參數(shù)小于等于4的時(shí)候是通過r0~r3來進(jìn)行傳遞的,當(dāng)參數(shù)大于4的時(shí)候是通過壓棧的方式進(jìn)行傳遞。

  6:中斷與異常有何區(qū)別.

  異常在處理的時(shí)候必須考慮與處理器的時(shí)鐘同步,實(shí)際上異常也稱為同步中斷,在處理器執(zhí)行到因編譯錯(cuò)誤而導(dǎo)致的錯(cuò)誤指令時(shí),或者在執(zhí)行期間出現(xiàn)特殊錯(cuò)誤,必須靠內(nèi)核處理的時(shí)候,處理器就會(huì)產(chǎn)生一個(gè)異常;所謂中斷是指外部硬件產(chǎn)生的一個(gè)電信號(hào)從CPU的中斷引腳進(jìn)入,打斷CPU的運(yùn)行。所謂異常是指軟件運(yùn)行過程中發(fā)生了一些必須作出處理的事件,CPU自動(dòng)產(chǎn)生一個(gè)陷入來打斷CPU的運(yùn)行。

  7:用預(yù)處理指令#define表示一年中有多少秒

  #define SECONDS_PER_YEAR (60*60*24*365)UL

  注意后面必須加UL,表示計(jì)算的結(jié)構(gòu)是常整型。

  8:簡述SPI,UART,I2C三種傳輸方式。

  SPI:高速同步串行口,首發(fā)獨(dú)立,可同步進(jìn)行

  SPI接口主要應(yīng)用在EEPROM,F(xiàn)lash,實(shí)時(shí)時(shí)鐘,A/D轉(zhuǎn)化器,數(shù)字信號(hào)處理,是一種全雙工同步通訊總線,該接口一般使用四條線:串行時(shí)鐘線(sck),主出從入線,主入從出線,低電平有效地的從機(jī)選擇線。

  I2C協(xié)議:是單片機(jī)與其他芯片進(jìn)行通訊的協(xié)議:1:只要求兩條總線線路,一條是串行時(shí)鐘線,一條是串行數(shù)據(jù)線; 2:通過軟件設(shè)定地址 3:是一個(gè)多主機(jī)總線,如果兩個(gè)或更多主機(jī)同時(shí)初始化數(shù)據(jù)傳送可通過沖突檢測和仲裁防止數(shù)據(jù)破壞; 4:I2C總線傳輸?shù)氖菙?shù)據(jù)的總高位

  UART:主要是由一個(gè)modem(調(diào)制解調(diào)器),可以將模擬信號(hào)量轉(zhuǎn)化成數(shù)字信號(hào)量。

  9:中斷不能返回一個(gè)值,中斷不能傳遞參數(shù)。

  10:嵌入式系統(tǒng)總要求用戶對(duì)變量或者寄存器進(jìn)行位操作,給定一個(gè)整型變量a:

  define BIT3 (oxo1<<3)

  static int a ;

  void set_bit3(void)

  {

  a|=BIT3;

  }

  void clear_bit3(void)

  {

  a&=~BIT3;

  }

  作為一個(gè)嵌入式程序員,這種程序是小菜一碟,至所以給出這個(gè)程序,是想規(guī)范大家寫程序方法,這里主要是用到了一個(gè)宏定義:BIT3 這樣的話就可以增加程序的可讀性

  同時(shí)移植性也增強(qiáng)。

  嵌入式筆試題篇2

  1:嵌入式系統(tǒng)中經(jīng)常要求程序去訪問某特定內(nèi)存的特點(diǎn),在某工程中,要求設(shè)定一個(gè)絕對(duì)地址0x6799的整型變量的值為0xaa66.

  Int *ptr;

  ptr=(int*)0x67a9;

  *ptr=aa66

  2:引用和指針有什么區(qū)別?

  1:應(yīng)用必須初始化,指針不必;

  2:引用處畫化后不能改變,指針可以被改變;

  3:不存在指向空值的引用,但存在指向空值的指針;

  3:全局變量與局部變量在內(nèi)存中是否有區(qū)別,是什么區(qū)別?

  全局變量存儲(chǔ)在靜態(tài)數(shù)據(jù)庫,局部變量存儲(chǔ)在堆棧;

  4:寫出float,bool,int類型與零的比較,假設(shè)變量為X:

  Int : if(x==0)

  Float: if(x>0.0000001&&x<0.0000001)

  Bool: if(x==false)

  5:Intertnet采用哪種網(wǎng)絡(luò)協(xié)議,該協(xié)議的主要層次結(jié)構(gòu)?

  TCP/IP協(xié)議

  應(yīng)用層/傳輸層/網(wǎng)絡(luò)層/數(shù)字鏈路層/物理層。

  6:IP地址有兩部分組成:網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)

  7:程序的局部變量存儲(chǔ)在(棧)中,全局變量存儲(chǔ)于(靜態(tài)存儲(chǔ)區(qū)),動(dòng)態(tài)申請(qǐng)數(shù)據(jù)存儲(chǔ)于(堆中);

  8:編寫一個(gè)字符串復(fù)制函數(shù):strcpy(const char *str,const char *str1)

  void strcpy(const *char str,const chat *str1)

  {

  if(*str1==’\0’) return;

  char *sp1,*sp2;

  sp1= str;

  sp2=str1;

  while(*sp2!=’\0’)

  {

  *sp1=sp2;

  sp1++;

  sp2++;

  }

  }

  9:編寫一個(gè)函數(shù)實(shí)現(xiàn)字符串翻轉(zhuǎn) void rechange(char *str)

  void rechange(char *str)

  {

  Int len;

  char t;

  len=strlen(str);

  for(int i=0;len/2;i++)

  {

  t=str[i];

  str[i]=str[len-i-1];

  str[len-i-1]=t;

  }

  }

  10:編寫一個(gè)函數(shù)實(shí)現(xiàn)字符串比較 int strcmp(char *str1,char *str2),相等返回1,不相等返回0:

  int strcmp(char *str1,char *str2)

  {

  if(*str1==‘\0’||*str2==’\0’) return;

  while(*str1!=’\0’&&*str2!=’\0’&&*str1==*str2)

  {

  str1++;

  str2++;

  }

  if(*str1==*str2)

  return 1;

  else return 0;

  }

  }

  嵌入式筆試題篇3

  進(jìn)程和線程的區(qū)別:

  1:調(diào)度:線程作為調(diào)度和分配的基本單元,進(jìn)程作為擁有資源的基本單位;

  2:并發(fā)性:不僅進(jìn)程可以并發(fā)執(zhí)行,同一進(jìn)程內(nèi)的線程也可以并發(fā)執(zhí)行。

  3:擁有資源:進(jìn)程是擁有資源的基本獨(dú)立單元,線程不擁有資源,但可以訪問進(jìn)程內(nèi)的資源;

  4:在創(chuàng)建或撤銷線程時(shí),由于系統(tǒng)都要為之分配和回收內(nèi)存資源,導(dǎo)致系統(tǒng)的開銷明顯大于創(chuàng)建或撤銷線程時(shí)的開銷。

’) return;

  char *sp1,*sp2;

  sp1= str;

  sp2=str1;

  while(*sp2!=’

嵌入式筆試題

時(shí)間: 護(hù)托1061 分享

  從應(yīng)用對(duì)象上加以定義,嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機(jī)械等附屬裝置。國內(nèi)普遍認(rèn)同的嵌入式系統(tǒng)定義為:以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗等嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。下面就由學(xué)習(xí)啦小編為大家介紹一下嵌入式筆試題的文章,歡迎閱讀。

  嵌入式筆試題篇1

  1:用C語言實(shí)現(xiàn)大小端的測試

  Int CheckCpu()

  {

  union

  {

  int a;

  char b;

  }c;

  c.a=1;

  if(c.b==1)

  printf(“小端”);

  else printf(“大端”);

  }

  2:volatile的作用有哪些?

  Volatile第一變量相當(dāng)于告訴編譯器這個(gè)變量的值會(huì)隨時(shí)發(fā)生變化,每次使用之前都要去內(nèi)存里從新讀取它的值,并不要隨意針對(duì)它做優(yōu)化,主要用在:

  1:一個(gè)中斷子程序中會(huì)訪問到的非自動(dòng)變量;

  2:多線程應(yīng)用中被幾個(gè)線程共享的變量;

  3:并行設(shè)備的硬件寄存器。

  3:C語言中static關(guān)鍵字的作用有哪些?

  1:在函數(shù)體中,一個(gè)被聲明為靜態(tài)的變量在這個(gè)變量在調(diào)用過程中維持其值不變;

  2:在模塊內(nèi)(但在函數(shù)體外),一個(gè)被聲明為靜態(tài)的變量,可以被這個(gè)模塊內(nèi)的所用函數(shù)使用,但不能被模塊外的函數(shù)使用,它是一個(gè)本地的全局變量;

  3:在模塊內(nèi),一個(gè)被聲明為靜態(tài)變量的函數(shù),智能被這個(gè)模塊內(nèi)的函數(shù)調(diào)用;

  4:static全局變量與局部變量的區(qū)別:static全局變量只能被初始化一次,防止其他單元文件中被引用;

  5:static局部變量與局部變量的區(qū)別:static局部變量只能被初始化一次,下一次依據(jù)上一次結(jié)果的值;

  6:static函數(shù)與普通函數(shù)的區(qū)別:static在內(nèi)存中只用一份,普通函數(shù)在每一次調(diào)用中維持一份拷貝。

  4:請(qǐng)問下面三種變量的區(qū)別:

  Int const *p : 指向常整型的指針;

  Int *const p; 指向整型的常指針;

  Int *const *p: 指向常整型的常指針;

  5:在ARM系統(tǒng)中,在函數(shù)調(diào)用的時(shí)候,參數(shù)是通過哪種方式傳遞的。

  當(dāng)參數(shù)小于等于4的時(shí)候是通過r0~r3來進(jìn)行傳遞的,當(dāng)參數(shù)大于4的時(shí)候是通過壓棧的方式進(jìn)行傳遞。

  6:中斷與異常有何區(qū)別.

  異常在處理的時(shí)候必須考慮與處理器的時(shí)鐘同步,實(shí)際上異常也稱為同步中斷,在處理器執(zhí)行到因編譯錯(cuò)誤而導(dǎo)致的錯(cuò)誤指令時(shí),或者在執(zhí)行期間出現(xiàn)特殊錯(cuò)誤,必須靠內(nèi)核處理的時(shí)候,處理器就會(huì)產(chǎn)生一個(gè)異常;所謂中斷是指外部硬件產(chǎn)生的一個(gè)電信號(hào)從CPU的中斷引腳進(jìn)入,打斷CPU的運(yùn)行。所謂異常是指軟件運(yùn)行過程中發(fā)生了一些必須作出處理的事件,CPU自動(dòng)產(chǎn)生一個(gè)陷入來打斷CPU的運(yùn)行。

  7:用預(yù)處理指令#define表示一年中有多少秒

  #define SECONDS_PER_YEAR (60*60*24*365)UL

  注意后面必須加UL,表示計(jì)算的結(jié)構(gòu)是常整型。

  8:簡述SPI,UART,I2C三種傳輸方式。

  SPI:高速同步串行口,首發(fā)獨(dú)立,可同步進(jìn)行

  SPI接口主要應(yīng)用在EEPROM,F(xiàn)lash,實(shí)時(shí)時(shí)鐘,A/D轉(zhuǎn)化器,數(shù)字信號(hào)處理,是一種全雙工同步通訊總線,該接口一般使用四條線:串行時(shí)鐘線(sck),主出從入線,主入從出線,低電平有效地的從機(jī)選擇線。

  I2C協(xié)議:是單片機(jī)與其他芯片進(jìn)行通訊的協(xié)議:1:只要求兩條總線線路,一條是串行時(shí)鐘線,一條是串行數(shù)據(jù)線; 2:通過軟件設(shè)定地址 3:是一個(gè)多主機(jī)總線,如果兩個(gè)或更多主機(jī)同時(shí)初始化數(shù)據(jù)傳送可通過沖突檢測和仲裁防止數(shù)據(jù)破壞; 4:I2C總線傳輸?shù)氖菙?shù)據(jù)的總高位

  UART:主要是由一個(gè)modem(調(diào)制解調(diào)器),可以將模擬信號(hào)量轉(zhuǎn)化成數(shù)字信號(hào)量。

  9:中斷不能返回一個(gè)值,中斷不能傳遞參數(shù)。

  10:嵌入式系統(tǒng)總要求用戶對(duì)變量或者寄存器進(jìn)行位操作,給定一個(gè)整型變量a:

  define BIT3 (oxo1<<3)

  static int a ;

  void set_bit3(void)

  {

  a|=BIT3;

  }

  void clear_bit3(void)

  {

  a&=~BIT3;

  }

  作為一個(gè)嵌入式程序員,這種程序是小菜一碟,至所以給出這個(gè)程序,是想規(guī)范大家寫程序方法,這里主要是用到了一個(gè)宏定義:BIT3 這樣的話就可以增加程序的可讀性

  同時(shí)移植性也增強(qiáng)。

  嵌入式筆試題篇2

  1:嵌入式系統(tǒng)中經(jīng)常要求程序去訪問某特定內(nèi)存的特點(diǎn),在某工程中,要求設(shè)定一個(gè)絕對(duì)地址0x6799的整型變量的值為0xaa66.

  Int *ptr;

  ptr=(int*)0x67a9;

  *ptr=aa66

  2:引用和指針有什么區(qū)別?

  1:應(yīng)用必須初始化,指針不必;

  2:引用處畫化后不能改變,指針可以被改變;

  3:不存在指向空值的引用,但存在指向空值的指針;

  3:全局變量與局部變量在內(nèi)存中是否有區(qū)別,是什么區(qū)別?

  全局變量存儲(chǔ)在靜態(tài)數(shù)據(jù)庫,局部變量存儲(chǔ)在堆棧;

  4:寫出float,bool,int類型與零的比較,假設(shè)變量為X:

  Int : if(x==0)

  Float: if(x>0.0000001&&x<0.0000001)

  Bool: if(x==false)

  5:Intertnet采用哪種網(wǎng)絡(luò)協(xié)議,該協(xié)議的主要層次結(jié)構(gòu)?

  TCP/IP協(xié)議

  應(yīng)用層/傳輸層/網(wǎng)絡(luò)層/數(shù)字鏈路層/物理層。

  6:IP地址有兩部分組成:網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)

  7:程序的局部變量存儲(chǔ)在(棧)中,全局變量存儲(chǔ)于(靜態(tài)存儲(chǔ)區(qū)),動(dòng)態(tài)申請(qǐng)數(shù)據(jù)存儲(chǔ)于(堆中);

  8:編寫一個(gè)字符串復(fù)制函數(shù):strcpy(const char *str,const char *str1)

  void strcpy(const *char str,const chat *str1)

  {

  if(*str1==’\0’) return;

  char *sp1,*sp2;

  sp1= str;

  sp2=str1;

  while(*sp2!=’\0’)

  {

  *sp1=sp2;

  sp1++;

  sp2++;

  }

  }

  9:編寫一個(gè)函數(shù)實(shí)現(xiàn)字符串翻轉(zhuǎn) void rechange(char *str)

  void rechange(char *str)

  {

  Int len;

  char t;

  len=strlen(str);

  for(int i=0;len/2;i++)

  {

  t=str[i];

  str[i]=str[len-i-1];

  str[len-i-1]=t;

  }

  }

  10:編寫一個(gè)函數(shù)實(shí)現(xiàn)字符串比較 int strcmp(char *str1,char *str2),相等返回1,不相等返回0:

  int strcmp(char *str1,char *str2)

  {

  if(*str1==‘\0’||*str2==’\0’) return;

  while(*str1!=’\0’&&*str2!=’\0’&&*str1==*str2)

  {

  str1++;

  str2++;

  }

  if(*str1==*str2)

  return 1;

  else return 0;

  }

  }

  嵌入式筆試題篇3

  進(jìn)程和線程的區(qū)別:

  1:調(diào)度:線程作為調(diào)度和分配的基本單元,進(jìn)程作為擁有資源的基本單位;

  2:并發(fā)性:不僅進(jìn)程可以并發(fā)執(zhí)行,同一進(jìn)程內(nèi)的線程也可以并發(fā)執(zhí)行。

  3:擁有資源:進(jìn)程是擁有資源的基本獨(dú)立單元,線程不擁有資源,但可以訪問進(jìn)程內(nèi)的資源;

  4:在創(chuàng)建或撤銷線程時(shí),由于系統(tǒng)都要為之分配和回收內(nèi)存資源,導(dǎo)致系統(tǒng)的開銷明顯大于創(chuàng)建或撤銷線程時(shí)的開銷。

’)

  {

  *sp1=sp2;

  sp1++;

  sp2++;

  }

  }

  9:編寫一個(gè)函數(shù)實(shí)現(xiàn)字符串翻轉(zhuǎn) void rechange(char *str)

  void rechange(char *str)

  {

  Int len;

  char t;

  len=strlen(str);

  for(int i=0;len/2;i++)

  {

  t=str[i];

  str[i]=str[len-i-1];

  str[len-i-1]=t;

  }

  }

  10:編寫一個(gè)函數(shù)實(shí)現(xiàn)字符串比較 int strcmp(char *str1,char *str2),相等返回1,不相等返回0:

  int strcmp(char *str1,char *str2)

  {

  if(*str1==‘

嵌入式筆試題

時(shí)間: 護(hù)托1061 分享

  從應(yīng)用對(duì)象上加以定義,嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機(jī)械等附屬裝置。國內(nèi)普遍認(rèn)同的嵌入式系統(tǒng)定義為:以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗等嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。下面就由學(xué)習(xí)啦小編為大家介紹一下嵌入式筆試題的文章,歡迎閱讀。

  嵌入式筆試題篇1

  1:用C語言實(shí)現(xiàn)大小端的測試

  Int CheckCpu()

  {

  union

  {

  int a;

  char b;

  }c;

  c.a=1;

  if(c.b==1)

  printf(“小端”);

  else printf(“大端”);

  }

  2:volatile的作用有哪些?

  Volatile第一變量相當(dāng)于告訴編譯器這個(gè)變量的值會(huì)隨時(shí)發(fā)生變化,每次使用之前都要去內(nèi)存里從新讀取它的值,并不要隨意針對(duì)它做優(yōu)化,主要用在:

  1:一個(gè)中斷子程序中會(huì)訪問到的非自動(dòng)變量;

  2:多線程應(yīng)用中被幾個(gè)線程共享的變量;

  3:并行設(shè)備的硬件寄存器。

  3:C語言中static關(guān)鍵字的作用有哪些?

  1:在函數(shù)體中,一個(gè)被聲明為靜態(tài)的變量在這個(gè)變量在調(diào)用過程中維持其值不變;

  2:在模塊內(nèi)(但在函數(shù)體外),一個(gè)被聲明為靜態(tài)的變量,可以被這個(gè)模塊內(nèi)的所用函數(shù)使用,但不能被模塊外的函數(shù)使用,它是一個(gè)本地的全局變量;

  3:在模塊內(nèi),一個(gè)被聲明為靜態(tài)變量的函數(shù),智能被這個(gè)模塊內(nèi)的函數(shù)調(diào)用;

  4:static全局變量與局部變量的區(qū)別:static全局變量只能被初始化一次,防止其他單元文件中被引用;

  5:static局部變量與局部變量的區(qū)別:static局部變量只能被初始化一次,下一次依據(jù)上一次結(jié)果的值;

  6:static函數(shù)與普通函數(shù)的區(qū)別:static在內(nèi)存中只用一份,普通函數(shù)在每一次調(diào)用中維持一份拷貝。

  4:請(qǐng)問下面三種變量的區(qū)別:

  Int const *p : 指向常整型的指針;

  Int *const p; 指向整型的常指針;

  Int *const *p: 指向常整型的常指針;

  5:在ARM系統(tǒng)中,在函數(shù)調(diào)用的時(shí)候,參數(shù)是通過哪種方式傳遞的。

  當(dāng)參數(shù)小于等于4的時(shí)候是通過r0~r3來進(jìn)行傳遞的,當(dāng)參數(shù)大于4的時(shí)候是通過壓棧的方式進(jìn)行傳遞。

  6:中斷與異常有何區(qū)別.

  異常在處理的時(shí)候必須考慮與處理器的時(shí)鐘同步,實(shí)際上異常也稱為同步中斷,在處理器執(zhí)行到因編譯錯(cuò)誤而導(dǎo)致的錯(cuò)誤指令時(shí),或者在執(zhí)行期間出現(xiàn)特殊錯(cuò)誤,必須靠內(nèi)核處理的時(shí)候,處理器就會(huì)產(chǎn)生一個(gè)異常;所謂中斷是指外部硬件產(chǎn)生的一個(gè)電信號(hào)從CPU的中斷引腳進(jìn)入,打斷CPU的運(yùn)行。所謂異常是指軟件運(yùn)行過程中發(fā)生了一些必須作出處理的事件,CPU自動(dòng)產(chǎn)生一個(gè)陷入來打斷CPU的運(yùn)行。

  7:用預(yù)處理指令#define表示一年中有多少秒

  #define SECONDS_PER_YEAR (60*60*24*365)UL

  注意后面必須加UL,表示計(jì)算的結(jié)構(gòu)是常整型。

  8:簡述SPI,UART,I2C三種傳輸方式。

  SPI:高速同步串行口,首發(fā)獨(dú)立,可同步進(jìn)行

  SPI接口主要應(yīng)用在EEPROM,F(xiàn)lash,實(shí)時(shí)時(shí)鐘,A/D轉(zhuǎn)化器,數(shù)字信號(hào)處理,是一種全雙工同步通訊總線,該接口一般使用四條線:串行時(shí)鐘線(sck),主出從入線,主入從出線,低電平有效地的從機(jī)選擇線。

  I2C協(xié)議:是單片機(jī)與其他芯片進(jìn)行通訊的協(xié)議:1:只要求兩條總線線路,一條是串行時(shí)鐘線,一條是串行數(shù)據(jù)線; 2:通過軟件設(shè)定地址 3:是一個(gè)多主機(jī)總線,如果兩個(gè)或更多主機(jī)同時(shí)初始化數(shù)據(jù)傳送可通過沖突檢測和仲裁防止數(shù)據(jù)破壞; 4:I2C總線傳輸?shù)氖菙?shù)據(jù)的總高位

  UART:主要是由一個(gè)modem(調(diào)制解調(diào)器),可以將模擬信號(hào)量轉(zhuǎn)化成數(shù)字信號(hào)量。

  9:中斷不能返回一個(gè)值,中斷不能傳遞參數(shù)。

  10:嵌入式系統(tǒng)總要求用戶對(duì)變量或者寄存器進(jìn)行位操作,給定一個(gè)整型變量a:

  define BIT3 (oxo1<<3)

  static int a ;

  void set_bit3(void)

  {

  a|=BIT3;

  }

  void clear_bit3(void)

  {

  a&=~BIT3;

  }

  作為一個(gè)嵌入式程序員,這種程序是小菜一碟,至所以給出這個(gè)程序,是想規(guī)范大家寫程序方法,這里主要是用到了一個(gè)宏定義:BIT3 這樣的話就可以增加程序的可讀性

  同時(shí)移植性也增強(qiáng)。

  嵌入式筆試題篇2

  1:嵌入式系統(tǒng)中經(jīng)常要求程序去訪問某特定內(nèi)存的特點(diǎn),在某工程中,要求設(shè)定一個(gè)絕對(duì)地址0x6799的整型變量的值為0xaa66.

  Int *ptr;

  ptr=(int*)0x67a9;

  *ptr=aa66

  2:引用和指針有什么區(qū)別?

  1:應(yīng)用必須初始化,指針不必;

  2:引用處畫化后不能改變,指針可以被改變;

  3:不存在指向空值的引用,但存在指向空值的指針;

  3:全局變量與局部變量在內(nèi)存中是否有區(qū)別,是什么區(qū)別?

  全局變量存儲(chǔ)在靜態(tài)數(shù)據(jù)庫,局部變量存儲(chǔ)在堆棧;

  4:寫出float,bool,int類型與零的比較,假設(shè)變量為X:

  Int : if(x==0)

  Float: if(x>0.0000001&&x<0.0000001)

  Bool: if(x==false)

  5:Intertnet采用哪種網(wǎng)絡(luò)協(xié)議,該協(xié)議的主要層次結(jié)構(gòu)?

  TCP/IP協(xié)議

  應(yīng)用層/傳輸層/網(wǎng)絡(luò)層/數(shù)字鏈路層/物理層。

  6:IP地址有兩部分組成:網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)

  7:程序的局部變量存儲(chǔ)在(棧)中,全局變量存儲(chǔ)于(靜態(tài)存儲(chǔ)區(qū)),動(dòng)態(tài)申請(qǐng)數(shù)據(jù)存儲(chǔ)于(堆中);

  8:編寫一個(gè)字符串復(fù)制函數(shù):strcpy(const char *str,const char *str1)

  void strcpy(const *char str,const chat *str1)

  {

  if(*str1==’\0’) return;

  char *sp1,*sp2;

  sp1= str;

  sp2=str1;

  while(*sp2!=’\0’)

  {

  *sp1=sp2;

  sp1++;

  sp2++;

  }

  }

  9:編寫一個(gè)函數(shù)實(shí)現(xiàn)字符串翻轉(zhuǎn) void rechange(char *str)

  void rechange(char *str)

  {

  Int len;

  char t;

  len=strlen(str);

  for(int i=0;len/2;i++)

  {

  t=str[i];

  str[i]=str[len-i-1];

  str[len-i-1]=t;

  }

  }

  10:編寫一個(gè)函數(shù)實(shí)現(xiàn)字符串比較 int strcmp(char *str1,char *str2),相等返回1,不相等返回0:

  int strcmp(char *str1,char *str2)

  {

  if(*str1==‘\0’||*str2==’\0’) return;

  while(*str1!=’\0’&&*str2!=’\0’&&*str1==*str2)

  {

  str1++;

  str2++;

  }

  if(*str1==*str2)

  return 1;

  else return 0;

  }

  }

  嵌入式筆試題篇3

  進(jìn)程和線程的區(qū)別:

  1:調(diào)度:線程作為調(diào)度和分配的基本單元,進(jìn)程作為擁有資源的基本單位;

  2:并發(fā)性:不僅進(jìn)程可以并發(fā)執(zhí)行,同一進(jìn)程內(nèi)的線程也可以并發(fā)執(zhí)行。

  3:擁有資源:進(jìn)程是擁有資源的基本獨(dú)立單元,線程不擁有資源,但可以訪問進(jìn)程內(nèi)的資源;

  4:在創(chuàng)建或撤銷線程時(shí),由于系統(tǒng)都要為之分配和回收內(nèi)存資源,導(dǎo)致系統(tǒng)的開銷明顯大于創(chuàng)建或撤銷線程時(shí)的開銷。

’||*str2==’

嵌入式筆試題

時(shí)間: 護(hù)托1061 分享

  從應(yīng)用對(duì)象上加以定義,嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機(jī)械等附屬裝置。國內(nèi)普遍認(rèn)同的嵌入式系統(tǒng)定義為:以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗等嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。下面就由學(xué)習(xí)啦小編為大家介紹一下嵌入式筆試題的文章,歡迎閱讀。

  嵌入式筆試題篇1

  1:用C語言實(shí)現(xiàn)大小端的測試

  Int CheckCpu()

  {

  union

  {

  int a;

  char b;

  }c;

  c.a=1;

  if(c.b==1)

  printf(“小端”);

  else printf(“大端”);

  }

  2:volatile的作用有哪些?

  Volatile第一變量相當(dāng)于告訴編譯器這個(gè)變量的值會(huì)隨時(shí)發(fā)生變化,每次使用之前都要去內(nèi)存里從新讀取它的值,并不要隨意針對(duì)它做優(yōu)化,主要用在:

  1:一個(gè)中斷子程序中會(huì)訪問到的非自動(dòng)變量;

  2:多線程應(yīng)用中被幾個(gè)線程共享的變量;

  3:并行設(shè)備的硬件寄存器。

  3:C語言中static關(guān)鍵字的作用有哪些?

  1:在函數(shù)體中,一個(gè)被聲明為靜態(tài)的變量在這個(gè)變量在調(diào)用過程中維持其值不變;

  2:在模塊內(nèi)(但在函數(shù)體外),一個(gè)被聲明為靜態(tài)的變量,可以被這個(gè)模塊內(nèi)的所用函數(shù)使用,但不能被模塊外的函數(shù)使用,它是一個(gè)本地的全局變量;

  3:在模塊內(nèi),一個(gè)被聲明為靜態(tài)變量的函數(shù),智能被這個(gè)模塊內(nèi)的函數(shù)調(diào)用;

  4:static全局變量與局部變量的區(qū)別:static全局變量只能被初始化一次,防止其他單元文件中被引用;

  5:static局部變量與局部變量的區(qū)別:static局部變量只能被初始化一次,下一次依據(jù)上一次結(jié)果的值;

  6:static函數(shù)與普通函數(shù)的區(qū)別:static在內(nèi)存中只用一份,普通函數(shù)在每一次調(diào)用中維持一份拷貝。

  4:請(qǐng)問下面三種變量的區(qū)別:

  Int const *p : 指向常整型的指針;

  Int *const p; 指向整型的常指針;

  Int *const *p: 指向常整型的常指針;

  5:在ARM系統(tǒng)中,在函數(shù)調(diào)用的時(shí)候,參數(shù)是通過哪種方式傳遞的。

  當(dāng)參數(shù)小于等于4的時(shí)候是通過r0~r3來進(jìn)行傳遞的,當(dāng)參數(shù)大于4的時(shí)候是通過壓棧的方式進(jìn)行傳遞。

  6:中斷與異常有何區(qū)別.

  異常在處理的時(shí)候必須考慮與處理器的時(shí)鐘同步,實(shí)際上異常也稱為同步中斷,在處理器執(zhí)行到因編譯錯(cuò)誤而導(dǎo)致的錯(cuò)誤指令時(shí),或者在執(zhí)行期間出現(xiàn)特殊錯(cuò)誤,必須靠內(nèi)核處理的時(shí)候,處理器就會(huì)產(chǎn)生一個(gè)異常;所謂中斷是指外部硬件產(chǎn)生的一個(gè)電信號(hào)從CPU的中斷引腳進(jìn)入,打斷CPU的運(yùn)行。所謂異常是指軟件運(yùn)行過程中發(fā)生了一些必須作出處理的事件,CPU自動(dòng)產(chǎn)生一個(gè)陷入來打斷CPU的運(yùn)行。

  7:用預(yù)處理指令#define表示一年中有多少秒

  #define SECONDS_PER_YEAR (60*60*24*365)UL

  注意后面必須加UL,表示計(jì)算的結(jié)構(gòu)是常整型。

  8:簡述SPI,UART,I2C三種傳輸方式。

  SPI:高速同步串行口,首發(fā)獨(dú)立,可同步進(jìn)行

  SPI接口主要應(yīng)用在EEPROM,F(xiàn)lash,實(shí)時(shí)時(shí)鐘,A/D轉(zhuǎn)化器,數(shù)字信號(hào)處理,是一種全雙工同步通訊總線,該接口一般使用四條線:串行時(shí)鐘線(sck),主出從入線,主入從出線,低電平有效地的從機(jī)選擇線。

  I2C協(xié)議:是單片機(jī)與其他芯片進(jìn)行通訊的協(xié)議:1:只要求兩條總線線路,一條是串行時(shí)鐘線,一條是串行數(shù)據(jù)線; 2:通過軟件設(shè)定地址 3:是一個(gè)多主機(jī)總線,如果兩個(gè)或更多主機(jī)同時(shí)初始化數(shù)據(jù)傳送可通過沖突檢測和仲裁防止數(shù)據(jù)破壞; 4:I2C總線傳輸?shù)氖菙?shù)據(jù)的總高位

  UART:主要是由一個(gè)modem(調(diào)制解調(diào)器),可以將模擬信號(hào)量轉(zhuǎn)化成數(shù)字信號(hào)量。

  9:中斷不能返回一個(gè)值,中斷不能傳遞參數(shù)。

  10:嵌入式系統(tǒng)總要求用戶對(duì)變量或者寄存器進(jìn)行位操作,給定一個(gè)整型變量a:

  define BIT3 (oxo1<<3)

  static int a ;

  void set_bit3(void)

  {

  a|=BIT3;

  }

  void clear_bit3(void)

  {

  a&=~BIT3;

  }

  作為一個(gè)嵌入式程序員,這種程序是小菜一碟,至所以給出這個(gè)程序,是想規(guī)范大家寫程序方法,這里主要是用到了一個(gè)宏定義:BIT3 這樣的話就可以增加程序的可讀性

  同時(shí)移植性也增強(qiáng)。

  嵌入式筆試題篇2

  1:嵌入式系統(tǒng)中經(jīng)常要求程序去訪問某特定內(nèi)存的特點(diǎn),在某工程中,要求設(shè)定一個(gè)絕對(duì)地址0x6799的整型變量的值為0xaa66.

  Int *ptr;

  ptr=(int*)0x67a9;

  *ptr=aa66

  2:引用和指針有什么區(qū)別?

  1:應(yīng)用必須初始化,指針不必;

  2:引用處畫化后不能改變,指針可以被改變;

  3:不存在指向空值的引用,但存在指向空值的指針;

  3:全局變量與局部變量在內(nèi)存中是否有區(qū)別,是什么區(qū)別?

  全局變量存儲(chǔ)在靜態(tài)數(shù)據(jù)庫,局部變量存儲(chǔ)在堆棧;

  4:寫出float,bool,int類型與零的比較,假設(shè)變量為X:

  Int : if(x==0)

  Float: if(x>0.0000001&&x<0.0000001)

  Bool: if(x==false)

  5:Intertnet采用哪種網(wǎng)絡(luò)協(xié)議,該協(xié)議的主要層次結(jié)構(gòu)?

  TCP/IP協(xié)議

  應(yīng)用層/傳輸層/網(wǎng)絡(luò)層/數(shù)字鏈路層/物理層。

  6:IP地址有兩部分組成:網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)

  7:程序的局部變量存儲(chǔ)在(棧)中,全局變量存儲(chǔ)于(靜態(tài)存儲(chǔ)區(qū)),動(dòng)態(tài)申請(qǐng)數(shù)據(jù)存儲(chǔ)于(堆中);

  8:編寫一個(gè)字符串復(fù)制函數(shù):strcpy(const char *str,const char *str1)

  void strcpy(const *char str,const chat *str1)

  {

  if(*str1==’\0’) return;

  char *sp1,*sp2;

  sp1= str;

  sp2=str1;

  while(*sp2!=’\0’)

  {

  *sp1=sp2;

  sp1++;

  sp2++;

  }

  }

  9:編寫一個(gè)函數(shù)實(shí)現(xiàn)字符串翻轉(zhuǎn) void rechange(char *str)

  void rechange(char *str)

  {

  Int len;

  char t;

  len=strlen(str);

  for(int i=0;len/2;i++)

  {

  t=str[i];

  str[i]=str[len-i-1];

  str[len-i-1]=t;

  }

  }

  10:編寫一個(gè)函數(shù)實(shí)現(xiàn)字符串比較 int strcmp(char *str1,char *str2),相等返回1,不相等返回0:

  int strcmp(char *str1,char *str2)

  {

  if(*str1==‘\0’||*str2==’\0’) return;

  while(*str1!=’\0’&&*str2!=’\0’&&*str1==*str2)

  {

  str1++;

  str2++;

  }

  if(*str1==*str2)

  return 1;

  else return 0;

  }

  }

  嵌入式筆試題篇3

  進(jìn)程和線程的區(qū)別:

  1:調(diào)度:線程作為調(diào)度和分配的基本單元,進(jìn)程作為擁有資源的基本單位;

  2:并發(fā)性:不僅進(jìn)程可以并發(fā)執(zhí)行,同一進(jìn)程內(nèi)的線程也可以并發(fā)執(zhí)行。

  3:擁有資源:進(jìn)程是擁有資源的基本獨(dú)立單元,線程不擁有資源,但可以訪問進(jìn)程內(nèi)的資源;

  4:在創(chuàng)建或撤銷線程時(shí),由于系統(tǒng)都要為之分配和回收內(nèi)存資源,導(dǎo)致系統(tǒng)的開銷明顯大于創(chuàng)建或撤銷線程時(shí)的開銷。

’) return;

  while(*str1!=’

嵌入式筆試題

時(shí)間: 護(hù)托1061 分享

  從應(yīng)用對(duì)象上加以定義,嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機(jī)械等附屬裝置。國內(nèi)普遍認(rèn)同的嵌入式系統(tǒng)定義為:以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗等嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。下面就由學(xué)習(xí)啦小編為大家介紹一下嵌入式筆試題的文章,歡迎閱讀。

  嵌入式筆試題篇1

  1:用C語言實(shí)現(xiàn)大小端的測試

  Int CheckCpu()

  {

  union

  {

  int a;

  char b;

  }c;

  c.a=1;

  if(c.b==1)

  printf(“小端”);

  else printf(“大端”);

  }

  2:volatile的作用有哪些?

  Volatile第一變量相當(dāng)于告訴編譯器這個(gè)變量的值會(huì)隨時(shí)發(fā)生變化,每次使用之前都要去內(nèi)存里從新讀取它的值,并不要隨意針對(duì)它做優(yōu)化,主要用在:

  1:一個(gè)中斷子程序中會(huì)訪問到的非自動(dòng)變量;

  2:多線程應(yīng)用中被幾個(gè)線程共享的變量;

  3:并行設(shè)備的硬件寄存器。

  3:C語言中static關(guān)鍵字的作用有哪些?

  1:在函數(shù)體中,一個(gè)被聲明為靜態(tài)的變量在這個(gè)變量在調(diào)用過程中維持其值不變;

  2:在模塊內(nèi)(但在函數(shù)體外),一個(gè)被聲明為靜態(tài)的變量,可以被這個(gè)模塊內(nèi)的所用函數(shù)使用,但不能被模塊外的函數(shù)使用,它是一個(gè)本地的全局變量;

  3:在模塊內(nèi),一個(gè)被聲明為靜態(tài)變量的函數(shù),智能被這個(gè)模塊內(nèi)的函數(shù)調(diào)用;

  4:static全局變量與局部變量的區(qū)別:static全局變量只能被初始化一次,防止其他單元文件中被引用;

  5:static局部變量與局部變量的區(qū)別:static局部變量只能被初始化一次,下一次依據(jù)上一次結(jié)果的值;

  6:static函數(shù)與普通函數(shù)的區(qū)別:static在內(nèi)存中只用一份,普通函數(shù)在每一次調(diào)用中維持一份拷貝。

  4:請(qǐng)問下面三種變量的區(qū)別:

  Int const *p : 指向常整型的指針;

  Int *const p; 指向整型的常指針;

  Int *const *p: 指向常整型的常指針;

  5:在ARM系統(tǒng)中,在函數(shù)調(diào)用的時(shí)候,參數(shù)是通過哪種方式傳遞的。

  當(dāng)參數(shù)小于等于4的時(shí)候是通過r0~r3來進(jìn)行傳遞的,當(dāng)參數(shù)大于4的時(shí)候是通過壓棧的方式進(jìn)行傳遞。

  6:中斷與異常有何區(qū)別.

  異常在處理的時(shí)候必須考慮與處理器的時(shí)鐘同步,實(shí)際上異常也稱為同步中斷,在處理器執(zhí)行到因編譯錯(cuò)誤而導(dǎo)致的錯(cuò)誤指令時(shí),或者在執(zhí)行期間出現(xiàn)特殊錯(cuò)誤,必須靠內(nèi)核處理的時(shí)候,處理器就會(huì)產(chǎn)生一個(gè)異常;所謂中斷是指外部硬件產(chǎn)生的一個(gè)電信號(hào)從CPU的中斷引腳進(jìn)入,打斷CPU的運(yùn)行。所謂異常是指軟件運(yùn)行過程中發(fā)生了一些必須作出處理的事件,CPU自動(dòng)產(chǎn)生一個(gè)陷入來打斷CPU的運(yùn)行。

  7:用預(yù)處理指令#define表示一年中有多少秒

  #define SECONDS_PER_YEAR (60*60*24*365)UL

  注意后面必須加UL,表示計(jì)算的結(jié)構(gòu)是常整型。

  8:簡述SPI,UART,I2C三種傳輸方式。

  SPI:高速同步串行口,首發(fā)獨(dú)立,可同步進(jìn)行

  SPI接口主要應(yīng)用在EEPROM,F(xiàn)lash,實(shí)時(shí)時(shí)鐘,A/D轉(zhuǎn)化器,數(shù)字信號(hào)處理,是一種全雙工同步通訊總線,該接口一般使用四條線:串行時(shí)鐘線(sck),主出從入線,主入從出線,低電平有效地的從機(jī)選擇線。

  I2C協(xié)議:是單片機(jī)與其他芯片進(jìn)行通訊的協(xié)議:1:只要求兩條總線線路,一條是串行時(shí)鐘線,一條是串行數(shù)據(jù)線; 2:通過軟件設(shè)定地址 3:是一個(gè)多主機(jī)總線,如果兩個(gè)或更多主機(jī)同時(shí)初始化數(shù)據(jù)傳送可通過沖突檢測和仲裁防止數(shù)據(jù)破壞; 4:I2C總線傳輸?shù)氖菙?shù)據(jù)的總高位

  UART:主要是由一個(gè)modem(調(diào)制解調(diào)器),可以將模擬信號(hào)量轉(zhuǎn)化成數(shù)字信號(hào)量。

  9:中斷不能返回一個(gè)值,中斷不能傳遞參數(shù)。

  10:嵌入式系統(tǒng)總要求用戶對(duì)變量或者寄存器進(jìn)行位操作,給定一個(gè)整型變量a:

  define BIT3 (oxo1<<3)

  static int a ;

  void set_bit3(void)

  {

  a|=BIT3;

  }

  void clear_bit3(void)

  {

  a&=~BIT3;

  }

  作為一個(gè)嵌入式程序員,這種程序是小菜一碟,至所以給出這個(gè)程序,是想規(guī)范大家寫程序方法,這里主要是用到了一個(gè)宏定義:BIT3 這樣的話就可以增加程序的可讀性

  同時(shí)移植性也增強(qiáng)。

  嵌入式筆試題篇2

  1:嵌入式系統(tǒng)中經(jīng)常要求程序去訪問某特定內(nèi)存的特點(diǎn),在某工程中,要求設(shè)定一個(gè)絕對(duì)地址0x6799的整型變量的值為0xaa66.

  Int *ptr;

  ptr=(int*)0x67a9;

  *ptr=aa66

  2:引用和指針有什么區(qū)別?

  1:應(yīng)用必須初始化,指針不必;

  2:引用處畫化后不能改變,指針可以被改變;

  3:不存在指向空值的引用,但存在指向空值的指針;

  3:全局變量與局部變量在內(nèi)存中是否有區(qū)別,是什么區(qū)別?

  全局變量存儲(chǔ)在靜態(tài)數(shù)據(jù)庫,局部變量存儲(chǔ)在堆棧;

  4:寫出float,bool,int類型與零的比較,假設(shè)變量為X:

  Int : if(x==0)

  Float: if(x>0.0000001&&x<0.0000001)

  Bool: if(x==false)

  5:Intertnet采用哪種網(wǎng)絡(luò)協(xié)議,該協(xié)議的主要層次結(jié)構(gòu)?

  TCP/IP協(xié)議

  應(yīng)用層/傳輸層/網(wǎng)絡(luò)層/數(shù)字鏈路層/物理層。

  6:IP地址有兩部分組成:網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)

  7:程序的局部變量存儲(chǔ)在(棧)中,全局變量存儲(chǔ)于(靜態(tài)存儲(chǔ)區(qū)),動(dòng)態(tài)申請(qǐng)數(shù)據(jù)存儲(chǔ)于(堆中);

  8:編寫一個(gè)字符串復(fù)制函數(shù):strcpy(const char *str,const char *str1)

  void strcpy(const *char str,const chat *str1)

  {

  if(*str1==’\0’) return;

  char *sp1,*sp2;

  sp1= str;

  sp2=str1;

  while(*sp2!=’\0’)

  {

  *sp1=sp2;

  sp1++;

  sp2++;

  }

  }

  9:編寫一個(gè)函數(shù)實(shí)現(xiàn)字符串翻轉(zhuǎn) void rechange(char *str)

  void rechange(char *str)

  {

  Int len;

  char t;

  len=strlen(str);

  for(int i=0;len/2;i++)

  {

  t=str[i];

  str[i]=str[len-i-1];

  str[len-i-1]=t;

  }

  }

  10:編寫一個(gè)函數(shù)實(shí)現(xiàn)字符串比較 int strcmp(char *str1,char *str2),相等返回1,不相等返回0:

  int strcmp(char *str1,char *str2)

  {

  if(*str1==‘\0’||*str2==’\0’) return;

  while(*str1!=’\0’&&*str2!=’\0’&&*str1==*str2)

  {

  str1++;

  str2++;

  }

  if(*str1==*str2)

  return 1;

  else return 0;

  }

  }

  嵌入式筆試題篇3

  進(jìn)程和線程的區(qū)別:

  1:調(diào)度:線程作為調(diào)度和分配的基本單元,進(jìn)程作為擁有資源的基本單位;

  2:并發(fā)性:不僅進(jìn)程可以并發(fā)執(zhí)行,同一進(jìn)程內(nèi)的線程也可以并發(fā)執(zhí)行。

  3:擁有資源:進(jìn)程是擁有資源的基本獨(dú)立單元,線程不擁有資源,但可以訪問進(jìn)程內(nèi)的資源;

  4:在創(chuàng)建或撤銷線程時(shí),由于系統(tǒng)都要為之分配和回收內(nèi)存資源,導(dǎo)致系統(tǒng)的開銷明顯大于創(chuàng)建或撤銷線程時(shí)的開銷。

’&&*str2!=’

嵌入式筆試題

時(shí)間: 護(hù)托1061 分享

  從應(yīng)用對(duì)象上加以定義,嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機(jī)械等附屬裝置。國內(nèi)普遍認(rèn)同的嵌入式系統(tǒng)定義為:以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗等嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。下面就由學(xué)習(xí)啦小編為大家介紹一下嵌入式筆試題的文章,歡迎閱讀。

  嵌入式筆試題篇1

  1:用C語言實(shí)現(xiàn)大小端的測試

  Int CheckCpu()

  {

  union

  {

  int a;

  char b;

  }c;

  c.a=1;

  if(c.b==1)

  printf(“小端”);

  else printf(“大端”);

  }

  2:volatile的作用有哪些?

  Volatile第一變量相當(dāng)于告訴編譯器這個(gè)變量的值會(huì)隨時(shí)發(fā)生變化,每次使用之前都要去內(nèi)存里從新讀取它的值,并不要隨意針對(duì)它做優(yōu)化,主要用在:

  1:一個(gè)中斷子程序中會(huì)訪問到的非自動(dòng)變量;

  2:多線程應(yīng)用中被幾個(gè)線程共享的變量;

  3:并行設(shè)備的硬件寄存器。

  3:C語言中static關(guān)鍵字的作用有哪些?

  1:在函數(shù)體中,一個(gè)被聲明為靜態(tài)的變量在這個(gè)變量在調(diào)用過程中維持其值不變;

  2:在模塊內(nèi)(但在函數(shù)體外),一個(gè)被聲明為靜態(tài)的變量,可以被這個(gè)模塊內(nèi)的所用函數(shù)使用,但不能被模塊外的函數(shù)使用,它是一個(gè)本地的全局變量;

  3:在模塊內(nèi),一個(gè)被聲明為靜態(tài)變量的函數(shù),智能被這個(gè)模塊內(nèi)的函數(shù)調(diào)用;

  4:static全局變量與局部變量的區(qū)別:static全局變量只能被初始化一次,防止其他單元文件中被引用;

  5:static局部變量與局部變量的區(qū)別:static局部變量只能被初始化一次,下一次依據(jù)上一次結(jié)果的值;

  6:static函數(shù)與普通函數(shù)的區(qū)別:static在內(nèi)存中只用一份,普通函數(shù)在每一次調(diào)用中維持一份拷貝。

  4:請(qǐng)問下面三種變量的區(qū)別:

  Int const *p : 指向常整型的指針;

  Int *const p; 指向整型的常指針;

  Int *const *p: 指向常整型的常指針;

  5:在ARM系統(tǒng)中,在函數(shù)調(diào)用的時(shí)候,參數(shù)是通過哪種方式傳遞的。

  當(dāng)參數(shù)小于等于4的時(shí)候是通過r0~r3來進(jìn)行傳遞的,當(dāng)參數(shù)大于4的時(shí)候是通過壓棧的方式進(jìn)行傳遞。

  6:中斷與異常有何區(qū)別.

  異常在處理的時(shí)候必須考慮與處理器的時(shí)鐘同步,實(shí)際上異常也稱為同步中斷,在處理器執(zhí)行到因編譯錯(cuò)誤而導(dǎo)致的錯(cuò)誤指令時(shí),或者在執(zhí)行期間出現(xiàn)特殊錯(cuò)誤,必須靠內(nèi)核處理的時(shí)候,處理器就會(huì)產(chǎn)生一個(gè)異常;所謂中斷是指外部硬件產(chǎn)生的一個(gè)電信號(hào)從CPU的中斷引腳進(jìn)入,打斷CPU的運(yùn)行。所謂異常是指軟件運(yùn)行過程中發(fā)生了一些必須作出處理的事件,CPU自動(dòng)產(chǎn)生一個(gè)陷入來打斷CPU的運(yùn)行。

  7:用預(yù)處理指令#define表示一年中有多少秒

  #define SECONDS_PER_YEAR (60*60*24*365)UL

  注意后面必須加UL,表示計(jì)算的結(jié)構(gòu)是常整型。

  8:簡述SPI,UART,I2C三種傳輸方式。

  SPI:高速同步串行口,首發(fā)獨(dú)立,可同步進(jìn)行

  SPI接口主要應(yīng)用在EEPROM,F(xiàn)lash,實(shí)時(shí)時(shí)鐘,A/D轉(zhuǎn)化器,數(shù)字信號(hào)處理,是一種全雙工同步通訊總線,該接口一般使用四條線:串行時(shí)鐘線(sck),主出從入線,主入從出線,低電平有效地的從機(jī)選擇線。

  I2C協(xié)議:是單片機(jī)與其他芯片進(jìn)行通訊的協(xié)議:1:只要求兩條總線線路,一條是串行時(shí)鐘線,一條是串行數(shù)據(jù)線; 2:通過軟件設(shè)定地址 3:是一個(gè)多主機(jī)總線,如果兩個(gè)或更多主機(jī)同時(shí)初始化數(shù)據(jù)傳送可通過沖突檢測和仲裁防止數(shù)據(jù)破壞; 4:I2C總線傳輸?shù)氖菙?shù)據(jù)的總高位

  UART:主要是由一個(gè)modem(調(diào)制解調(diào)器),可以將模擬信號(hào)量轉(zhuǎn)化成數(shù)字信號(hào)量。

  9:中斷不能返回一個(gè)值,中斷不能傳遞參數(shù)。

  10:嵌入式系統(tǒng)總要求用戶對(duì)變量或者寄存器進(jìn)行位操作,給定一個(gè)整型變量a:

  define BIT3 (oxo1<<3)

  static int a ;

  void set_bit3(void)

  {

  a|=BIT3;

  }

  void clear_bit3(void)

  {

  a&=~BIT3;

  }

  作為一個(gè)嵌入式程序員,這種程序是小菜一碟,至所以給出這個(gè)程序,是想規(guī)范大家寫程序方法,這里主要是用到了一個(gè)宏定義:BIT3 這樣的話就可以增加程序的可讀性

  同時(shí)移植性也增強(qiáng)。

  嵌入式筆試題篇2

  1:嵌入式系統(tǒng)中經(jīng)常要求程序去訪問某特定內(nèi)存的特點(diǎn),在某工程中,要求設(shè)定一個(gè)絕對(duì)地址0x6799的整型變量的值為0xaa66.

  Int *ptr;

  ptr=(int*)0x67a9;

  *ptr=aa66

  2:引用和指針有什么區(qū)別?

  1:應(yīng)用必須初始化,指針不必;

  2:引用處畫化后不能改變,指針可以被改變;

  3:不存在指向空值的引用,但存在指向空值的指針;

  3:全局變量與局部變量在內(nèi)存中是否有區(qū)別,是什么區(qū)別?

  全局變量存儲(chǔ)在靜態(tài)數(shù)據(jù)庫,局部變量存儲(chǔ)在堆棧;

  4:寫出float,bool,int類型與零的比較,假設(shè)變量為X:

  Int : if(x==0)

  Float: if(x>0.0000001&&x<0.0000001)

  Bool: if(x==false)

  5:Intertnet采用哪種網(wǎng)絡(luò)協(xié)議,該協(xié)議的主要層次結(jié)構(gòu)?

  TCP/IP協(xié)議

  應(yīng)用層/傳輸層/網(wǎng)絡(luò)層/數(shù)字鏈路層/物理層。

  6:IP地址有兩部分組成:網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)

  7:程序的局部變量存儲(chǔ)在(棧)中,全局變量存儲(chǔ)于(靜態(tài)存儲(chǔ)區(qū)),動(dòng)態(tài)申請(qǐng)數(shù)據(jù)存儲(chǔ)于(堆中);

  8:編寫一個(gè)字符串復(fù)制函數(shù):strcpy(const char *str,const char *str1)

  void strcpy(const *char str,const chat *str1)

  {

  if(*str1==’\0’) return;

  char *sp1,*sp2;

  sp1= str;

  sp2=str1;

  while(*sp2!=’\0’)

  {

  *sp1=sp2;

  sp1++;

  sp2++;

  }

  }

  9:編寫一個(gè)函數(shù)實(shí)現(xiàn)字符串翻轉(zhuǎn) void rechange(char *str)

  void rechange(char *str)

  {

  Int len;

  char t;

  len=strlen(str);

  for(int i=0;len/2;i++)

  {

  t=str[i];

  str[i]=str[len-i-1];

  str[len-i-1]=t;

  }

  }

  10:編寫一個(gè)函數(shù)實(shí)現(xiàn)字符串比較 int strcmp(char *str1,char *str2),相等返回1,不相等返回0:

  int strcmp(char *str1,char *str2)

  {

  if(*str1==‘\0’||*str2==’\0’) return;

  while(*str1!=’\0’&&*str2!=’\0’&&*str1==*str2)

  {

  str1++;

  str2++;

  }

  if(*str1==*str2)

  return 1;

  else return 0;

  }

  }

  嵌入式筆試題篇3

  進(jìn)程和線程的區(qū)別:

  1:調(diào)度:線程作為調(diào)度和分配的基本單元,進(jìn)程作為擁有資源的基本單位;

  2:并發(fā)性:不僅進(jìn)程可以并發(fā)執(zhí)行,同一進(jìn)程內(nèi)的線程也可以并發(fā)執(zhí)行。

  3:擁有資源:進(jìn)程是擁有資源的基本獨(dú)立單元,線程不擁有資源,但可以訪問進(jìn)程內(nèi)的資源;

  4:在創(chuàng)建或撤銷線程時(shí),由于系統(tǒng)都要為之分配和回收內(nèi)存資源,導(dǎo)致系統(tǒng)的開銷明顯大于創(chuàng)建或撤銷線程時(shí)的開銷。

’&&*str1==*str2)

  {

  str1++;

  str2++;

  }

  if(*str1==*str2)

  return 1;

  else return 0;

  }

  }

  嵌入式筆試題篇3

  進(jìn)程和線程的區(qū)別:

  1:調(diào)度:線程作為調(diào)度和分配的基本單元,進(jìn)程作為擁有資源的基本單位;

  2:并發(fā)性:不僅進(jìn)程可以并發(fā)執(zhí)行,同一進(jìn)程內(nèi)的線程也可以并發(fā)執(zhí)行。

  3:擁有資源:進(jìn)程是擁有資源的基本獨(dú)立單元,線程不擁有資源,但可以訪問進(jìn)程內(nèi)的資源;

  4:在創(chuàng)建或撤銷線程時(shí),由于系統(tǒng)都要為之分配和回收內(nèi)存資源,導(dǎo)致系統(tǒng)的開銷明顯大于創(chuàng)建或撤銷線程時(shí)的開銷。

嵌入式筆試題

從應(yīng)用對(duì)象上加以定義,嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機(jī)械等附屬裝置。國內(nèi)普遍認(rèn)同的嵌入式系統(tǒng)定義為:以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗等嚴(yán)格要求的專用
推薦度:
點(diǎn)擊下載文檔文檔為doc格式

精選文章

  • linux arm 筆試面試題
    linux arm 筆試面試題

    linux arm 面試題具體有哪些?下面就由學(xué)習(xí)啦小編為大家介紹一下linux arm 筆試面試題的文章,歡迎閱讀。 linux arm 筆試面試題篇1 填空題 1. 在Linux系統(tǒng)中,以

  • AUTOCAD筆試題目
    AUTOCAD筆試題目

    AutoCAD軟件是由美國歐特克有限公司(Autodesk)出品的一款自動(dòng)計(jì)算機(jī)輔助設(shè)計(jì)軟件,可以用于繪制二維制圖和基本三維設(shè)計(jì),通過它無需懂得編程,即可自動(dòng)

  • ASP.NET筆試面試寶典
    ASP.NET筆試面試寶典

    ASP.NET筆試題對(duì)ASP.NET程序員來說基本上是應(yīng)聘的必備之物,那么有哪些問答是經(jīng)常出現(xiàn)的呢?下面就由學(xué)習(xí)啦小編為大家介紹一下ASP.NET筆試面試寶典的文章,

  • ASP.NET筆試題
    ASP.NET筆試題

    ASP.NET 是.NET FrameWork的一部分,是一項(xiàng)微軟公司的技術(shù),是一種使嵌入網(wǎng)頁中的腳本可由因特網(wǎng)服務(wù)器執(zhí)行的服務(wù)器端腳本技術(shù),它可以在通過HTTP請(qǐng)求文檔

3177207