目前,常用的交叉開發(fā)環(huán)境主要有開放和商業(yè)兩種類型。開放的交叉開發(fā)環(huán)境的典型代表是GNU工具鏈,目前已經能夠支持x86、ARM、MIPS、PowerPC等多種處理器。商業(yè)的交叉開發(fā)環(huán)境主要有MetrowerksCodeWarrior、ARMSoftwareDevelopmentToolkit、SDSCrosscompiler、WindRiverTornado、MicrosoftEmbeddedVisualC++等。交叉開發(fā)環(huán)境是指編譯、鏈接和調試嵌入式應用軟件的環(huán)境。它與運行嵌入式應用軟件的環(huán)境有所不同,通常采用宿主機/目標機模式。
第二步,交叉編譯和鏈接
在完成嵌入式軟件的編碼之后,就是進行編譯和鏈接,以生成可執(zhí)行代碼。由于開發(fā)過程大多是在Intel公司x86系列CPU的通用計算機上進行的,而目標環(huán)境的處理器芯片卻大多為ARM、MIPS、PowerPC、DragonBall等系列的微處理器,這就要求在建立好的交叉開發(fā)環(huán)境中進行交叉編譯和鏈接。
第三步,交叉調試嵌入式Linux系統(tǒng)概述嵌入式培訓
硬件調試。如果不采用在線仿真器,可以讓CPU直接在其內部實現調試功能,并通過在開發(fā)板上引出的調試端口,發(fā)送調試命令和接收調試信息,完成調試過程。目前,ARM公司提供的開發(fā)板上使用的則是JTAG調試端口。
軟件調試。在嵌入式Linux系統(tǒng)中,Linux系統(tǒng)內核調試,可以先在Linux內核中設置一個調試樁(debugstub),用作調試過程中和宿主機之間的通信服務器。然后,可以在宿主機中通過調試器的串口與調試樁進行通信,并通過調試器控制目標機上Linux內核的運行。
第四步,系統(tǒng)測試
整個軟件系統(tǒng)編譯過程,嵌入式系統(tǒng)的硬件一般采用專門的測試儀器進行測試,而軟件則需要有相關的測試技術和測試工具的支持,并要采用特定的測試策略。測試技術指的是軟件測試的專門途徑,以及能夠更加有效地運用這些途徑的特定方法。