WhyCan Forum(哇酷论坛)

人过留名,雁过留声,感谢各位朋友不离不弃地支持。 QQ: 516333132, 微信: whycan_cn (哇酷网/挖坑网/填坑网) admin@whycan.cn

您尚未登录。

#1 2018-12-17 16:40:58

小菜
会员
注册时间: 2018-12-06
累计积分: 45

lvgl移植到裸跑的f1c100s上

在大侠达克罗德放出的《F1C100S裸奔framebuffer + PWM + GPIO驱动》基础上移植LVGL。
目前已经能够在800*480的屏幕上使用32颜色深度,跑lvgl的demo例子。
但感觉速度很慢,比在linux下使用fbdev还慢。
有时间再优化。
看看能不能用DMA实现数据传输。
源代码:
lvgl_f1c100s.zip

最近编辑记录 小菜 (2018-12-17 16:44:39)

离线

#2 2018-12-17 17:24:10

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,953

Re: lvgl移植到裸跑的f1c100s上

感谢分享!
感谢默默支持 debugdump 的网友!

离线

#3 2018-12-17 22:31:47

zzm24
会员
注册时间: 2018-05-07
累计积分: 22

Re: lvgl移植到裸跑的f1c100s上

开cache

离线

#4 2018-12-18 10:11:24

小菜
会员
注册时间: 2018-12-06
累计积分: 45

Re: lvgl移植到裸跑的f1c100s上

zzm24 说:

开cache

开了Icache和Dcache是好点了,但是还是感觉卡。我原来用的一个120MHz的MIPS(估计配置下来也就90多M)的片子跑GUI,很流畅。

离线

#5 2018-12-18 11:24:06

duckduckgo
会员
注册时间: 2018-12-13
累计积分: 57

Re: lvgl移植到裸跑的f1c100s上

小菜 说:
zzm24 说:

开cache

开了Icache和Dcache是好点了,但是还是感觉卡。我原来用的一个120MHz的MIPS(估计配置下来也就90多M)的片子跑GUI,很流畅。

你看这个帖子: https://whycan.cn/t_1457_2.html  也是裸跑的,并不卡。
能否把视频效果放出来参考参考?

最近编辑记录 duckduckgo (2018-12-18 11:27:00)

离线

#6 2018-12-18 17:36:13

小菜
会员
注册时间: 2018-12-06
累计积分: 45

Re: lvgl移植到裸跑的f1c100s上

duckduckgo 说:
小菜 说:
zzm24 说:

开cache

开了Icache和Dcache是好点了,但是还是感觉卡。我原来用的一个120MHz的MIPS(估计配置下来也就90多M)的片子跑GUI,很流畅。

你看这个帖子: https://whycan.cn/t_1457_2.html  也是裸跑的,并不卡。
能否把视频效果放出来参考参考?

我刚试了周立功移植过来的那个程序也是卡,难道是我的板子有问题?

离线

#7 2018-12-18 17:58:42

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,953

Re: lvgl移植到裸跑的f1c100s上

确实有点卡,zlg gui那个demo我在480x272液晶上面跑正常

离线

#8 2018-12-18 19:50:09

小菜
会员
注册时间: 2018-12-06
累计积分: 45

Re: lvgl移植到裸跑的f1c100s上

我的是800*480,感觉这个不带系统的和linux下的速度差不多,是不是lvgl本身的问题。

离线

#9 2018-12-18 20:04:37

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,953

Re: lvgl移植到裸跑的f1c100s上

xboot里面有一个lvgl分支,速度比你这个要快,你参考下

离线

#10 2018-12-20 11:18:27

zhenfanhei
会员
注册时间: 2018-01-18
累计积分: 251
个人网站

Re: lvgl移植到裸跑的f1c100s上

用16位色深效果会好些么?

离线

#11 2018-12-20 17:15:46

科技植
会员
注册时间: 2018-11-05
累计积分: 34

Re: lvgl移植到裸跑的f1c100s上

关于你这个lvgl的视频。我大概清楚。我当时是在NUC972上运行的这个程序(运行在linux操作系统下),效果也是你这样。这主要是弹出动画以及lvgl下main.c里,的usleep(10000)导致的。你在main.c中,找到这个函数,报10000改成比如100。键盘的弹出动画效果就快得飞起了

离线

#12 2018-12-20 17:35:50

lilo
会员
注册时间: 2017-10-15
累计积分: 214

Re: lvgl移植到裸跑的f1c100s上

我也看了一下代码

int boot_main(int argc, char **argv) {   
    lv_init();
    /* Do initial mem pool */
    do_init_mem_pool();
    do_init_dma_pool();

        fb_f1c100s_init(&fb_f1c100s);
        render = fb_f1c100s_create(&fb_f1c100s);

        for (int i = 0; i < render->pixlen/4;i++)
        {
            ((uint32_t*)render->pixels)[i ] = 0xffffffff;
        }
        fb_f1c100s_present(&fb_f1c100s, render);
        fb_f1c100s_setbl(&fb_f1c100s, 100);   

    lv_disp_drv_t disp_drv;
    lv_disp_drv_init(&disp_drv);
    disp_drv.disp_flush = fbdev_flush;     
    lv_disp_drv_register(&disp_drv);

    demo_create();

    while(1)
    {
        lv_tick_inc(5);
        lv_task_handler();
        delay(1000);
    }
    return 0;
}

