本文来源电子发烧友社区,作者:李先生, 帖子地址:https://bbs.elecfans.com/jishu_2303741_1_1.html
准备
参考https://bbs.elecfans.com/jishu_2303737_1_1.html的ssh登录配置等。
apt install lrzsz安装sz rz工具
rz是导入文件到开发板
sz相反
安装后,crt中ssh登录开发板后,就可以输入rz回车
自动弹出选择文件对话框选择文件,点击Add点击Ok就可发送到开发板
sz 文件名
则从开发板下载到本地
输出的路径可以配置
右键点击连接->Session Options...
配置上传下载路径如下
Framebuffer测试代码
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
int main(int argc, char *argv[])
{
int fd = -1;
int ret = -1;
uint8_t *p_fb = 0;
struct fb_fix_screeninfo finfo;
struct fb_var_screeninfo vinfo;
memset(&finfo,0,sizeof(finfo));
memset(&vinfo,0,sizeof(vinfo));
fd = open(argv[1],O_RDWR);
if(fd < 0)
{
fprintf(stderr,"open %s err, %sn",argv[1],strerror(errno));
return -1;
}
ret = ioctl(fd, FBIOGET_FSCREENINFO, &finfo);
if(ret < 0)
{
fprintf(stderr,"ioctl finfo err, %sn",strerror(errno));
close(fd);
return -1;
}
ret = ioctl(fd, FBIOGET_VSCREENINFO, &vinfo);
if(ret < 0)
{
fprintf(stderr,"ioctl vinfo err, %sn",strerror(errno));
close(fd);
return -1;
}
unsigned long len = vinfo.xres_virtual * vinfo.yres_virtual * vinfo.bits_per_pixel / 8;
p_fb = mmap(NULL, len, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
if(p_fb == NULL)
{
fprintf(stderr,"mmap len %ld errn",len);
close(fd);
return -1;
}
fprintf(stderr,"x = %d y = %d bits = %d len = %ldn",vinfo.xres_virtual,vinfo.yres_virtual,vinfo.bits_per_pixel,len);
volatile int times = 30;
while(times--)
{
if(vinfo.bits_per_pixel == 16)
{
for(unsigned int i=0; i< len/2; )
{
*((uint16_t*)(p_fb + i)) = 0xF800;
i+=2;
}
usleep(atoi(argv[2])*1000);
for(unsigned int i=0; i< len/2;)
{
*((uint16_t*)(p_fb + i)) = 0x07E0;
i+=2;
}
usleep(atoi(argv[2])*1000);
for(unsigned int i=0; i< len/2;)
{
*((uint16_t*)(p_fb + i)) = 0x001F;
i+=2;
}
usleep(atoi(argv[2])*1000);
}
else
{
for(unsigned int i=0; i< len/4; )
{
*((uint32_t*)(p_fb + i)) = 0xFF0000;
i+=4;
}
usleep(atoi(argv[2])*1000);
for(unsigned int i=0; i< len/4;)
{
*((uint32_t*)(p_fb + i)) = 0x00FF00;
i+=4;
}
usleep(atoi(argv[2])*1000);
for(unsigned int i=0; i< len/4;)
{
*((uint32_t*)(p_fb + i)) = 0x0000FF;
i+=4;
}
usleep(atoi(argv[2])*1000);
}
}
munmap(p_fb,len);
close(fd);
return 0;
}
rz导入到开发板
编译
gcc framebuffer.c -o framebuffer
运行
./framebuffer /dev/fb0 200
可以看到以200ms间隔 rgb刷屏 30次。
总结
测试framebuffer和hdmi显示ok,后续就可以基于此进行相应的图形程序的开发。
比如移植lvgl等。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
HDMI
+关注
关注
32文章
1647浏览量
151579 -
RK3568
+关注
关注
4文章
492浏览量
4900 -
开发板试用
+关注
关注
3文章
301浏览量
2030
发布评论请先 登录
相关推荐
瑞芯微RK3568开发板Linux编译报错404怎么办?触觉智能教你轻松解决
本文介绍瑞芯微RK3568主板/开发板SDK编译流程和编译报错404的解决方法,使用触觉智能EVB3568鸿蒙开发板演示,具有丰富的视频输入输出接口(
瑞芯微RK3568鸿蒙开发板OpenHarmony系统修改cfg文件权限方法
本文适用于OpenHarmony开源鸿蒙系统修改cfg文件权限方法,深圳触觉智能研发的RK3566、RK3568、RK3588等开发板、主板等产品均适用此教程
国产核心板全面进攻-RK3568开发板评测
随着端侧AI应用的落地,预计集成NPU的SoC产品将迎来爆发式的增量市场。本期与非网给大家带来一款采用国内知名SoC厂商的产品——基于瑞芯微RK3568的开发板
速通RK3568开发板多网口网线直连测试
开源鸿蒙硬件方案领跑者触觉智能本文适用于在EVB3568开发板上进行多网口网线直连。触觉智能的EVB3568主板基于瑞芯微RK3568处理器,采用22nm先进工艺制程,四核A55CPU
鸿蒙OpenHarmony南向:【RK3568开发板介绍】
RK3568开发板基于Rockchip RK3568芯片,集成双核心架构GPU以及高效能NPU;搭载四核64位Cortex-A55处理器,采用22nm先进工艺,主频高达2.0GHz;支持蓝牙
鸿蒙OpenHarmony【标准系统编译】 (基于RK3568开发板)
DevEco Device Tool支持Rockchip RK3568开发板的源码一键编译功能,提供编译工具链和编译环境依赖的检测及一键安装,简化复杂编译环境的同时,提升了编译的效率。
评论