接前一篇《迅為4412-linux-arm板上opencv移植–終極解決方案(原創)》。

平臺:Exynos4412。
實驗平臺:iTOP-4412-精英版。
編譯平臺:Ubuntu12.04。
編譯器版本:arm-4.4.1,懶人直接用的開發板自帶的。
buildroot版本:直接官網下載。過段時間就更新,大家下載最新的,應該不會出問題。
opencv版本:opencv2.4.9,opencv是通過buildroot下載的。
1.2 buildroot-opencv的配置-glibc配置
如下圖使用命令“cd buildroot-2015.05”進入解壓出來的原始碼目錄下。
在這裡插入圖片描述
執行“make menuconfig”命令,進入配置介面,如下圖所示。
在這裡插入圖片描述
進入“Target options”目錄,將 Target Architecture 配置為 ARM(littlt endian),將 Target Architecture Variant 配置為cortex-A9,將Target ABI 配置為 EABI,將ARM instruction set 配置為 ARM。如下圖所示。
在這裡插入圖片描述
再退回上一介面後,進入Toolchain目錄:將Toolchain type配置為Buildroot toolchain,然後在Kernel Headers中選擇linux的版本,這裡選Manually specified Linux version,在Custom kernel headers series中選擇3.0.x,然後在linux version中填寫linux版本,筆者使用3.0版,後面編譯時, buildroot 將會自動下載對應的工具鏈並自動安裝,將C library配置為glibc–這個最關鍵,否則opencv庫一定無法使用。選中 Enable MMU support和 Enable C++ support。如下圖所示。
在這裡插入圖片描述
退回上一介面後,進入 System configuration 介面,在 System hostname 一欄中輸入開發板的名稱,如 4412,在 Init system 中選擇 BusyBox,在/devmanagement 中選擇Dynamic using mdev,即使用mdev動態載入裝置節點的方式,然後在Path to the permission tables中選擇裝置節點的配置表,這裡我們一定要選擇system/device_table_dev.txt,否則後面在dev目錄下將不會生成各種裝置節點。當然我們也可以手動的配置該檔案,新增必要的節點或刪除不需要的節點。Root password為配置進入linux 控制檯終端後的密碼,為空則登入時不需要密碼,預設登入使用者名稱為root。如下圖所示。
在這裡插入圖片描述
選中Run a getty(login prompt)after boot,再進入getty options選項:將TTY port配置為ttySAC2,將 baudrate 配置為115200,對應4412開發板的控制檯列印串列埠。如下圖所示。
在這裡插入圖片描述
返回上一層,再繼續返回上一介面,進入 Filesystem images 目錄,選中tar the rootfilesystem,如下圖所示。
在這裡插入圖片描述
返回上一層,進入“Target packages”目錄,如下圖所示。
在這裡插入圖片描述
進入“Libraries”,如下圖所示。
在這裡插入圖片描述
進入“Graphics”選中“opencv”如下圖所示。
在這裡插入圖片描述
然後返回到“Target packages”,進入“Graphic libraries and applications (graphic/text)”目錄,選中“ Qt”如下圖所示。
在這裡插入圖片描述
進入“Qt”,選中“Gui Module”,如下圖所示。
在這裡插入圖片描述
最後儲存當前的配置並退出,配置完成。如下圖所示。使用者也可以根據自己的實際需要進行配置。
在這裡插入圖片描述