本文來源電子發燒友社區,作者:李先生, 帖子地址: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文章
1713瀏覽量
152041 -
RK3568
+關注
關注
4文章
518瀏覽量
5094 -
開發板試用
+關注
關注
3文章
301瀏覽量
2116
發布評論請先 登錄
相關推薦
RK3568內置MCU開發介紹之一
A55(下文簡稱AP)和1個RISCV(下文簡稱MCU)。 硬件準備 首先介紹一下硬件。主板為風火輪科技的YY3568開發板,主控RK3568。此開發板的相關介紹可以參考 https
瑞芯微RK3568開發板Linux編譯報錯404怎么辦?觸覺智能教你輕松解決
本文介紹瑞芯微RK3568主板/開發板SDK編譯流程和編譯報錯404的解決方法,使用觸覺智能EVB3568鴻蒙開發板演示,具有豐富的視頻輸入輸出接口(
國產核心板全面進攻-RK3568開發板評測
隨著端側AI應用的落地,預計集成NPU的SoC產品將迎來爆發式的增量市場。本期與非網給大家帶來一款采用國內知名SoC廠商的產品——基于瑞芯微RK3568的開發板
鴻蒙OpenHarmony南向:【RK3568開發板介紹】
RK3568開發板基于Rockchip RK3568芯片,集成雙核心架構GPU以及高效能NPU;搭載四核64位Cortex-A55處理器,采用22nm先進工藝,主頻高達2.0GHz;支持藍牙
鴻蒙OpenHarmony【標準系統編譯】 (基于RK3568開發板)
DevEco Device Tool支持Rockchip RK3568開發板的源碼一鍵編譯功能,提供編譯工具鏈和編譯環境依賴的檢測及一鍵安裝,簡化復雜編譯環境的同時,提升了編譯的效率。
評論