女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

米爾MYS-8MMX開發板試用體驗測評——donatello1996

米爾電子 ? 2021-09-03 18:45 ? 次閱讀
4566305c-0c7e-11ec-abed-000c2944909e.png

米爾MYS-8MMX開發板試用體驗測評

近期,米爾科技重磅發布新品“MYS-8MMX”開發板,并在電子發燒友、電路城等各大論壇發布試用通知,受到了眾多工程師、廣大電子愛好者圍觀,米爾選取了電子發燒友平臺一篇優秀試用報告,在此同步給各位小伙伴們。由于篇幅原因:該文章中使用libjpeg庫和giflib庫顯示JPG圖片和GIF圖片 該測評不一一展示了,想了解具體內容可以復制該鏈接查看:https://bbs.elecfans.com/jishu_2154638_1_1.html

PART.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不符:45d739f4-0c7e-11ec-b8ae-000c2944909e.png?使用Win32DiskImager或別的燒錄工具進行燒錄即可。燒錄完畢后,SD卡會分為三個部分,最前面8MB為預留空間不做分區,中間89MB為FAT分區存放BOOT.bin/內核文件/設備樹dtb文件,后面的EXT分區,其中后面的EXT分區為開發者可以自由操作的分區,可對此分區進行分割,合并,擴容,刪除等,一般有基礎的開發者會將該分區的廠家出廠文件系統做備份然后刪除,擴容并替換為自己的文件系統分區,文件系統發行版為Ubuntu/Debian/Centos/Redhat/ARMbian等,根據個人喜好而定,這么做的好處是,不影響內核驅動開發的版本兼容問題,并且能按照個人意愿自選安裝各種第三方軟件,如桌面運行擴展,x11擴展,網絡擴展等,而我為了方便使用apt插件安裝各種軟件,選擇的文件系統發行版依然為之前一直沿用的Debian 10 for arm64,45f72db6-0c7e-11ec-a051-000c2944909e.png?該文件系統發行版可用在所有arm64架構開發板上:搭建文件系統的帖子我之前發表過,可參考此帖:https://bbs.elecfans.com/jishu_2030659_1_1.html替換完畢后,啟動系統,查看CPU信息和運行內存信息:4617bd30-0c7e-11ec-b1c2-000c2944909e.png?462c53cc-0c7e-11ec-83e3-000c2944909e.png?CPU為IMX8mini,四核A53,內存2GB。替換文件系統后,需要移植/lib/modules內核驅動目錄,以便開機時由內核文件正確加載各個ko文件:46497024-0c7e-11ec-88ce-000c2944909e.png?正確加載/usr/lib/modules/5.4.3-2.0.0+gbed0791/kernel/drivers/net/wireless/bcmdhd/bcmdhd.ko文件后,板載WIFI模塊便可正常使用:46575dde-0c7e-11ec-931e-000c2944909e.png?1.ifconfig wlan02.nmcli dev wifi466d684a-0c7e-11ec-980e-000c2944909e.png?

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 1920x108046894330-0c7e-11ec-a9fe-000c2944909e.png?46a527fa-0c7e-11ec-ab66-000c2944909e.png?至于啟動QT環境開發的方式有兩種,第一種是使用SSH遠程代碼調試軟件如VSCodeSourceInsight等,通過SSH方式登錄到板子上,另外一種方法則是直接在板子的MobaXterm SSH終端啟動QT creator4700b1e4-0c7e-11ec-9109-000c2944909e.png?我個人傾向于兩種方式結合使用,在不同的開發場合下使用不同方式。QT creator默認配置編譯環境gcc471c5590-0c7e-11ec-8e1c-000c2944909e.pngQT下操作framebuffer外設顯示一行文字:1.void MainWindow::LCD_Show_ASCII_64(uint32_t x,uint32_t y,uint32_t fontcolor,uint32_t backcolor,char word)2.{3. int i,j,k;4. unsigned char temp;5. word -= 0x20;6. for(j=0;j<64;j++)7. {8. for(i=0;i<4;i++)9. {10. temp = ascii_font_64[j*4+i+word*256];11. for(k=0;k<8;k++)12. {13. IF(temp & 0x80)14. framebuffer_lcd[i*8+k+x+LCD_WIDTH*(j+y)] = fontcolor;15. else16. framebuffer_lcd[i*8+k+x+LCD_WIDTH*(j+y)] = backcolor;17. temp<<=1;18. }19. }20. }21.}22.23.void MainWindow::LCD_Show_ASCII_String_64(uint32_t x,uint32_t y,uint32_t wordcolor,uint32_t backcolor,char s[])24.{25. int i=0;26. for(i=0;s[i]!='\0';i++)27. LCD_Show_ASCII_64(x+i*32,y,wordcolor,backcolor,s[i]);28.}29.30.int MainWindow::LCD_Effect(char *dev)31.{32. int fd_lcd = open(dev , O_RDWR);33. if(fd_lcd == -1)34. {35. qdebug("open LCD faiLED!");36. return -1;37. }38. write(fd_lcd , framebuffer_lcd , LCD_WIDTH * LCD_HEIGHT * 4);39. ::close(fd_lcd);40. return 0;41.}可以看出,在QT下操作文件字符設備與普通系統編程并沒有明顯區別,唯一不同的是,QT下使用文件關閉函數需要添加雙冒號::close(),防止與QT自帶的close()函數產生沖突。在mainwindow類任意位置打開/dev/fb0外設后,即可進行ASCII碼符號的顯示:1. LCD_Show_ASCII_String_64(0 , 0 , 0 , LCD_COLOR_CYAN_32 , (char *)"elecfans.com");2. LCD_Show_ASCII_String_64(0 , 64 , 0 , LCD_COLOR_CYAN_32 , (char *)"donatello1996");3. LCD_Effect((char*)FB_DEV);非常簡單愉快就玩成了,看看x11vnc遠程終端顯示效果,這也就是HDMI實際顯示是輸出內容:4732c1c8-0c7e-11ec-8028-000c2944909e.png?當然了,如果不設置環境變量QT_QPA_PLATFORM的話,x11終端下啟動的x11應用就會在遠程機器上直接顯示(遠程機器就是我的電腦):474c877a-0c7e-11ec-a414-000c2944909e.png?設置QT_QPA_PLATFORM之后,可以將啟動界面映射到任意framebuffer外設上:1.export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0475fbfbe-0c7e-11ec-8028-000c2944909e.png?

