
米爾MYS-8MMX開發板試用體驗測評
近期,米爾科技重磅發布新品“MYS-8MMX”開發板,并在電子發燒友、電路城等各大論壇發布試用通知,受到了眾多工程師、廣大電子愛好者圍觀,米爾選取了電子發燒友平臺一篇優秀試用報告,在此同步給各位小伙伴們。由于篇幅原因:該文章中使用libjpeg庫和giflib庫顯示JPG圖片和GIF圖片 該測評不一一展示了,想了解具體內容可以復制該鏈接查看:https://bbs.elecfans.com/jishu_2154638_1_1.htmlPART.1
開箱上電&系統燒錄&文件系統移植&WIFI模塊驅動加載
米爾MYS-8MMX開發板支持兩種系統啟動方式,兩種燒錄方式,兩種系統啟動方式為SD卡啟動或板上EMMC啟動,兩種燒錄方式為卡刷和線刷,其中卡刷又分為SD卡啟動和SD卡燒寫EMMC,SD卡啟動是開發者常用系統啟動模式,因為可以隨時在遠端主機上對SD卡文件進行增刪查改;而產品項目中則常用SD卡燒寫EMMC的方式,因為操作簡單,反饋清晰(只需要一盞LED燈即可監控燒錄是否完成)。實際上,SD卡啟動還有一種用途就是可以在SD卡的系統中對EMMC內容進行修改,因此是最適合開發者的模式。若無特別說明,本次帖子及今后帖子我都在SD卡的系統中進行開發。要制作SD啟動卡,需要按照使用手冊獲取SD卡啟動鏡像,名為myir-image-full-mys-8mmx.wic,與手冊所寫myir-image-full-mys-8mmx.sdcard不符:






PART.2
QT開發板本地開發framebuffer&x11vnc的妙用
安裝QT開發環境,即QT creator和QT5軟件庫:1.apt install qt5-default qtcreator安裝x11界面遠程登錄軟件x11vnc1.apt install x11vnc在進行QT開發之前,我先用vnc工具實時映射板子HDMI輸出的界面,即/dev/fb0:1.x11vnc -rawfb /dev/fb0 -clip 1920x1080






PART.3
編譯內核鏡像&與USBHID設備通信
如果想用一種簡單的方式控制更多外設的話,除了添加擴展芯片,還有一種項目上用得比較多的方式是USBHID通信,將開發板作為主機,通過USB接口與支持USBHID協議的從機進行通信,這個方法非常簡單,剛入門嵌入式的小白也必須熟練掌握,只需要應用層開發的知識和皮毛的驅動層開發知識。要想使用這種方式進行通信,板子的內核鏡像就必須支持USBHID設備的檢測與讀寫,檢測是沒什么問題的,但是能不能映射到設備文件,供開發者進行讀寫操作,那就需要檢查內核編譯選項了,這里剛好是比較壞的一種情況,米爾廠家出廠鏡像是沒有打開USBHID通信的,必須讓開發者重新編譯內核鏡像,那么這里就涉及到內核編譯的知識了:下載并解壓內核源碼鏡像:1.https://github.com/MYiR-Dev/myir-imx-uboot.git









