本文來源電子發燒友社區,作者:李先生, 帖子地址:https://bbs.elecfans.com/jishu_2286690_1_1.html
前言
編寫代碼
復制代碼
導入代碼到開發板
編譯
運行
查看效果
總結
開發板運行了桌面系統自帶編譯環境,所以不需要交叉編譯,開發起來比較方便。
前言
前提是已經了解應用程序的開發流程,見https://bbs.elecfans.com/jishu_2286643_1_1.html。
- #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;
- }
- /* mmap 這里假設bits_per_pixel為32位, 所以p_fb定義為unsigned int *p_fb, 寫buffer也是按照unsigned int 寫, 實際應該根據bits_per_pixel大小進行讀寫 */
- 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;
- }
見https://bbs.elecfans.com/jishu_2286643_1_1.html,使用rz導入不再贅述。
gcc framebuffer.c -o framebuffer回車
關閉桌面系統,否則桌面系統在顯示,framebufer無法顯示。
輸入sudo init 3回車 提示輸入密碼時輸入starfive回車。
用鼠標鍵盤
輸入用戶名riscv
密碼starfive登錄
輸入
sudo ./framebuffer /dev/fb 1000
提示輸入密碼時輸入starfive回車。
開發板運行了桌面系統自帶編譯環境,所以不需要交叉編譯,開發起來比較方便。
sudo init 3切換到命令行模式
sudo init 5切換到桌面模式
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
RISC-V
+關注
關注
48文章
2886瀏覽量
53026 -
賽昉科技
+關注
關注
3文章
181瀏覽量
15552
發布評論請先 登錄
相關推薦
熱點推薦
賽昉科技2025:引領RISC-V駛入數據中心深水區
2025年,是RISC-V從技術走向場景的關鍵一年。賽昉科技始終相信:唯有落地,才能創造真實價值。我們以規模化商用為錨點,推動RISC-V深入數據中心核心、走進千行百業。在此,向您呈上
RISC-V實現數據中心應用突破,賽昉科技BMC芯片重磅亮相
電子發燒友原創 章鷹 近期,在珠海舉辦的RISC-V產業大會上,賽昉科技展示了面向數據中心、邊緣計算及智能終端的全棧產品與成熟應用,其中一款產品引起了記者的注意,這款BMC芯片在11月
2025 RISC-V產業發展大會 | 賽昉科技全景展示規模化商用成果
2025年11月24日,RISC-V產業發展大會在珠海開幕。賽昉科技以“推動RISC-V規模化商用”為核心主題,重點展示了面向數據中心、邊緣計算
賽昉科技重磅發布新產品,RISC-V實現數據中心規模化商用突破
2025年11月14日,中國香港——賽昉科技隆重發布首款基于RISC-V架構的數據中心管理芯片“獅子山芯”。作為一款具有里程碑意義的產品,“獅子山芯”成功實現了RISC-V在數據中心領
【作品合集】賽昉科技VisionFive 2單板計算機開發板測評
賽昉科技VisionFive 2單板計算機開發板測評作品合集
產品介紹:
昉·星光 2是全球首款集成了3D GPU的高性能量產
發表于 09-04 09:08
5?款?RISC-V?單板計算機測試:性能、基準測試、特性及見解
倘若計算的未來并非被專有架構所壟斷,那會怎樣?想象一下這樣一個世界:開發者和業余愛好者都能利用開源硬件的力量自由地構建、創新和實驗。現在,讓我們走進RISC-V單板計算機(SBC)的世界——一個正在
賽昉科技入駐RuyiSDK開發者社區,雙平臺協同推進RISC-V生態
賽昉科技(StarFive)正式入駐RuyiSDK開發者社區,攜手推動RISC-V技術創新。后續,賽昉科技的技術突破與生態進展將同步在RVs
賽昉科技徐滔:以精準場景牽引,RISC-V搶灘數據中心百萬顆市場
7月16-19日,第五屆RISC-V中國峰會在上海張江科學會堂成功舉辦。國內領先的RISC-V廠商賽昉科技攜多款重磅產品亮相,集中展示自研創新技術和成果。峰會期間,
賽昉科技聯合合見工軟實現國產一致性NoC IP與RISC-V核在大規模網絡中的適配
2025年7月24日——中國RISC-V軟硬件生態領導者賽昉科技與中國數字EDA/IP龍頭企業上海合見工業軟件集團有限公司(簡稱“合見工軟”)共同宣布雙方的突破性技術合作成果。賽
“核心技術突破+關鍵應用支撐”,賽昉加速RISC-V生態突圍
核心技術護城河1.首款適配RISC-V核的國產一致性NoCIP——StarNoC-700在高性能計算分論壇上,賽昉科技IP產品線總經理周杰宣布,公司自主研發的大規模一
【VisionFive 2單板計算機試用體驗】VisionFive 2一個霸氣的游戲機
單板計算機,搭載昉·驚鴻-7110(型號:JH-7110)RISC-V應用處理器,擁有極強的計算能力和圖形處理能力。開源的昉·
發表于 07-13 20:41
【VisionFive 2單板計算機試用體驗】RISC-V架構卡片計算機初體驗
2h........無奈)
參考文獻:
全球首款集成3D GPU的高性能量產RISC-V 單板計算機,昉·星光 2 開發實踐![全球首款集成3D GPU的高性能量產
發表于 07-06 23:28
權威評測:Orange Pi RV2等5?款?RISC-V?單板計算機測試-性能、基準測試、功能和見解
如果計算的未來不是被鎖定在專有架構上,那會怎樣?想象一下,在這個世界上,開發人員和業余愛好者都可以利用開源硬件的強大功能自由構建、創新和實驗。進入RISC-V單板計算機(SBC)領域——一個新興
【VisionFive 2單板計算機試用體驗】 + 開箱體驗
在x86與ARM架構主導的單板計算機市場,中國團隊打造的VisionFive 2(防星光2)如同一顆新星,憑借開源開放的RISC-V架構和成熟的桌面體驗,為開發者與極客提供了全新的選擇。經過
發表于 06-27 09:06
【賽昉科技昉·星光RISC-V單板計算機試用體驗】基于framebuffer的hdmi顯示測試
評論