PART.3

編譯內核鏡像&USBHID設備通信

如果想用一種簡單的方式控制更多外設的話,除了添加擴展芯片,還有一種項目上用得比較多的方式是USBHID通信,將開發板作為主機,通過USB接口與支持USBHID協議的從機進行通信,這個方法非常簡單,剛入門嵌入式的小白也必須熟練掌握,只需要應用層開發的知識和皮毛的驅動層開發知識。要想使用這種方式進行通信,板子的內核鏡像就必須支持USBHID設備的檢測與讀寫,檢測是沒什么問題的,但是能不能映射到設備文件,供開發者進行讀寫操作,那就需要檢查內核編譯選項了,這里剛好是比較壞的一種情況,米爾廠家出廠鏡像是沒有打開USBHID通信的,必須讓開發者重新編譯內核鏡像,那么這里就涉及到內核編譯的知識了:下載并解壓內核源碼鏡像:1.https://github.com/MYiR-Dev/myir-imx-uboot.git4773cada-0c7e-11ec-ad3f-000c2944909e.png?編譯選項采用米爾MYS-8MMX開發板的編譯選項mys_iot_defconfig1./home/myir-imx-linux-develop/arch/ARM64/configs/2.make mys_iot_defconfig4787ca46-0c7e-11ec-b276-000c2944909e.png?這邊還需要注意的是內核鏡像的版本與使用內核源碼編譯第三方驅動ko文件的版本必須相同,在內核源碼一級目錄處可以找到配置的位置:479a67a2-0c7e-11ec-b086-000c2944909e.png?47ab2e14-0c7e-11ec-a390-000c2944909e.png?使用menuconfig打開內核編譯選項, Device Drivers > HID support/dev/hidraw raw HID device support選項要打開,或者是在配置文件中添加此項配置的環境變量:47dbd6d2-0c7e-11ec-beb5-000c2944909e.png?47f89412-0c7e-11ec-a52c-000c2944909e.png?配置完畢之后,替換Image內核文件覆蓋出廠內核文件:1.mount /dev/mmcblk1p1 /media2.mmcblk1是開發板的SD卡,mmcblk1p1SD卡的FAT分區,存放內核文件的位置:4815fc5c-0c7e-11ec-b666-000c2944909e.png?重新啟動之后,將USBHID設備插到板子的USB接口:4830b982-0c7e-11ec-b3a8-000c2944909e.png?/dev目錄下找到/dev/hidraw設備:安裝-ludev軟件庫:485ece24-0c7e-11ec-929e-000c2944909e.png?1.apt install udev使用代碼讀寫HID設備:1.handle = hid_open(2020, 2020, NULL);2.res = hid_read(handle, buf, sizeof(buf));4f1004fa-0c7e-11ec-8520-000c2944909e.png?

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);}53475266-0c7e-11ec-bf8d-000c2944909e.png米爾電子嵌入式解決方案專家“米爾MYiR”公眾號?不定期分享產品資料及干貨?第一時間發布米爾最新資訊

