前言
這個專案是自己用來練手學linux的專案,跟著訊為電子出的教程做的乙個車牌識別專案。
硬體用的野火的開發板+野火的五寸觸控螢幕+免驅的攝像頭,系統用的野火的debian系統,上位機是用qt寫的。
drawn by:67373upup
在ubuntu下配置環境
1.1:編譯openssl
cd openssl-1.0.2f/
setarch i386 ./config no-asm shared --prefix=/usr/local/openssl/
cc= arm-linux-gnueabihf-gcc
ar= arm-linux-gnueabihf-ar $(arflags) r
ranlib= arm-linux-gnueabihf-ranlib
nm= arm-linux-gnueabihf-nm
make
sudo make install
1.2:編譯curl./configure --prefix=/usr/local/curl/ --host=arm-linux-gnueabihf cc=arm-linux-gnueabihf-gcc cxx=arm-linux-gnueabihf-g++ --with-ssl=/usr/local/openssl
make
sudo make install
1.3:編譯jsoncppmkdir arm_jsoncpp
cp -r include/ arm_jsoncpp/
cp src/lib_json/* arm_jsoncpp/
arm-linux-gnueabihf-g++ -c *.cpp -i./include -fpic
mkdir lib
ar cr ./lib/libjsoncpp.a *.o
編譯動態庫
arm-linux-gnueabihf-g++ -shared -fpic *.cpp -i./include -o ./lib/libjsoncpp.so
經測試jsoncpp的動態庫在qt裡面用不成,可以直接將庫放在開發板內,然後直接用qt引用就行了。
參考資料:
將編譯好的庫拷貝到開發板
root@npi:/mnt# cp -r curl /usr/local/
root@npi:/mnt# cp -r openssl /usr/local/
root@npi:/mnt# cp -r curl/lib/* /lib/
root@npi:/mnt# cp -r openssl/lib/* /lib/
配置開發板的環境變數並更新
開啟並編輯bashrc
vi .bashrc
在文末新增如下內容
export path=$path:/usr/local/openssl/bin
export path=$path:/usr/local/curl/bin
編輯完成以後 更新一下,然後檢視是否ok
source ~/.bashrc
echo $path
qt編寫headers = \
1.1:車牌識別函式
//車牌識別函式
std::string getplatenumber(std::string picturepath)
else
}
void camera::processcapturedimage(int requestid, const qimage& img)
效果展示
參考資料
json新增靜態庫
阿正的部落格
IMX6ULL啟動流程
假設板子設定為sd tf卡啟動,boot rom程式會做什麼?把程式從sd tf卡讀出來,執行。從 讀?從sd tf卡讀,這需要先初始化sd tf卡 根據efuse或gpio的設定初始化sd tf卡。讀到 去?讀到記憶體即ddr去,這需要先初始化ddr。除了初始化啟動裝置 初始化ddr,還需要初始化...
IMX6ULL學習筆記(一)
imx6ull裸機開發學習 以下內容是我在學習正點原子imx6ull開發板alpha中記錄的筆記,部分摘錄自正點原子imx6ull開發手冊。bin檔案前面要新增頭部 ivt boot data dcd資料 由官方手冊可知要燒寫到sd卡中的load.imx檔案在sd卡中的起始位址是0x400,也就是1...
IMX6ULL學習筆記(三)
imx6ull裸機開發學習 以下內容是我在學習正點原子imx6ull開發板alpha中記錄的筆記,部分摘錄自正點原子imx6ull開發手冊。鏈結指令碼的例子 sections rodata align 4 data align 4 bss start bss align 4 bss end bss ...