發布日期:2022-04-27 點擊率:90 品牌:泰科_TE Connectivity
1). 簡介
傳統的ARM 處理器由于其性能或者存儲空間的緣故,源碼代碼都是在 PC 機上用相應的編譯器交叉編譯為二進制可執行文件。最后再將其部署目標板進行遠程調試。因此,用戶必須在 PC 上配置 ARM 開發環境,這一般包括交叉編譯工具、頭文件、交叉編譯所得的庫文件以及其他配置文件等。
Nvidia Tegra K1 處理器,具有 4 核 Cortex-A15,最高主頻為 2.2 GHz。本文將使用Toradex公司基于此處理器的ApalisTK1 ARM計算機模塊進行測試,在這個模塊上,除了可以使用 Toradex 提供的基于 Angstrom 的Linux BSP 外,用戶還可以在上面使用由Nvidia 提供的JetPack BSP。該 BSP 是基于 Ubuntu 的針對 Tegra K1 處理器的發行版本,包含基本的 Linux 工具和 Nvidia 專屬的 CUDA 支持庫文件,方便用戶開發 K1 上的 Kepler GPU,發揮其強大的并行計算能力。
由于 JetPack BSP 采用了 Ubuntu,Apalis TK1 的軟件系統能夠延續 PC 上的用戶使用習慣,包括支持使用 apt-get 在線安裝軟件,軟件名字與基于 x86 的 Ubuntu 系統并無二致。加之 Apalis TK1 處理器本身強大的性能,以及 16 GB 的片上存儲,用戶能夠直接在 Apalis TK1 編譯應用源代碼。下面將以OpenCV 2.4.13 在 Apalis TK1 本地編譯為例進行說明。
2).具體操作步驟
3). 總結
上面編譯 OpenCV 的過程均在 Apalis TK1 計算機模塊上完成,所有編譯工作不使用在 PC 機上的交叉編譯工具。該方法的優點是,用戶能夠快速地編譯源代碼,免于在 PC 機上配置開發環境。程序編譯過程中所依賴的頭文件以及鏈接的庫文件,均在本地目錄中尋找。在交叉編譯的時候,如果沒有配置好目標的 BSP 目錄,編譯器會使用 PC 機上系統的頭文件。如果對應軟件在目標板和 PC 機的版本不同,會導致應用在目標板上運行出錯。缺點則是在于編譯性能。即使具有 4 核 Cortex-A15,但是與 x86 CPU,特別是高端處理器如 i7、i5 相比,K1 仍然存在一定的差距。因此,在編譯大型應用的時候,K1 可能需要更多的時間。例如 OpenCV 2.4.13 在 Intel? Core? i5-3337U CPU @ 1.80GHz × 4 編譯耗時約為TK1 的三分之一。如果考慮到源碼的管理工具,如 git、svn,PC 機會比 TK1 更具優勢。當然對于小型的應用程序,或者一些測試代碼,在 TK1 本地編譯顯然會更具便利。接下來的文章中,我們會介紹在 PC 機使用交叉編譯工具開發 Apalis TK1 應用程序。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV