野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 83039|回复: 126

《分享!!!》RT-Thread 3.0+littlevgl,可以搞事情了

  [复制链接]
发表于 2018-4-24 16:33:15 | 显示全部楼层 |阅读模式
经过几天的磨合,终于把RT-Thread 3.0 和 littlevgl 整合到了一起,并且流畅的跑起来了。可以用来搞搞事情了。

22.png


littlevgl的相关内容可以看我这个帖子:
http://www.firebbs.cn/forum.php?mod=viewthread&tid=23063&extra=

这里简单的讲一下RTT的移植,移植rtt不需要去找源代码,keil自带RTT资源包,只需要更新下就可以了。

33.png
然后新建工程,添加RTT
44.png

    注释掉工程里 stm32f4xx_it.c 里 PendSV_Handler() 和 SysTick_Handler()这两个函数,因为RTT已经实现了这2个函数。
    虽然RTT 3.0也包含了device drivers,但实际上没有这个文件夹,所以默认情况下即使勾选了device drivers,3.0也是不能使用finsh功能,也就是串口调试功能,
但是RTT 2.1里面有这个文件夹,所以大家把上图2.1的包也更新了,然后将MDK的安装目录下的RTT 2.1的drivers 文件夹拷贝到3.0下面相应的位置,
我的目录是  C:\Keil_v5\ARM\PACK\rt-thread\rtthread\2.1.1\components ,到此为止就可以用了吗,还不行,接下来教大家如何修改包的环境配置,
切换到3.0.3的目录下,用记事本或者notepad++之类的工具,打开 rt-thread.thread.pdsc 这个文件,找到第131行,这时我们发现,device drivers这里的配置是空的,
所以即使勾选了device drivers也是不能用的。怎么办呢,我上面不是说2.1的可以用吗,大家可能已经猜到了,对的,就是把2.1的这一段给复制过来替换掉,OK,重启MDK,完美解决。
55.png

其他的大家自己研究。
RTT的官网:https://www.rt-thread.org/
由于官网并没有pdf版的使用手册,这里上传一份RTT的使用手册PDF版:
RT-Thread编程指南.pdf (2.28 MB, 下载次数: 561)
有兴趣的同学可以用这个模版把火哥的429开机例程做一遍,做的更加高大上一点,然后贡献出来让大家学习学习,做出更好的产品。

下面把源代码也附上,买429的同学可以直接使用。下载到板子里后,打开串口调试助手,配置如上图,然后向开发板发送help指令,可获得rtt相关的指令
链接:https://pan.baidu.com/s/15HdRc3A4AgKcczWkWjx6GQ 密码:a1ot
回复

使用道具 举报

发表于 2018-4-24 19:19:36 | 显示全部楼层
厉害了,可以搞更复杂的应用了
回复 支持 反对

使用道具 举报

发表于 2018-4-24 20:12:15 | 显示全部楼层
                  
回复 支持 反对

使用道具 举报

发表于 2018-4-24 21:54:18 | 显示全部楼层
                                                


回复 支持 反对

使用道具 举报

发表于 2018-4-25 15:56:31 | 显示全部楼层
嗯,你们都喜欢把finsh shell搞起来么?
回复 支持 反对

使用道具 举报

发表于 2018-4-25 17:24:00 | 显示全部楼层
123454659879
回复 支持 反对

使用道具 举报

发表于 2018-5-3 16:28:12 | 显示全部楼层
                        
回复 支持 反对

使用道具 举报

发表于 2018-5-5 12:37:12 | 显示全部楼层
xie xie kan kan
回复 支持 反对

使用道具 举报

发表于 2018-5-5 13:05:04 | 显示全部楼层
前排前排      
回复 支持 反对

使用道具 举报

发表于 2018-5-27 08:46:11 | 显示全部楼层
cool
回复

使用道具 举报

发表于 2018-5-27 08:50:01 | 显示全部楼层
cool
回复

使用道具 举报

发表于 2018-5-27 11:20:33 | 显示全部楼层
                              
回复 支持 反对

使用道具 举报

发表于 2018-5-27 13:23:51 | 显示全部楼层
这个太溜了,向大神学习啊
回复 支持 反对

使用道具 举报

发表于 2018-5-28 08:48:57 | 显示全部楼层

厉害了,可以搞更复杂的应用了
回复 支持 反对

使用道具 举报

发表于 2018-5-28 09:06:48 | 显示全部楼层
试试看看,怎么样
回复 支持 反对

使用道具 举报

发表于 2018-5-28 09:28:52 | 显示全部楼层
大神厉害,顶起。。。。
回复 支持 反对

使用道具 举报

发表于 2018-5-28 14:39:36 | 显示全部楼层
学习了啊
回复

使用道具 举报

发表于 2018-5-28 16:18:11 | 显示全部楼层
谢谢 好好学习
回复 支持 反对

使用道具 举报

发表于 2018-5-29 14:36:15 | 显示全部楼层
下载,学习一下!
回复 支持 反对

使用道具 举报

发表于 2018-5-29 15:23:15 | 显示全部楼层
看看,搞大了
回复 支持 反对

使用道具 举报

发表于 2018-5-29 15:23:47 | 显示全部楼层
不错,液晶用的那款
回复 支持 反对

使用道具 举报

发表于 2018-5-29 15:32:50 | 显示全部楼层
源码在哪呢?试下效果
回复 支持 反对

使用道具 举报

发表于 2018-5-29 15:33:35 | 显示全部楼层
源码在哪呢?试下效果
回复 支持 反对

使用道具 举报

发表于 2018-5-29 16:53:50 | 显示全部楼层
看看              
回复 支持 反对

使用道具 举报

发表于 2018-5-29 17:21:47 | 显示全部楼层

