亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

試題

嵌入式系統(tǒng)開發(fā)過程中常見問題與解決方法

時間:2024-08-29 08:44:31 試題 我要投稿
  • 相關推薦

嵌入式系統(tǒng)開發(fā)過程中常見問題與解決方法

  嵌入式系統(tǒng)開發(fā)就是對于除了電腦之外的所有電子設備上操作系統(tǒng)的開發(fā)。下面是百分網(wǎng)小編為大家搜索整理的關于嵌入式系統(tǒng)開發(fā)過程中常見問題與解決方法,歡迎參考學習,希望對大家有所幫助!想了解更多相關信息請持續(xù)關注我們應屆畢業(yè)生考試網(wǎng)!

  1. Bootloader如何寫入Flash ?

  初學者一般都會遇到如何將程序?qū)懭胩幚砥鞯膯栴}。對于不同的處理器,可以采用不同的方法。例如Intel的Xscale處理器可以使用Intel公司提供的JFlash工具燒寫。對于具有JTAG調(diào)試工具軟件的處理器,可以使用如下思路:編寫一段程序,這段程序能將位于SDRAM/SRAM 固定地址中的數(shù)據(jù)寫入Flash中。燒寫時,首先,將這段軟件下載到SDRAM 中,然后通過調(diào)試軟件將要寫入Flash的數(shù)據(jù)下載到SDRAM/SRAM的某個固定地址開始的緩沖區(qū),然后通過調(diào)試器開始執(zhí)行程序,將數(shù)據(jù)寫入Flash。除此以外,網(wǎng)絡上還提供了很多專用的寫Flash的工具,開發(fā)者可以根據(jù)自己的需要選用。(現(xiàn)在明白了我在學的那個BF533為什么先下個flashProgramer.dxe先了)

  2.什么是arm-elf-gcc?

  arm-elf-gcc是一個交叉C語言編譯器。我們在PC平臺下編譯程序,編譯器運行的處理器同生成的代碼將要運行的處理器相同。但是,在PC機上編譯ARM程序時,編譯器運行的處理器同生成的代碼運行的處理器不同,這種編譯器叫做交叉編譯器。其中的elf是指編譯器生成的目標文件格式。(其實我們平時用的單片機編譯器如GCC—AVR等已是交叉編譯器了,我到現(xiàn)在才弄清楚什么是交叉編譯器)

  3.走了哪條編譯路徑?

  系統(tǒng)程序和驅(qū)動程序往往包含很多的編譯選項,很多選項都是在編譯時通過命令行定義的,如果想知道編譯的是那一段程序可以使用如下的方法:

  #ifdef PLAT_AAA

  #error Code for Platform AAA

  #else

  #error Code NOT for Platform AAA

  #endif

  這樣在編譯的時候就知道,編譯的是哪一條路經(jīng)了。對于支持#pragma message( “I am here”)的編譯器也可使用#pragma message預編譯指令。

  4.我怎么知道那段代碼在那個文件中?

  系統(tǒng)編程中經(jīng)常需要使用在多個文件中搜索字符串,在windows平臺下可以使用平臺提供的多文件字符串搜索工具。在linux平臺下,可以使用grep來搜索字符串。Grep的搜索功能十分強大,支持正則表達式搜索,熟練使用grep對于閱讀系統(tǒng)和驅(qū)動程序代碼是很有幫助的。

  5. 系統(tǒng)是從那個文件開始運行的?

  對于Windows CE系統(tǒng),一般從WINCE420\PLATFORM\YourPlatform\KERNEL\HAL目錄的某個匯編文件中。對于Linux系統(tǒng)版本不同會存在一定差異,以arm處理器為例,一般會在linux2.4.x\arch\arm\kernel的head-armv.S中。

  6.程序執(zhí)行到了那里?

  可以在程序中插入如下代碼來實現(xiàn)

  printf( “I am here %s, %d\n”,__FILE__, __LINE__);

  代碼將打出printf語句所在的文件名和行號。

  推薦書目

  Jean J.Labrosse MicroC/OS-II The Real-Time Kernel,Second Edition這本書是筆者接觸嵌入式實時系統(tǒng)的入門書,在國內(nèi)能夠買到中文版。這本書較為清楚地講述了實時系統(tǒng)的概念,各個組成部分的工作原理,特別是公開了實時系統(tǒng)內(nèi)核的源代碼,仔細研究定會受益匪淺。有個小的提示,對于初學者,這本書可以先不看第一章,直接從第二章看起。

  Abraham Silberschatz, Peter Baer Galvin,Greg Gagne Operating System Concepts筆者在教學過程中發(fā)現(xiàn),無論是計算機還是電子工程專業(yè)都有很多學生對于操作系統(tǒng)的基本概念都沒有搞清,很少有學生有完整的系統(tǒng)編程經(jīng)驗。Operating System Concepts這本書對操作系統(tǒng)的概念講述只能用經(jīng)典來形容。對于嵌入式系統(tǒng)有興趣深入研究的同學,首先要把基礎打好,這本書就成了必讀之物了。

  Andrew S. Tanenbaum Computer Networks 提起Andrew S. Tanenbaum 學習計算機的同學一定都知道OPERATINGSYSTEMs:Design and Implementation這本書,筆者對于Tanenbaum這樣的教授由衷佩服。網(wǎng)絡協(xié)議棧是嵌入式系統(tǒng)中的支柱性組成部分。愿意致力于網(wǎng)絡深層技術研究的同學,這本書將為你們建立一個堅實的網(wǎng)絡基礎。

  Karim Yaghmour Building Embedded Linux Systems本書詳盡的介紹了嵌入式linux系統(tǒng)的組成,基本概念和如何去建立各個部分。全書篇幅較小,可謂短小精悍。即可以作為嵌入式linux系統(tǒng)的入門讀物,又是開發(fā)過程各個部分的指南。

  Advanced RISC Machines Ltd (ARM) ARM7 TDMI Data Sheet Advanced RISC Machines Ltd (ARM) ARM920T Technical Reference Manual學習嵌入式系統(tǒng)不了解當前應用最廣泛的嵌入式處理器怎么行? ARM7 TDMI 的 data sheet是學習ARM編程模型,指令集的好東西。在嵌入式系統(tǒng)中,MMU(內(nèi)存管理單元)是很重要的部分,又是較難理解和掌握的部分。ARM920T Technical Reference Manual 正好可以幫你講解這方面的內(nèi)容。

  Perter Van Der LinDen Expert C Programming嵌入式系統(tǒng)級編程最常用的語言還是C 。很多同學都自認為自己的C語言學的很好,那好,就看看這本書吧,找找自己和Experts差距。

  嵌入式開發(fā)與桌面開發(fā)既有不同,又有非常大的聯(lián)系,而且十分注重實際操作能力。搞桌面開發(fā)的人在一開始接觸嵌入式的時候,通常轉(zhuǎn)換不過來,這主要體現(xiàn)在定位上。如文中所說,你是誰,你要做什么?我對硬件的了解僅限于編程領域,PCB設計一竅不通,但并不能說你不懂硬件就不能從事嵌入式開發(fā)。一個系統(tǒng)的開發(fā)設計方方面面,在自己感興趣和熟悉的領域做出自己的貢獻才是最主要的。

  (1)硬件設計: 需要有硬件設計的經(jīng)驗,對各種嵌入式器件有很好的了解。

  (2)系統(tǒng)移植:需要匯編經(jīng)驗,操作系統(tǒng)原理以及底層驅(qū)動的了解

  (3)應用程序:需要桌面編程經(jīng)驗

【嵌入式系統(tǒng)開發(fā)過程中常見問題與解決方法】相關文章:

嵌入式系統(tǒng)開發(fā)工程師模擬試題09-16

嵌入式系統(tǒng)開發(fā)技術工程師考試要點:嵌入式系統(tǒng)的組成06-13

三級嵌入式系統(tǒng)開發(fā)技術試題及答案10-24

嵌入式系統(tǒng)開發(fā)工程師模擬試題201610-07

嵌入式系統(tǒng)開發(fā)技術工程師考試要點08-26

嵌入式系統(tǒng)開發(fā)技術工程師考試復習要點:嵌入式系統(tǒng)的定義05-05

2015嵌入式系統(tǒng)開發(fā)工程師模擬試題10-08

最新嵌入式系統(tǒng)開發(fā)工程師模擬試題10-23

嵌入式系統(tǒng)開發(fā)工程師考試復習要點06-19

分析網(wǎng)頁設計常見問題及解決方法09-01