
米尔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浏览量
3157
发布评论请先 登录
相关推荐
如何用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

米尔RK3576开发板特惠活动!
近日,米尔电子发布基于瑞芯微RK3576核心板和开发板,RK3576作为国产热门处理器,其高性能数据处理能力、领先的AI智能分析、强大的扩展性与兼容性受到广大开发者的关注。

【米尔-紫光PG2L100H国产FPGA开发板试用】米尔-紫光PG2L100H国产FPGA开发板开箱评测
很荣幸收到电子发烧友论坛申请的 米尔-紫光PG2L100H国产FPGA开发板,现在特地来写篇测评报告,米尔-紫光PG2L100H国产FPGA由核心板
发表于 11-07 12:21
点击参与米尔NXP i.MX 93开发板有奖试用
米尔与NXP合作发布的新品基于NXPi.MX93应用处理器的MYD-LMX9X开发板免费试用活动来啦~~米尔提供了3块价值678元的MYD-LMX9X

米尔NXP i.MX 93开发板的Qt开发指南
1.概述Qt是一个跨平台的图形应用开发框架,被应用在不同尺寸设备和平台上,同时提供不同版权版本供用户选择。米尔NXPi.MX93开发板(MYD-LMX9X开发板)使用Qt6.5版本进行

通过物联网管理多台MQTT设备-基于米尔T527开发板
本篇测评由电子工程世界的优秀测评者“JerryZhen”提供。本文将介绍基于米尔电子MYD-LT527开发板的网关方案测试。一、系统概述基于米尔

G2D图像处理硬件调用和测试-基于米尔-全志T113-i开发板
本篇测评由电子工程世界的优秀测评者“jf_99374259”提供。本文将介绍基于米尔电子MYD-YT113i开发板的G2D图像处理硬件调用和测试。MYC-YT113i核心

评论