lvgl

lvgl

目前RTT3.0完整版ENV已经支持Littlevgl了,只要能跑RTT的芯片,只要写了按照RTT Framebuffer LCD框架写了LCD驱动的话,无需移植,直接配置使用。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-30 13:51:40 | 显示全部楼层
流光 发表于 2018-5-29 17:21
目前RTT3.0完整版ENV已经支持Littlevgl了,只要能跑RTT的芯片,只要写了按照RTT Framebuffer LCD框架写了 ...

还是流光大神技高一筹
回复 支持 反对

使用道具 举报

发表于 2018-5-30 19:59:32 | 显示全部楼层
正有需要,感谢LZ
回复 支持 反对

使用道具 举报

发表于 2018-6-3 21:05:37 | 显示全部楼层
这个正好有需要哦
回复 支持 反对

使用道具 举报

发表于 2018-6-7 23:06:00 来自手机 | 显示全部楼层
这个必须要赞一个啊
回复 支持 反对

使用道具 举报

发表于 2018-6-8 20:21:42 | 显示全部楼层
可以搞大事情了
回复 支持 反对

使用道具 举报

发表于 2018-6-9 15:28:42 | 显示全部楼层
厉害 厉害  学习下
回复 支持 反对

使用道具 举报

发表于 2018-6-17 15:45:31 | 显示全部楼层
楼主,请教一些触摸屏没有反应,有哪里需要注意的。参考一直到火锅的RT052板子,液晶屏是自己弄的,RTT和GUI都跑起来了,但就是不响应触摸屏。触摸屏我是开了一个RT线程来运行的。触摸屏线程也已经读到正确的触摸坐标了。在lv_touchpad.c文件里面赋值给触摸数据,也初始化了lv_touchpad_init,但是就是读不到数据,好像运行不到下面的函数,还是如何调用触摸屏数据呢?

bool lv_touchpad_read(lv_indev_data_t *data)
{
        static int16_t last_x = 0;
        static int16_t last_y = 0;
        //FT5X06_Scan();
        if(Touch_PenInt())//óD°′¼ü°′ÏÂê±
        {
                data->point.x = g_tFT5X06.X[0];//touch_x;
                data->point.y = g_tFT5X06.Y[0];//touch_y;
                data->state = LV_INDEV_STATE_PR;
                last_x = data->point.x;
                last_y = data->point.y;
        }
        else
        {               
                data->point.x = last_x;
                data->point.y = last_y;
                data->state = LV_INDEV_STATE_REL;
        }
               
        return false;
}
回复 支持 反对

使用道具 举报

发表于 2018-6-17 19:12:09 | 显示全部楼层
学习一下                                 
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-6-19 08:58:22 | 显示全部楼层
ou513 发表于 2018-6-17 15:45
楼主,请教一些触摸屏没有反应,有哪里需要注意的。参考一直到火锅的RT052板子,液晶屏是自己弄的,RTT和GU ...

看你这个没有问题啊,是不是触摸屏驱动有问题
回复 支持 反对

使用道具 举报

发表于 2018-6-19 10:43:45 | 显示全部楼层
    disp_drv.disp_flush = ex_disp_flush;            /*Used in buffered mode (LV_VDB_SIZE != 0  in lv_conf.h)*/

    disp_drv.disp_fill = ex_disp_fill;                  /*Used in unbuffered mode (LV_VDB_SIZE == 0  in lv_conf.h)*/

    请问一下 这两个函数有什么区别啊?
回复 支持 反对

使用道具 举报

发表于 2018-6-20 07:35:05 | 显示全部楼层
正在关注lv,学习下
回复 支持 反对

使用道具 举报

发表于 2018-6-21 16:47:54 | 显示全部楼层
厉害,下载个代码,回去研究研究。
回复 支持 反对

使用道具 举报

发表于 2018-6-23 08:34:19 | 显示全部楼层
wancy2017 发表于 2018-6-19 08:58
看你这个没有问题啊,是不是触摸屏驱动有问题

已经搞定了,
回复 支持 反对

使用道具 举报

发表于 2018-6-23 09:03:41 | 显示全部楼层

厉害了
回复

使用道具 举报

发表于 2018-6-24 22:21:04 | 显示全部楼层
大神厉害,顶起。。。。
回复 支持 反对

使用道具 举报

发表于 2018-6-25 14:28:39 | 显示全部楼层
ksjfksjkfjksjf
回复 支持 反对

使用道具 举报

发表于 2018-7-4 09:44:22 | 显示全部楼层
回复

使用道具 举报

发表于 2018-7-9 10:42:26 | 显示全部楼层
cool,cool,等了很久
回复 支持 反对

使用道具 举报

发表于 2018-7-23 16:19:30 | 显示全部楼层
厉害了,谢谢分享
回复 支持 反对

使用道具 举报

发表于 2018-7-23 22:54:11 | 显示全部楼层
sdadasdaSdadsdqwdadsasdadasdadadasdadsad
回复 支持 反对

使用道具 举报

发表于 2018-7-26 13:31:00 | 显示全部楼层
看看看看扩扩扩扩扩扩扩扩扩扩扩
回复 支持 反对

使用道具 举报

发表于 2018-7-28 22:24:23 | 显示全部楼层
6666 学习一下
回复 支持 反对

使用道具 举报

发表于 2018-9-13 17:01:36 | 显示全部楼层
不错不错,是完整版的还是nano啊
回复 支持 反对

使用道具 举报

发表于 2018-9-13 18:32:06 | 显示全部楼层
谢谢 分享 谢谢 分享
回复 支持 反对

使用道具 举报

发表于 2018-9-13 21:50:35 | 显示全部楼层
东西非常不错
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-3-28 21:10 , Processed in 0.050953 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表