最近在研究基于 imx6ull 開發(fā)板,想讓開發(fā)板支持顯示圖片、字符串、背景色的功能。操作的主要步驟如下:
移植設(shè)備樹和驅(qū)動
移植 libjpeg 庫
編寫測試程序
一、移植設(shè)備樹和驅(qū)動
開發(fā)板原廠 SDK 已經(jīng)移植了 lcd 對應(yīng)的設(shè)備樹和驅(qū)動。具體可以參考韋東山老師的文章
https://blog.csdn.net/thisway_diy/article/details/104697924
二、移植 libjpeg 庫
1. 下載 libjpeg 庫
下載地址:http://www.ijg.org/files/
選擇版本:jpegsrc.v6b.tar.gz
2. 解壓
yikou@ubuntu:/work/lib$tar-zxvfjpegsrc.v6b.tar.gz
3. 配置
yikou@ubuntu:/work/lib$cdjpeg-6b/ ./configure--host=arm-linux-gnueabihf--prefix=$PWD/temp_install 如果遇到錯(cuò)誤提示沒有某個(gè)目錄,只需要手動創(chuàng)建即可
4. 安裝
yikou@ubuntu:/work/lib/jpeg-6b$make yikou@ubuntu:/work/lib/jpeg-6b$makeinstall
5. 查看
yikou@ubuntu:/work/lib/jpeg-6b$cdtemp_install/ yikou@ubuntu:/work/lib/jpeg-6b/temp_install$ls binincludelibshare
我沒有使用動態(tài)庫,而是直接使用靜態(tài)庫 /work/lib/jpeg-6b/libjpeg.a 編譯代碼,方便操作。
三、 編譯測試程序
一口君是把靜態(tài)庫直接拷貝到測試代碼目錄 lib 下,頭文件拷貝到 include 下。
文件目錄
lcd.c、lcd_show_jpeg.c 為基于 libjpeg 庫實(shí)現(xiàn)的顯示漢字、顯示圖片、劃線等功能函數(shù)。
HZK16 為漢字庫
./lib/libjpeg.a 是 libjpeg 靜態(tài)庫
include 下的頭文件是圖片格式處理、顯示字符串、劃線要用到的其他的頭文件
這些功能具體原理,可以自己查看代碼,暫不討論。
以下是測試程序文件:main.c
#include #include #include"lcd.h" #include"lcd_show_jpeg.h" intmain(intargc,constchar*argv[]) { LCD_Init();// 初始化 LCD_Clear(RED);// 背景呈紅色 for(;;) {//1024*600 printf("------ 一口 Linux----------/n"); LCD_PutString(240,136,"一口 Linux",BLUE,RED);// 在 240.136 位置顯示一口 Linux,藍(lán)字紅底 sleep(1); LCD_Clear(BLUE); show_jpeg("test.jpeg");// 顯示圖片 test.jpeg sleep(10); } return0; }
arm-linux-gnueabihf-gcc*.c-orun-I./include/./lib/libjpeg.a
執(zhí)行結(jié)果:
執(zhí)行結(jié)果
想呈現(xiàn)其他顯示效果,只需根據(jù)實(shí)例調(diào)用對應(yīng)函數(shù)即可。
備注:常見錯(cuò)誤解決
如果版本選擇的不對,會遇到以下錯(cuò)誤:
WrongJPEGlibraryversion:libraryis90,callerexpects62
因?yàn)槭褂玫膸彀姹咎呤?90 的,所以需要下載 62 版本,對應(yīng)的是這個(gè)壓縮包 jpegsrc.v6b.tar.gz。其中:62 對應(yīng) 6b
在移植 mjpeg-streamer 也會遇到類似錯(cuò)誤,按照步驟修改即可。
然后按照 1-5 步驟重新操作即可
審核編輯 黃昊宇
-
開發(fā)板
+關(guān)注
關(guān)注
25文章
5067瀏覽量
97607
發(fā)布評論請先 登錄
相關(guān)推薦
評論