日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
嵌入式系統(tǒng)開發(fā)過程中的常見問題

嵌入式系統(tǒng)開發(fā)過程中的常見問題

Bootloader如何寫入Flash ?

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

什么是arm-elf-gcc?

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

走了哪條編譯路徑?

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

 
 
 
  1. #ifdef PLAT_AAA  
  2. #error Code for Platform AAA  
  3. #else  
  4. #error Code NOT for Platform AAA  
  5. #endif 

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

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

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

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

對于W i n d o w s C E 系統(tǒng),一般從W I N C E 4 2 0 \PLATFORM\YourPlatform\KERNEL\HAL 目錄的某個匯編文件中。對于Linux 系統(tǒng)版本不同會存在一定差異,以arm處理器為例,一般會在linux2.4.x\arch\arm\kernel的head-armv.S中。

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

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

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

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

【編輯推薦】

  1. 嵌入式系統(tǒng)的開發(fā)流程簡要概括
  2. 嵌入式系統(tǒng)和嵌入式操作系統(tǒng)的概念
  3. 嵌入式系統(tǒng)軟件中的質量保證
  4. 熱點:如何平衡嵌入式系統(tǒng)中內存的成本和效能
  5. 嵌入式系統(tǒng)開發(fā)學習如何起步、如何深入?

文章標題:嵌入式系統(tǒng)開發(fā)過程中的常見問題
文章轉載:http://www.dlmjj.cn/article/dhohpsi.html