原文標題:米爾MYS-8MMX開發板試用體驗測評——donatello1996

文章出處:【微信公眾號:米爾MYiR】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 測評
    +關注

    關注

    0

    文章

    42

    瀏覽量

    3230
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    米爾-RK3562開發板試用評測】rtc測評

    接【米爾-RK3562開發板試用評測】轉接網線/無線測評 連網后可以使用互聯網時間作為rtc時間, RTC(實時時鐘)作為獨立計時模塊,可在系統關機期間持續運行并保持時間記錄, 待設備
    發表于 05-31 15:04

    【評測試用】合眾HZ-T536開發板免費試用體驗

    【評測試用】合眾HZ-T536開發板免費試用體驗
    的頭像 發表于 05-27 08:05 ?54次閱讀
    【評測<b class='flag-5'>試用</b>】合眾HZ-T536<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>體驗

    如何在米爾-STM32MP257開發板上實現環境監測系統

    本文將介紹基于米爾電子MYD-LD25X開發板米爾基于STM35MP257開發板)的環境監測系統方案測試。摘自優秀創作者-lugl4313820一、前言環境監測是當前很多場景需要的項
    的頭像 發表于 04-17 08:06 ?1602次閱讀
    如何在<b class='flag-5'>米爾</b>-STM32MP257<b class='flag-5'>開發板</b>上實現環境監測系統

    米爾-STM32MP257開發板試用】——開箱評測

    很榮幸收到電子發燒友和米爾電子的STM32MP257開發板,該開發板基于STM32MP2系列是意法半導體推出最新一代工業級64位微處理器;具備雙核Cortex-A35 +Cortex-M33,主頻
    發表于 03-31 12:23

    免費丨米爾 STM32MP257開發板有獎試用

    米爾與ST合作發布的新品基于STM32MP257應用處理器的MYD-LD25X開發板免費試用活動來啦~~米爾提供了2塊價值488元的MYD-LD25X
    的頭像 發表于 03-20 08:05 ?330次閱讀
    免費丨<b class='flag-5'>米爾</b> STM32MP257<b class='flag-5'>開發板</b>有獎<b class='flag-5'>試用</b>

    有獎丨米爾 瑞芯微YR3562開發板免費試用

    米爾與瑞芯微合作發布的新品基于瑞芯微RK3562應用處理器的MYD-YR3562開發板免費試用活動來啦~~米爾提供了3塊價值599元的MYD-YR3562
    的頭像 發表于 03-20 08:05 ?393次閱讀
    有獎丨<b class='flag-5'>米爾</b> 瑞芯微YR3562<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>

    有獎丨米爾 全志T536開發板免費試用

    米爾與全志合作發布的新品基于全志T536應用處理器的MYD-LT536-GK開發板免費試用活動來啦~~米爾提供了3塊價值750元的MYD-LT536-GK
    的頭像 發表于 12-26 08:05 ?681次閱讀
    有獎丨<b class='flag-5'>米爾</b> 全志T536<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>

    人臉疲勞檢測應用-米爾基于RK3576核心/開發板

    本文將介紹基于米爾電子MYD-LR3576開發板米爾基于瑞芯微RK3576開發板)的人臉疲勞檢測方案測試。米爾基于RK3576核心
    的頭像 發表于 12-20 08:06 ?757次閱讀
    人臉疲勞檢測應用-<b class='flag-5'>米爾</b>基于RK3576核心<b class='flag-5'>板</b>/<b class='flag-5'>開發板</b>

    如何用OpenCV進行手勢識別--基于米爾全志T527開發板

    本文將介紹基于米爾電子MYD-LT527開發板米爾基于全志T527開發板)的OpenCV手勢識別方案測試。摘自優秀創作者-小火苗米爾基于全
    的頭像 發表于 12-13 08:04 ?1199次閱讀
    如何用OpenCV進行手勢識別--基于<b class='flag-5'>米爾</b>全志T527<b class='flag-5'>開發板</b>

    FacenetPytorch人臉識別方案--基于米爾全志T527開發板

    本篇測評由電子工程世界的優秀測評者“小火苗”提供。本文將介紹基于米爾電子MYD-LT527開發板米爾基于全志T527
    的頭像 發表于 11-28 15:12 ?699次閱讀
    FacenetPytorch人臉識別方案--基于<b class='flag-5'>米爾</b>全志T527<b class='flag-5'>開發板</b>

    追加名額丨米爾瑞芯微RK3576開發板有獎試用

    米爾與瑞芯微合作發布的新品基于瑞芯微RK3576應用處理器的MYD-LR3576開發板免費試用活動加碼啦~~米爾追加了2塊價值849元的MYD-LR3576
    的頭像 發表于 11-22 01:00 ?528次閱讀
    追加名額丨<b class='flag-5'>米爾</b>瑞芯微RK3576<b class='flag-5'>開發板</b>有獎<b class='flag-5'>試用</b>

    【RA8D1試用活動】RA8D1B-CPKCOR開發板移植linux

    【RA8D1試用活動】RA8D1B-CPKCOR開發板移植linux
    的頭像 發表于 11-16 01:02 ?731次閱讀
    【RA<b class='flag-5'>8</b>D1<b class='flag-5'>試用</b>活動】RA<b class='flag-5'>8</b>D1B-CPKCOR<b class='flag-5'>開發板</b>移植linux

    米爾-Xilinx XC7A100T FPGA開發板試用】+01.開箱(zmj)

    米爾-Xilinx XC7A100T FPGA開發板試用】+01.開箱(zmj) 1.感謝 感謝米爾電子和電子發燒友提供的此次試用機會,可
    發表于 11-12 15:45

    有獎丨米爾 瑞芯微RK3576開發板免費試用

    米爾與瑞芯微合作發布的新品基于瑞芯微RK3576應用處理器的MYD-LR3576開發板免費試用活動來啦~~米爾提供了7塊價值849元的MYD-LR3576
    的頭像 發表于 11-12 01:00 ?666次閱讀
    有獎丨<b class='flag-5'>米爾</b> 瑞芯微RK3576<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>

    點擊參與米爾NXP i.MX 93開發板有獎試用

    米爾與NXP合作發布的新品基于NXPi.MX93應用處理器的MYD-LMX9X開發板免費試用活動來啦~~米爾提供了3塊價值678元的MYD-LMX9X
    的頭像 發表于 06-13 08:02 ?857次閱讀
    點擊參與<b class='flag-5'>米爾</b>NXP i.MX 93<b class='flag-5'>開發板</b>有獎<b class='flag-5'>試用</b>