當前位置:才華齋>IT認證>嵌入式>

32位嵌入式處理器與8位處理器應用開發的區別

嵌入式 閱讀(3.18W)

32位的RISC嵌入式處理器已經成為嵌入式應用和設計的主流。與國內大量應用的8位微控制器相比,32位的嵌入式 CPU有著非常大的優勢,它為嵌入式設計帶來豐富的硬體功能和額外的效能,使得整個嵌入式系統的升級只需通過軟體的升級即可實現。而8位處理器通常受到的 64K軟體限制也不存在了,設計者幾乎可以任意選擇多工作業系統,並將應用軟體設計得複雜龐大,真正體現“硬體軟體化”的設計思想。那麼32位嵌入式處理器與8位處理器應用開發的區別體現在哪裡呢?跟yjbys小編一起來看看!

32位嵌入式處理器與8位處理器應用開發的區別

  什麼發生了改變

目前,國內熟悉8位處理器開發的工程師非常多,開發工具和手段也很豐富,並且價格較低。而32位處理器的開發與8位處理器的開發則有著許多明顯的不同。

  第一,實時多工作業系統(RTOS)引入32位嵌入式系統。

由於32位CPU的資源豐富,指令集相對龐大,而且,系統軟體比較複雜,所以,通常在開發時要選用相應的RTOS來對應用軟體中的各個任務進行排程。軟體設計工程師需要學習全新的RTOS技術,掌握底層軟體、系統軟體和應用軟體的設計和除錯方法。這對於開發者來說是一個新的挑戰。

當然,RTOS的引入,也將給嵌入式開發商帶來軟體的模組化和可移植化等好處,為軟體的工程化管理做好準備。

  第二,除錯的硬體介面發生改變。

在開發8位處理器時,通常採用線上模擬器ICE(In-Circuit-Emulator),ICE通過插座或者相應的夾具替代CPU來進行模擬和開發 工作。而對於32位嵌入式處理器來說,因其過高的時鐘頻率(50MHZ 至400MHZ以上)和複雜的封裝形式(如BGA)導致ICE很難勝任開發工具的 工作。CPU廠商藉助於邊界掃描介面(JTAG口)來提供除錯資訊,供開發者進行開發。

JTAG口通常是一個14Pin或20Pin的插座,JTAG偵錯程式(或稱JTAG模擬器)因為可直接從CPU獲取除錯資訊而使得該產品的設計簡化,從而使得價格要低於ICE。

  第三,系統的開發方式產生變化。

對於一個8位的系統開發來說,設計者只需按照硬體設計及除錯、軟體(彙編或C語言)程式設計、定位引導、軟體除錯、系統聯調等過程來進行即可,應用軟體的開發通常在硬體之後,且應用軟體包是不能通用的。

對於一個32位的嵌入式系統則不同。在硬體設計開發的同時,需要有實時多工作業系統環境,軟體工程師可以同時進行應用軟體包的開發和除錯。在硬體除錯 結束時,應進行BSP(板級支援包)的設計和除錯。在BSP除錯通過後,方可進行系統軟體和應用軟體的聯調。通常應用軟體的開發可以單獨進行。更換 CPU 或硬體平臺後,應用軟體包是通用的(要基於同樣的RTOS)。

  那麼,開發一個32位的嵌入式系統需要哪些工具和環境呢?

  首先需要選擇一個合適的多工作業系統。

目前,商用的RTOS比較多,如Linux、Nucleus、WinCE、VxWorkx等。使用者可根據系統的技術要求和商業要求,選擇合適的一種。

  另外,要選擇相應的編譯工具和除錯環境。

根據所選用的RTOS和程式語言(C或C++)來確定要使用的編譯器。對於ARM系列CPU來說,比較常見的有arm公司的SDT和ADS,以及免費的GNU等。

許多廠商將編譯器(Compiler)、聯結器(Linker)、定位器(Locater)、模擬器(Simulator)和監控偵錯程式 (Monitor Debugger)作為一個整體提供給使用者。這通常稱為整合開發環境 IDE(Integrated Development Environment)。選用IDE將給除錯帶來許多方便。

再者,要選擇合適的JTAG模擬器。JTAG模擬器的一端通過JTAG連線電纜與目標板相連,另一端則與主機的除錯環境相連。與主機的連線方式通常有三種。一是並口方 式,一是USB口方式,另一種是網口方式。這三種方式在程式碼下載速度、連線方便性、除錯資源共享性等方面均有所不同,使用者可以根據經費、技術方案要求、主 機環境等實際情況來選擇。另外,JTAG的主頻也是影響 JTAG模擬器速度的重要技術指標,越快速的JTAG模擬器,其JTAG主頻也越高。

與ICE開發方式相似,JTAG模擬器也提供邏輯追蹤功能,以確保硬體除錯和軟硬體聯調的順利進行。該功能需要增加額外的費用,因而建議只在進行復雜的系統級開發專案中選購。

好的JTAG模擬器還應該支援任務級除錯。其除錯環境除具有豐富的除錯功能,良好的'除錯介面外,還應該能夠“認識”各種不同型別的RTOS。這樣,使用者 在進行基於RTOS的軟體除錯時,能夠直接對各種任務進行操作。如果JTAG模擬器不能支援任務的除錯,那麼,將給軟體開發工程師帶來諸多不便,影響開發 進度。

32位嵌入式系統的開發過程中存在其特有的技術難點,因此開發者對其要有充分的心理準備並做出相應的對策。

BSP的開發和除錯 在硬體除錯完成後,就需要進行實時作業系統(RTOS)的移植。其中最主要的就是BSP的開發和除錯。在整個嵌入式系統中,應用軟 件通過對系統軟體的呼叫來完成各種應用功能。而系統軟體則是通過BSP來完成與硬體裝置的握手連線。所以,BSP的效能將影響整個系統的可靠性。

由於作業系統(RTOS)廠商提供的開發環境的建立,是基於BSP的正常工作,只有在BSP工作正常後,使用者才能“看到”整個系統硬體資源。因此,在此之前,使用者對BSP的除錯幾乎是在“盲目”中進行的。BSP的開發除錯有時要花費一至兩個月甚至更長的時間。

解決的辦法似乎不多。一是提高工程師的水平,在CPU的掌握、目標板硬體及周邊驅動裝置的熟悉、深入瞭解作業系統(RTOS)的工作機制、系統的資源配置等方面加強學習;另外,要選用好的JTAG模擬器或其它工具。

應用軟體的並行開發 由於越來越強烈的快速上市要求,嵌入式系統的開發週期越來越短。這就必然要求在硬體開發的同時,能夠進行軟體的開發。一方面,使用者 可以在一塊標準的評估板上來開發一部分軟體,待實際目標板硬體和BSP完成後,再進行系統級的除錯和開發。另一方面,使用者可以藉助實時作業系統 (RTOS)廠商提供的虛擬環境來進行軟體開發除錯,要開發和除錯的軟體幾乎不受任何限制。待實際硬體平臺完成後,只須重新編譯連線,即可下載到目標上運 行。注意在選用RTOS時,增加該工具環境。