Lab3 Preview Report - oboywei/ee240500 GitHub Wiki

Lab3 Preview Report

Topics

  • Cross-compiler tool chains
  • CMake

Cross-compiler tool chains

  • Introduction
    在不同的工作環境(如x86的電腦跟ARM平台的board)所執行的程式是不同的,如果要在x86環境中產生一個能在ARM環境上執行的程式,就要藉由cross-compiler。
  • Related parts of our lab
    我們無法直接在Board編寫程式,因此我們需要在x86的電腦環境下編寫程式,藉由cross-compiler轉換為ARM excutable後,由tftp的傳輸到board上使之在板上執行。在之後的實驗中都常常會用到這樣的方法來使board上的硬體來執行我們要的程式。
  • Questions about the topic or our lab
    為何board上的作業系統不能直接執行C語言?還得要經過cross-compiler?

CMake

  • Introduction
    CMake是個開源的跨平台自動化建構系統,是''cross platform make''的縮寫,但是和Unix上常見的「make」系統是分開的,而且更為高階。 功能介紹: 1.組態檔是用一種建構軟體專用的特殊程式語言寫的CMake腳本。 2.內建C語言、C++、Fortran、Java的自動相依性分析功能。 3.經由CMake腳本語言支援SWIG、Qt、FLTK。 4.內建對微軟Visual Studio .NET和過去的Visual Studio版本的支援,可以產生.dsp、.sln和.vcproj檔。 5.用傳統的時間標籤偵測檔案內容的改變。 6.支援平行建構(在多台電腦上同時建構) 7.在許多作業系統上進行跨平台編譯,包括 Linux、與POSIX相容的系統(AIX、*BSD系統、HP-UX、IRIX、MinGW/MSYS、Solaris)、Mac OS X和微軟Windows 95/98/NT/2000/XP等。 8.產生可以給Graphviz用的全局相依圖。 9.已經和Dart、CTest和CPack等軟體測試和釋出的工具整合。
  • Related parts of our lab
    我們用CMake為OpenCV做自動的cross-compile。
  • Questions about the topic or our lab 不太了解make、makefile確切的用法,因此對cmake也無法很熟悉,雖然網路上查過許多資料,但還是很難理解。