PART.4
使用libjpeg庫和giflib庫顯示JPG圖片和GIF圖片
Linux系統編程中對JPG和GIF圖片的顯示都有集成的軟件庫可以用,顯示JPG圖片可用libjpeg庫,可以直接用apt在線安裝apt install libjpeg62-turbo libjpeg62-turbo-dev對于ARM64架構的系統,會有turbo關鍵字,而在x86架構系統上面,直接安裝libjpeg62即可。安裝完畢之后,開發板的板上代碼可以使用jpeglib.h提供的函數接口進行jpg文件的軟件解碼,直接讀取jpg文件并顯示在framebuffer外設之上,具體函數如下:-struct jpeg_decompress_struct cinfo;用于存放JPG文件解碼數據的結構體-JSAMPARRAY buffer;存放一行圖像數據的結構體-jpeg_create_decompress(&cinfo);初始化jpeg_decompress結構體對象的函數-jpeg_stdio_src(&cinfo,input_file);-指定解壓縮數據源1.void LCD_RGB888_Show_JPG_File(char *dev , int xpos , int ypos , char *filename)2.{3. //int fjpg;4. int i,j;5. FILE *input_file = fopen(filename,"rb");6. struct jpeg_decompress_struct cinfo;7. //JPEG圖像在解碼過程中8. //使用jpeg_decompress_struct類型的結構體來表示9. //圖像的所有信息都存儲在結構體中10.11. struct jpeg_error_mgr jerr;12. //定義一個標準的錯誤結構體13.14. JSAMPARRAY buffer;15. //用于存取一行數據16. //fjpg = open((char *)"/home/fa/1.jpg",O_RDONLY);17. cinfo.err = jpeg_std_error(&jerr);18. //綁定錯誤處理結構對象19.20. jpeg_create_decompress(&cinfo);21. //初始化cinfo結構22.23. jpeg_stdio_src(&cinfo,input_file);24. //指定解壓縮數據源25.26. jpeg_read_header(&cinfo,TRUE);27. //獲取文件信息28.29. jpeg_start_decompress(&cinfo);30. //開始解壓縮31.32. int width = cinfo.output_width;33. //圖像寬度34. int height = cinfo.output_height;35. //圖像高度36. int depth = cinfo.output_components;37. //圖像深度38. uint8_t img_byte = cinfo.jpeg_color_space;39. //像素字節數(1/2/3/4個字節,對應8/16/24/32位格式)40.41. memset(bmp_buf , 0 , sizeof(unsigned char) * width * height * depth);42.43. buffer = (*cinfo.mem->alloc_sarray)((j_common_ptr)&cinfo,JPOOL_IMAGE , width * depth , 1);44. //分配一行數據空間45. point = bmp_buf;46. while(cinfo.output_scanline < height)//逐行讀取位圖數據47. {48. jpeg_read_scanlines(&cinfo , buffer , 1);49. //讀取一行jpg圖像數據到buffer50. memcpy(point , *buffer , width * depth);51. //將buffer中的數據逐行給src_buff52. point += width * img_byte;53. //指針偏移一行54. }55.56. jpeg_finish_decompress(&cinfo);//解壓縮完畢57.58.59. for(i = 0 ; i < LCD_HEIGHT ; i ++)60. {61. for(j = 0 ; j < LCD_WIDTH ; j ++)62. if(i <= height && j <= width)63. {64. uint32_t temp = bmp_buf[(i * width+j) * 3] << 16 |65. bmp_buf[(i * width+j) * 3 + 1] << 8 |66. bmp_buf[(i * width+j) * 3 + 2];67. framebuffer_lcd[(i+ypos)*(LCD_WIDTH)+j+xpos] = temp;68.69. }70. //else framebuffer_lcd[(i+ypos)*(LCD_WIDTH)+j+xpos]=0;71. }72. int fd_lcd = open(dev , O_RDWR);73. write(fd_lcd , framebuffer_lcd , LCD_WIDTH * LCD_HEIGHT * 2);74. close(fd_lcd);}
原文標題:米爾MYS-8MMX開發板試用體驗測評——donatello1996
文章出處:【微信公眾號:米爾MYiR】歡迎添加關注!文章轉載請注明出處。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
測評
+關注
關注
0文章
42瀏覽量
3230
發布評論請先 登錄
相關推薦
熱點推薦
【米爾-RK3562開發板試用評測】rtc測評
接【米爾-RK3562開發板試用評測】轉接網線/無線測評
連網后可以使用互聯網時間作為rtc時間,
RTC(實時時鐘)作為獨立計時模塊,可在系統關機期間持續運行并保持時間記錄,
待設備
發表于 05-31 15:04
如何在米爾-STM32MP257開發板上實現環境監測系統
本文將介紹基于米爾電子MYD-LD25X開發板(米爾基于STM35MP257開發板)的環境監測系統方案測試。摘自優秀創作者-lugl4313820一、前言環境監測是當前很多場景需要的項

【米爾-STM32MP257開發板試用】——開箱評測
很榮幸收到電子發燒友和米爾電子的STM32MP257開發板,該開發板基于STM32MP2系列是意法半導體推出最新一代工業級64位微處理器;具備雙核Cortex-A35 +Cortex-M33,主頻
發表于 03-31 12:23
有獎丨米爾 瑞芯微YR3562開發板免費試用
米爾與瑞芯微合作發布的新品基于瑞芯微RK3562應用處理器的MYD-YR3562開發板免費試用活動來啦~~米爾提供了3塊價值599元的MYD-YR3562

如何用OpenCV進行手勢識別--基于米爾全志T527開發板
本文將介紹基于米爾電子MYD-LT527開發板(米爾基于全志T527開發板)的OpenCV手勢識別方案測試。摘自優秀創作者-小火苗米爾基于全

追加名額丨米爾瑞芯微RK3576開發板有獎試用
米爾與瑞芯微合作發布的新品基于瑞芯微RK3576應用處理器的MYD-LR3576開發板免費試用活動加碼啦~~米爾追加了2塊價值849元的MYD-LR3576

【米爾-Xilinx XC7A100T FPGA開發板試用】+01.開箱(zmj)
【米爾-Xilinx XC7A100T FPGA開發板試用】+01.開箱(zmj)
1.感謝
感謝米爾電子和電子發燒友提供的此次試用機會,可
發表于 11-12 15:45
有獎丨米爾 瑞芯微RK3576開發板免費試用
米爾與瑞芯微合作發布的新品基于瑞芯微RK3576應用處理器的MYD-LR3576開發板免費試用活動來啦~~米爾提供了7塊價值849元的MYD-LR3576

點擊參與米爾NXP i.MX 93開發板有獎試用
米爾與NXP合作發布的新品基于NXPi.MX93應用處理器的MYD-LMX9X開發板免費試用活動來啦~~米爾提供了3塊價值678元的MYD-LMX9X

評論