本文來源電子發(fā)燒友社區(qū),作者:李先生, 帖子地址: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是導(dǎo)入文件到開發(fā)板
sz相反
安裝后,crt中ssh登錄開發(fā)板后,就可以輸入rz回車
自動彈出選擇文件對話框選擇文件,點擊Add點擊Ok就可發(fā)送到開發(fā)板
sz 文件名
則從開發(fā)板下載到本地
輸出的路徑可以配置
右鍵點擊連接->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導(dǎo)入到開發(fā)板
編譯
gcc framebuffer.c -o framebuffer
運行
./framebuffer /dev/fb0 200
可以看到以200ms間隔 rgb刷屏 30次。
總結(jié)
測試framebuffer和hdmi顯示ok,后續(xù)就可以基于此進行相應(yīng)的圖形程序的開發(fā)。
比如移植lvgl等。
-
HDMI
+關(guān)注
關(guān)注
33文章
1831瀏覽量
155678 -
RK3568
+關(guān)注
關(guān)注
5文章
588瀏覽量
6487 -
開發(fā)板試用
+關(guān)注
關(guān)注
3文章
302瀏覽量
2419
發(fā)布評論請先 登錄
【HZ-RK3568開發(fā)板免費體驗】1、開發(fā)板資源、SDK使用和鏡像燒寫
RK3568開發(fā)板暗藏32位兼容開關(guān)?飛凌嵌入式帶你一鍵解鎖!

【HZ-RK3568開發(fā)板免費體驗】合眾HZ-RK3568開發(fā)板測評
迅為RK3568開發(fā)板驅(qū)動指南GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入

一文掌握RK3568開發(fā)板Android13掛載Windows共享目錄

RK3568開發(fā)板教程:以iTOP-RK3568開發(fā)板為例 Android13通過CIFS協(xié)議掛載Windows共享目錄

北京迅為RK3568開發(fā)板OpenHarmony系統(tǒng)南向驅(qū)動開發(fā)內(nèi)核HDF驅(qū)動框架架構(gòu)

基于迅為RK3568開發(fā)板全國產(chǎn)平臺,快速實現(xiàn)APP開機自啟動技術(shù)分享

能力再次提升! 迅為RK3588/RK3568開發(fā)板&amp;核心板新增定制分區(qū)鏡像

瑞芯微RK3568開發(fā)板Linux編譯報錯404怎么辦?觸覺智能教你輕松解決

評論