粗体 delay(1000); 这个是多余的, 没必要延时.

离线

#13 2018-12-23 20:31:51

tango_zhu
会员
注册时间: 2018-04-12
累计积分: 39

Re: lvgl移植到裸跑的f1c100s上

这个延时去掉的话 cpu都被lvgl用了  别的也就干不了什么事情了

离线

#14 2018-12-27 17:20:48

Quotation
会员
注册时间: 2018-10-04
累计积分: 146

Re: lvgl移植到裸跑的f1c100s上

应该在主循环里每隔多少时间(比如30ms)调用一下
        lv_tick_inc(5);
        lv_task_handler();

其余的时间用来做别的。
并且lv_tick_inc的参数应当等于两次调用之间的时间间隔,否则动画会快慢不对。

离线

#15 2019-05-17 13:59:45

hzqlz
会员
注册时间: 2018-03-23
累计积分: 42

Re: lvgl移植到裸跑的f1c100s上

多谢分享

离线

#16 2019-07-14 21:04:41

萧哥
会员
注册时间: 2019-07-14
累计积分: 4

Re: lvgl移植到裸跑的f1c100s上

实际上是你烧进内部内存运行导致的慢 我试着烧到外部flash运行 快得一逼

离线

#17 2019-07-14 21:14:54

萧哥
会员
注册时间: 2019-07-14
累计积分: 4

Re: lvgl移植到裸跑的f1c100s上

离线

#18 2019-09-27 17:38:07

northerntree
会员
注册时间: 2019-08-12
累计积分: 16

Re: lvgl移植到裸跑的f1c100s上

用了楼主的程序,跑得比楼主视频快哈哈
多谢多谢了

离线

#19 2020-02-04 17:40:24

lchjng
会员
注册时间: 2020-02-02
累计积分: 6

Re: lvgl移植到裸跑的f1c100s上

楼主跑的慢的问题找到了吗,能否再次分享下你的程序,我打算试试,第一个链接怎么都没下载下来

离线

#20 2020-02-04 18:15:08

lchjng
会员
注册时间: 2020-02-02
累计积分: 6

Re: lvgl移植到裸跑的f1c100s上

你好,晕哥,请问楼主的那个参考程序,如何在win7的环境下用什么工具编译啊

离线

#21 2020-02-04 18:36:57

awfans
会员
注册时间: 2018-04-03
累计积分: 231

Re: lvgl移植到裸跑的f1c100s上

lchjng 说:

你好,晕哥,请问楼主的那个参考程序,如何在win7的环境下用什么工具编译啊

https://whycan.cn/t_3649.html#p33367

编译软件下载: https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q3-update
Linux 编译软件下载: gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2


编译软件可以用上面的gcc, windows/linux 版本都有,

make 在 linux自带, windows 的 msys 软件包也带 make.

离线

#22 2020-02-05 11:36:13

sea18c
会员
注册时间: 2019-08-05
累计积分: 76

Re: lvgl移植到裸跑的f1c100s上

lchjng 说:

楼主跑的慢的问题找到了吗,能否再次分享下你的程序,我打算试试,第一个链接怎么都没下载下来

我在F1C100S上跑属于正常的呀

离线

#23 2020-02-05 12:06:08

lchjng
会员
注册时间: 2020-02-02
累计积分: 6

Re: lvgl移植到裸跑的f1c100s上

awfans  感谢你提供的说明,根据链接发现GCC 编译器不支持ram9 ,麻烦给一个新版的,最好能有编译步骤,谢谢啦

离线

#24 2020-02-05 12:09:03

lchjng
会员
注册时间: 2020-02-02
累计积分: 6

Re: lvgl移植到裸跑的f1c100s上

sea18c 我刚下载了,还不知道在windows 上怎么编译、烧写,给个文档参考下吧,我是新手,第一次接触ram

离线

#25 2020-02-07 15:54:33

sea18c
会员
注册时间: 2019-08-05
累计积分: 76

Re: lvgl移植到裸跑的f1c100s上

lchjng 说:

sea18c 我刚下载了,还不知道在windows 上怎么编译、烧写,给个文档参考下吧,我是新手,第一次接触ram



我没有在windows上编译,我是用ubuntu16.04编译的,然后在windows上烧写,现在有软件可以烧写了, 方便多了,如果你用ubuntu16.04编译那可以先设置其文件夹为共享然后在windows上添加网络影射盘就可以直接操作了。烧写工具你搜索下:DKTool windows下F1C200S图形化烧写工具

离线

#26 2020-02-24 16:47:14

642242855
会员
注册时间: 2019-10-31
累计积分: 57

Re: lvgl移植到裸跑的f1c100s上

这个可以做成kei的工程来l编译不 big_smile

离线

页脚