您尚未登录。

楼主 #1 2020-01-09 10:33:12

staunchheart
会员
注册时间: 2019-12-17
已发帖子: 229
积分: 186

F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

代码放到
https://gitee.com/zhangheyang/f1c100s_rt-thread

照着XBOOT老大的项目搞,其实没有坑,只是自己学艺不精,左脚踩到右脚摔了跟头。
一、移植I2C驱动
    照着Xboot上的配置,  本来没有坑,只是我没有处理
    #define I2C0_BASE_ADDR (0x01C27000)
    #define I2C0_CCU_BUS_SOFT_RST_BASE (F1C100S_CCU_BASE | CCU_BUS_SOFT_RST3)
    #define I2C0_CCU_BUS_SOFT_RST_BIT (1 << (80-64))
    write32(I2C0_CCU_BUS_SOFT_RST_BASE, read32(I2C0_CCU_BUS_SOFT_RST_BASE)|I2C0_CCU_BUS_SOFT_RST_BIT);
   然后就一路顺了。

二、移植GT911驱动
   1、Xboot在老的主线GT911线序不对,
       橘子 大神告诉我:
       https://github.com/xboot/xboot/pull/11/commits/b119553d16f6b260090f16436e250ff316a550a4
       看文档GT911有两个地址,这里用的是0x14,实际上这个代码与文档也稍有些差异,按文档INT后面要先拉低,再50msm后悬浮输入。
       这里没有,但能跑,想不通就不想了,能跑就行。
   2、在GT911中,INT中断后去获取从标,从解藕的角度来说,应该是
       i2c_transfer(dev->i2c, msgs, 2)   但这里面用了锁,RTT在中断中不能用锁。
       实际上XBoot代码中在中断时先关了中断,再开中断。应该不会有中时访问的问题,
       所以改成了ingenic_i2c_xfer(dev, msgs, 2),OK了,能跑了,我继续不管他。。
三、将LittleVgl升到6.1.1
      这里确实有些坑,搞了很久。
      1、6.0开始
           #if LV_COLOR_DEPTH == 24
           #error "LV_COLOR_DEPTH  24 is deprecated. Use LV_COLOR_DEPTH  32 instead (lv_conf.h)"
            #endif
           XBOOT上是24,5.0也是24,我选错方向了,我决定去改LittleVgl的代码。入坑了,出不来。
           这里要改的是FB里,改成32。
     2、本来应该出坑了,但LittleVgl本身改变蛮大的,5.0根本不需要lv_disp_buf_init 这种操作
          https://github.com/ZJ-TEK/ZJ_RT_Thread_NimBLE_LittlevGL_Nordic/blob/928dd3902a015931745ee36069a0e464b6a8aa97/ZJ_Application_NRF52840/001.lvgl_nimble_hrm/littlevgl/vgl_rtt_drv/lvgl_rtt_drv.c
          我参考这个修改的,他直接用FB的缓冲当作lv_disp_buf_init,实际上不行,必需另外定义一个缓冲区。
          然后就是修改一些5.0与6.0的函数不同的地方了,除了稍堵外没有什么坑。
    3、将触摸驱动加进来
          这个完全是没问题的,很简单,是我自己犯了些笔误错误将一个指针搞错了,大家应该不会遇到。
四、看门狗驱动
      完全没问题,挂D档,冲过去。
      在littleVgl中喂狗,也没什么可说的。
五、其它说明
      主要是我的硬件引脚与荔枝派这些不同,所以大家使用时要注意了。
      1、我的背光与LCD POWER有独立的IO控制,如果大家没有要修改一下。
      2、我的I2C RST INT引脚可能与大家不同。好几位朋友使用时就是这个问题,他的RST/INT在我的背光控制中。

这样,在RTT下,触摸、看门狗驱动都OK了。


看门狗的视频就不上传了,就是点击一个按钮,while(1); 
    13秒后设备会重启。

离线

#2 2020-01-12 14:48:45

lld1995
会员
注册时间: 2020-01-11
已发帖子: 3
积分: 3

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

boot成功执行完jmp到rtt之后就没反应了是什么原因呢

离线

楼主 #3 2020-01-12 14:57:25

staunchheart
会员
注册时间: 2019-12-17
已发帖子: 229
积分: 186

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

可能是地址不对吧。
当时觉得SPL BOOT只有10K,原来他提默认留了1M,
所以改了#define SIZE_START    (0x00010000)
这样的话,烧FLASH也要烧到同一个地址。

检查一下,如果用我的哪个脚本  windows目录下哪个我改了 。
linux下的我忘了改,我改后重新上传一下。

离线

#4 2020-01-12 18:33:12

lld1995
会员
注册时间: 2020-01-11
已发帖子: 3
积分: 3

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

不是,我找到原因了,我虚拟机里面编译器的问题,我后来做官网的bin,改了下boot 你magic的检测就可以用了,这boot做得非常清晰简洁!简直完美,感谢兄弟

离线

楼主 #5 2020-02-05 12:41:03

staunchheart
会员
注册时间: 2019-12-17
已发帖子: 229
积分: 186

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

很多朋友以为RTT需要在LINUX下进行,实 际上在WINDOWS下就可以进行。

离线

#6 2020-02-05 13:22:29

aozima
会员
所在地: 深圳
注册时间: 2019-05-25
已发帖子: 462
积分: 329.5
个人网站

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

给楼主点个赞

离线

#7 2020-02-05 14:44:13

1066950103
会员
注册时间: 2017-11-17
已发帖子: 61
积分: 46

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

我也来点一个赞

离线

#8 2020-02-06 19:17:53

joyhope
会员
注册时间: 2020-01-16
已发帖子: 39
积分: 39

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

我哪里犯错误了
CC build/applications/main.o
CC build/drivers/board.o
CC build/drivers/drv_clock.o
CC build/drivers/drv_fb.o
drivers/drv_fb.c:25:6: error: #elif with no expression
   25 | #elif
      |      ^
drivers/drv_fb.c:670:27: error: 'LCD_PRE_PIXEL' undeclared here (not in a function)
  670 |         .bits_per_pixel = LCD_PRE_PIXEL,  //24
      |                           ^~~~~~~~~~~~~
scons: *** [build/drivers/drv_fb.o] Error 1
scons: building terminated because of errors.

离线

楼主 #9 2020-02-06 19:26:34

staunchheart
会员
注册时间: 2019-12-17
已发帖子: 229
积分: 186

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

#ifdef LV_COLOR_DEPTH
#define LCD_PRE_PIXEL   LV_COLOR_DEPTH
#elif
#define LCD_PRE_PIXEL   24
#endif
不应该呀,是否修改了什么代码?

离线

#10 2020-02-06 19:34:58

joyhope
会员
注册时间: 2020-01-16
已发帖子: 39
积分: 39

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

不过根据readme里面的操作,删除rtt的LittlevGL2RTT ,后做pkgs update没有成功,报告路径没有文件。 我后来没管,直接编译的。 是否是因为littlevg 设置不对。

IOError: [Errno 2] No such file or directory: '... LittlevGL2RTT-6.1.1/package.json'

windows和linux上,都一样的问题。

最近编辑记录 joyhope (2020-02-06 19:36:05)

离线

#11 2020-02-06 19:43:17

joyhope
会员
注册时间: 2020-01-16
已发帖子: 39
积分: 39

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

不过我编译器的版本比较高,2018/2019的gcc-arm版本。

#ifdef LV_COLOR_DEPTH
#define LCD_PRE_PIXEL   LV_COLOR_DEPTH
#elif
#define LCD_PRE_PIXEL   24
#endif

这个代码的确有问题

#ifdef LV_COLOR_DEPTH
#define LCD_PRE_PIXEL   LV_COLOR_DEPTH
#else
#define LCD_PRE_PIXEL   24
#endif

所有这些#elif 都修改好,编译成功

LINK rtthread.elf
arm-none-eabi-objcopy -O binary rtthread.elf rtthread.bin
arm-none-eabi-size rtthread.elf
   text    data     bss     dec     hex filename
364396    3964 1179044 1547404  179c8c rtthread.elf
scons: done building targets.

我现在没板子,这个环境还是做的非常赞的!! 谢谢,提供这个方案。

最近编辑记录 joyhope (2020-02-06 19:50:18)

离线

楼主 #12 2020-02-06 21:23:36

staunchheart
会员
注册时间: 2019-12-17
已发帖子: 229
积分: 186

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

嗯,这里应该是要用#else
只是我用的GCC用#elif也可以。

离线

#13 2020-02-08 15:46:27

linhuaou
会员
注册时间: 2019-08-09
已发帖子: 35
积分: 35

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

楼主太赞了,牛

离线

#14 2020-02-08 17:15:40

lchjng
会员
注册时间: 2020-02-02
已发帖子: 6
积分: 6

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

图片是我编译的错误,请问那个编译有什么问题吗

离线

#15 2020-02-08 18:02:45

linhuaou
会员
注册时间: 2019-08-09
已发帖子: 35
积分: 35

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

最新的更新出来了,添加了工具链网盘连接,楼主,赞--
大家参考此贴操作
https://whycan.cn/t_3538.html#p33590
因为GCC文件太大,从百度网盘下载
https://pan.baidu.com/s/1PnoqZMJzt5kzg0fjbeTdDg
提取码:pamp
解压到tools目录

离线

#16 2020-02-08 19:30:19

超级萌新
会员
注册时间: 2018-05-04
已发帖子: 408
积分: 407

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

linhuaou 说:

大家参考此贴操作
https://whycan.cn/t_3538.html#p33590

这个链接是不是错了呢?

离线

#17 2020-02-09 11:39:07

linhuaou
会员
注册时间: 2019-08-09
已发帖子: 35
积分: 35

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

没错,内容跟我们这个链接是一样的,我昨天特地试了下

超级萌新 说:

这个链接是不是错了呢?

离线

#18 2020-02-09 11:44:08

linhuaou
会员
注册时间: 2019-08-09
已发帖子: 35
积分: 35

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

加了一点自己的代码,编译时就出错了,将menuconfig的选项LittlevGL2RTT(LittlevGL2RTT: The LittlevGl gui lib adapter RT-Thread  --->)去掉后,这个错误就没有了。如果不加自己的代码也是没有问题的。
链接的时候出错--
LINK rtthread.elf
Error in calling command:arm-none-eabi-g++
Exception: Invalid argument
scons: *** [rtthread.elf] Error 22
scons: building terminated because of errors.

=FluxBB bbcode 测试

最近编辑记录 linhuaou (2020-02-09 11:52:52)

离线

楼主 #19 2020-02-09 12:21:18

staunchheart
会员
注册时间: 2019-12-17
已发帖子: 229
积分: 186

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

这个看不出来,编译的问题,各自不同,只能他自己研究了。
首先我这个处理上是有不到位的地方,LittlevGL2RTT本来在RTT的pkgs中就有,而我升级到6.1.1后,因为不想改哪些配置,所以有的地方借用了他。
所以最好删除掉env的packges里Kconfig中的这个引用。
可以自己研究一下,将遇到的解决思路也放到论坛上给后面的人共享。

最近编辑记录 staunchheart (2020-02-09 12:26:47)

离线

#20 2020-02-09 20:38:26

linhuaou
会员
注册时间: 2019-08-09
已发帖子: 35
积分: 35

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

好的,我暂时是把LittleGL2RTT这个去掉了,本身也暂时用不到,后续有新的发现再更新,谢谢啦

staunchheart 说:

这个看不出来,编译的问题,各自不同,只能他自己研究了。
首先我这个处理上是有不到位的地方,LittlevGL2RTT本来在RTT的pkgs中就有,而我升级到6.1.1后,因为不想改哪些配置,所以有的地方借用了他。
所以最好删除掉env的packges里Kconfig中的这个引用。
可以自己研究一下,将遇到的解决思路也放到论坛上给后面的人共享。

离线

#21 2020-02-09 21:11:30

linhuaou
会员
注册时间: 2019-08-09
已发帖子: 35
积分: 35

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

好像是链接文件数量有限制?我发现我减少一些文件就可以链接通过,否则不行。感觉这个链接文件的数量门槛是500个(*.o的数量)

staunchheart 说:

这个看不出来,编译的问题,各自不同,只能他自己研究了。
首先我这个处理上是有不到位的地方,LittlevGL2RTT本来在RTT的pkgs中就有,而我升级到6.1.1后,因为不想改哪些配置,所以有的地方借用了他。
所以最好删除掉env的packges里Kconfig中的这个引用。
可以自己研究一下,将遇到的解决思路也放到论坛上给后面的人共享。

离线

#22 2020-02-09 21:17:16

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,343
积分: 9202

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

windows下命令行有 8192 字符限制, 可能是这个原因导致的.

我记得 android ndk 的解决方案是按文件夹/模块打包成 .a, 最后链接这些 .a 文件





离线

#23 2020-02-09 21:49:53

linhuaou
会员
注册时间: 2019-08-09
已发帖子: 35
积分: 35

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

学习了

晕哥 说:

windows下命令行有 8192 字符限制, 可能是这个原因导致的.

我记得 android ndk 的解决方案是按文件夹/模块打包成 .a, 最后链接这些 .a 文件

离线

#24 2020-02-09 22:28:30

linhuaou
会员
注册时间: 2019-08-09
已发帖子: 35
积分: 35

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

晕哥,牛。我在代码里多加了一级文件夹,即原本是app/ 变成了 app/application,本来可以编译通过的现在链接出错,还是上面那个错误。

晕哥 说:

windows下命令行有 8192 字符限制, 可能是这个原因导致的.

我记得 android ndk 的解决方案是按文件夹/模块打包成 .a, 最后链接这些 .a 文件

离线

#25 2020-02-09 23:04:23

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,343
积分: 9202

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

linhuaou 说:

晕哥,牛。我在代码里多加了一级文件夹,即原本是app/ 变成了 app/application,本来可以编译通过的现在链接出错,还是上面那个错误。

这种处理方法估计还是没有解决命令行超过8192字符问题。





离线

#26 2020-02-10 09:09:46

linhuaou
会员
注册时间: 2019-08-09
已发帖子: 35
积分: 35

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

这个坑我还是不深钻了。用两种方法来曲线解决--
1.缩短文件夹名以及文件名,特别是比较靠前的文件夹名称;
2.在Linux下编译;

晕哥 说:

这种处理方法估计还是没有解决命令行超过8192字符问题。

离线

#27 2020-02-10 09:35:33

linhuaou
会员
注册时间: 2019-08-09
已发帖子: 35
积分: 35

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

请教下楼主,直接在DRAM下运行怎么操作的?--
## 测试
```shell
cd rt-thread
./script/[linux or windows]/dram_exec.sh
```
   测试增加USB模式不下载,直接USB运行.方便调试使用
`./script/[linux or windows]/run.sh

离线

#28 2020-03-16 18:26:20

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,343
积分: 9202

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

@staunchheart 感谢分享, 为了方便给位老友搜索, 特加入本站精华帖

110. F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录 by @staunchheart





离线

#29 2020-03-20 01:26:56

spunky
会员
注册时间: 2019-10-12
已发帖子: 6
积分: 6

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

请问楼主,我使用SPI FLASH方式启动,跳转后无反应,串口输出:
Init OK
Boot to SPI mode
Copy Flash offset 64 to RAM 0x8000000 size:366124
Copy Flash Ok!
Goto 0x80000000 ...

如果直接FEL模式启动时是正常的。我使用spiflash-read读出代码的前面1K字节,对比了下是完全一样的。

请问你遇到过这个坑吗?

离线

#30 2020-03-21 10:19:31

spunky
会员
注册时间: 2019-10-12
已发帖子: 6
积分: 6

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

自己的坑,自己给坑填了。

本来想不懂脑子的使用代码,但发现spl跳转到rtthread后就是不行。没有办法,硬着头皮看了下arm9架构相关知识,最后发现代码基本都是对的,虽然有瑕疵,但能够使用。于是将注意力转向硬件驱动。最后终于发现是人品问题,具体经历我写出来供大家参考:

解释下楼主在对rtthread官方版本gcc_start.S文件的改造,在代码最开始定义了16个字节来表示固件信息:
    1) 第1个4字节是跳转命令,机器码为0xea000002, 汇编的意思就是b reset, 跳转到reset函数执行。0x2是偏移地址,计算方法是:(目标地址-当前PC地址 -8)/4。其中目标地址是16,当前PC是0,偏移地址就是0x2了。XBOOT的作战的第一条指令直接定义为0xea000016,也是一样的道理。
    2) 第2个4字节是幻数;
    3) 第3个4字节是固定为0
    4) 第4个4字节是固件长度,其中image_size定义在.lds文件中。

现在描述关于人品的大坑:
因为直接运行到SDRAM是没有问题的,只是spl拷贝到SDRAM不能成功。因此我一直怀疑是跳转或者是拷贝问题,毕竟这么多年的开发经验,直觉还是靠谱的:
1. 经过查找ARM9的指令集,觉得楼主的指针跳转应用程序,虽然没有处理相关堆栈,但对于现在的应用是没有问题的。于是将目标怀疑为拷贝问题。
2. 利用sunxi-fel工具读出flash应用程序固件文件(前1K字节),对比了下,与下载固件是一样的。
这下就懵逼了,为啥其他网友都可以,而我的板子就不行。于是就有了在本网站的发帖询问。。。。。。

昨天我突然想到,要不要看下SDRAM的拷贝数据是否OK,spi_flash驱动读出应用固件的第1个字节错误,本来是0x02, 读出来是0x03。找到问题就好办:
1. 拷贝完成后,程序强制修改0x80000000的首个4字节为0xea000002,然后跳转,正常了。。。
2. MCU开机可以自动加载spl到SRAM中,说明SPI FLASH是正确的,应该是驱动问题。结果发现楼主修改了SPI 的CLK频率,改回原来的频率,一切OK。。。

我查看了我购买的荔枝派焊接的NOR FLASH丝印,虽然不是原理图标注的那个厂家型号。但是按照W25Q128的手册来看,QSPI的CLK最大70MHz,普通SPI的CLK最大33M。因此还得把SPI的频率降低才行,才保证不会出错。


那现在就有个问题,为何其他网友的不改SPI的CLK频率也行,我的板子就不行呢????所以只能归结为人品问题了。。。。。。。

离线

楼主 #31 2020-03-21 10:32:09

staunchheart
会员
注册时间: 2019-12-17
已发帖子: 229
积分: 186

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

spunky 说:

自己的坑,自己给坑填了。

本来想不懂脑子的使用代码,但发现spl跳转到rtthread后就是不行。没有办法,硬着头皮看了下arm9架构相关知识,最后发现代码基本都是对的,虽然有瑕疵,但能够使用。于是将注意力转向硬件驱动。最后终于发现是人品问题,具体经历我写出来供大家参考:

解释下楼主在对rtthread官方版本gcc_start.S文件的改造,在代码最开始定义了16个字节来表示固件信息:
    1) 第1个4字节是跳转命令,机器码为0xea000002, 汇编的意思就是b reset, 跳转到reset函数执行。0x2是偏移地址,计算方法是:(目标地址-当前PC地址 -8)/4。其中目标地址是16,当前PC是0,偏移地址就是0x2了。XBOOT的作战的第一条指令直接定义为0xea000016,也是一样的道理。
    2) 第2个4字节是幻数;
    3) 第3个4字节是固定为0
    4) 第4个4字节是固件长度,其中image_size定义在.lds文件中。

现在描述关于人品的大坑:
因为直接运行到SDRAM是没有问题的,只是spl拷贝到SDRAM不能成功。因此我一直怀疑是跳转或者是拷贝问题,毕竟这么多年的开发经验,直觉还是靠谱的:
1. 经过查找ARM9的指令集,觉得楼主的指针跳转应用程序,虽然没有处理相关堆栈,但对于现在的应用是没有问题的。于是将目标怀疑为拷贝问题。
2. 利用sunxi-fel工具读出flash应用程序固件文件(前1K字节),对比了下,与下载固件是一样的。
这下就懵逼了,为啥其他网友都可以,而我的板子就不行。于是就有了在本网站的发帖询问。。。。。。

昨天我突然想到,要不要看下SDRAM的拷贝数据是否OK,spi_flash驱动读出应用固件的第1个字节错误,本来是0x02, 读出来是0x03。找到问题就好办:
1. 拷贝完成后,程序强制修改0x80000000的首个4字节为0xea000002,然后跳转,正常了。。。
2. MCU开机可以自动加载spl到SRAM中,说明SPI FLASH是正确的,应该是驱动问题。结果发现楼主修改了SPI 的CLK频率,改回原来的频率,一切OK。。。

我查看了我购买的荔枝派焊接的NOR FLASH丝印,虽然不是原理图标注的那个厂家型号。但是按照W25Q128的手册来看,QSPI的CLK最大70MHz,普通SPI的CLK最大33M。因此还得把SPI的频率降低才行,才保证不会出错。


那现在就有个问题,为何其他网友的不改SPI的CLK频率也行,我的板子就不行呢????所以只能归结为人品问题了。。。。。。。

惭愧,朋友的研究比我还深入。水平有限,只能将一些驱动移过来,太复杂的不会。
希望朋友继续研究,我近期也移了声音驱动,但因为使用了别人的代码,不适合公开。
要是有更多的人一起玩RTT+F1C100S就好了。

离线

#32 2020-04-01 10:40:06

ap321
会员
注册时间: 2020-03-28
已发帖子: 10
积分: 5

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

首先感谢楼主 ,我主要是在liunx下用的比较多 ,对于win方式的 ota ,我更倾向与在liunx下操作 ,于是就找到了楼主的贴子 ,主要是使用了这个boot之后可以直接在liunx/osx下写入,而不需要win上使用ota工具打包再写 ,这个很棒 。还有我发现直接使用这个boot搭配 主线 RTT 会启动不了,查看了启动.s好像是判断前16个字节 标识判断是否是有效固件 ,好像是link文件不一样 。哈 能用这个很棒,感谢 。

离线

#33 2020-04-01 10:53:43

ap321
会员
注册时间: 2020-03-28
已发帖子: 10
积分: 5

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

是的 ,除了 链接文件不一样 还在启动文件头部添加
```
b   system_vectors
.long 0xaa55aa55
.long 0
.long image_size
```
标识了 ,直接copy 链接文件 和在启动文件中添加标识 就可以使用在主线RTT上了

离线

#34 2020-04-04 19:08:44

sea18c
会员
注册时间: 2019-08-05
已发帖子: 230
积分: 222.5

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

ap321 说:

是的 ,除了 链接文件不一样 还在启动文件头部添加
```
b   system_vectors
.long 0xaa55aa55
.long 0
.long image_size
```
标识了 ,直接copy 链接文件 和在启动文件中添加标识 就可以使用在主线RTT上了


你再参考 https://whycan.cn/t_3958.html 这个,他直接合并了启动与APP的bin文件,他给的源程序在linux下你要修改几个bug就可以用了

最近编辑记录 sea18c (2020-04-04 19:09:21)

离线

#35 2020-04-20 12:05:46

binbin
会员
注册时间: 2020-04-08
已发帖子: 15
积分: 4.5

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

祼机 Fc100s 声卡驱动,那位大神有实现过的

离线

楼主 #36 2020-04-20 19:50:13

staunchheart
会员
注册时间: 2019-12-17
已发帖子: 229
积分: 186

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

binbin 说:

祼机 Fc100s 声卡驱动,那位大神有实现过的

我搞定了,RTT下可以播放声音,但因为参考了别人的代码,他不愿意开源。

离线

#37 2020-04-20 21:12:22

binbin
会员
注册时间: 2020-04-08
已发帖子: 15
积分: 4.5

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

staunchheart 说:

我搞定了,RTT下可以播放声音,但因为参考了别人的代码,他不愿意开源。

强,学习学习,看来要自已挖坑了,先找  linux 代码看看

离线

楼主 #38 2020-04-20 21:27:33

staunchheart
会员
注册时间: 2019-12-17
已发帖子: 229
积分: 186

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

binbin 说:

强,学习学习,看来要自已挖坑了,先找  linux 代码看看


将bootloader合并到RTT后,启动1秒左右,并加入了声音播放驱动。

离线

#39 2020-04-21 11:14:30

binbin
会员
注册时间: 2020-04-08
已发帖子: 15
积分: 4.5

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

staunchheart 说:

将bootloader合并到RTT后,启动1秒左右,并加入了声音播放驱动。

不错,如果用 RTT  ,这个硬解Vido 就不能实现了吧,

离线

#40 2020-04-24 10:45:42

龙折翼
会员
注册时间: 2020-04-24
已发帖子: 9
积分: 9

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

不错,挺漂亮的,感谢大神分享

离线

#41 2020-05-18 16:08:42

sync
会员
注册时间: 2019-12-12
已发帖子: 22
积分: 17

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

关于f1c100s,论坛里面的大神可以联合下,出套基于单片机的开发板了,直接秒杀stm32啦 哈哈

离线

#42 2020-05-22 23:19:51

grantho
会员
注册时间: 2020-03-21
已发帖子: 68
积分: 4.5

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

你好,我的屏是720x720的分辨率。dclk如果设置12M以上,画面就会混乱。
另外,dclk为12M时,显示基本正常,但也会出现中间一段像出现偏移。如图,中间的都向下一行偏移了,显示不正常。

20200522231155.jpg

    还有就是显示会抖动
   
    不知道是什么问题导致,能提示一下可能是哪方面问题

最近编辑记录 grantho (2020-05-22 23:22:33)

离线

#43 2020-08-12 14:17:47

an99h
会员
注册时间: 2020-07-17
已发帖子: 2
积分: 2

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

spunky 说:

请问楼主,我使用SPI FLASH方式启动,跳转后无反应,串口输出:
Init OK
Boot to SPI mode
Copy Flash offset 64 to RAM 0x8000000 size:366124
Copy Flash Ok!
Goto 0x80000000 ...

如果直接FEL模式启动时是正常的。我使用spiflash-read读出代码的前面1K字节,对比了下是完全一样的。

请问你遇到过这个坑吗?

我也遇到同样问题

Init OK
Boot to SPI mode
Copy Flash offset 64 to RAM 0x8000000 size:366156
Copy Flash Ok!
Goto 0x80000000 ...

flash 型号 xt25f128b
把RT_SFUD_SPI_MAX_HZ 改为33M还是启动不了...

离线

#44 2021-02-01 23:52:21

an99h
会员
注册时间: 2020-07-17
已发帖子: 2
积分: 2

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

我的板子触摸芯片是NS2009,写好了touch驱动,触摸也有数据,但是屏幕就是不动

lvgl_rtt_send_input_event x = 2107, y = 1101, event = 0x80
lvgl_rtt_send_input_event x = 2093, y = 1266, event = 0x02
lvgl_rtt_send_input_event x = 4095, y = 3711, event = 0x80
lvgl_rtt_send_input_event x = 2035, y = 3702, event = 0x02
lvgl_rtt_send_input_event x = 2035, y = 3702, event = 0x80
lvgl_rtt_send_input_event x = 2138, y = 1552, event = 0x02
lvgl_rtt_send_input_event x = 4095, y = 3836, event = 0x80
lvgl_rtt_send_input_event x = 2152, y = 1803, event = 0x02
lvgl_rtt_send_input_event x = 2104, y = 2025, event = 0x80
lvgl_rtt_send_input_event x = 4095, y = 3765, event = 0x02
lvgl_rtt_send_input_event x = 4095, y = 3765, event = 0x80

离线

#45 2021-05-18 21:53:01

yuxin.liu
会员
注册时间: 2021-05-12
已发帖子: 2
积分: 6.5

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

an99h 说:
spunky 说:

请问楼主,我使用SPI FLASH方式启动,跳转后无反应,串口输出:
Init OK
Boot to SPI mode
Copy Flash offset 64 to RAM 0x8000000 size:366124
Copy Flash Ok!
Goto 0x80000000 ...

如果直接FEL模式启动时是正常的。我使用spiflash-read读出代码的前面1K字节,对比了下是完全一样的。

请问你遇到过这个坑吗?

我也遇到同样问题

Init OK
Boot to SPI mode
Copy Flash offset 64 to RAM 0x8000000 size:366156
Copy Flash Ok!
Goto 0x80000000 ...

flash 型号 xt25f128b
把RT_SFUD_SPI_MAX_HZ 改为33M还是启动不了...

解决了么?求答案。我的硬件licheepi nano(wifi)  flash 也是xt25f128b

使用的工程是 https://gitee.com/LicheePiNano/lv7_rtthread_f1c100s
开发环境是 linux ubuntu16.04
编译boot.bin和rtthread.bin均无问题,能够运行在ram中,但是烧录到flash中就会出现问题,貌似没有跳转成功或拷贝失败。既然能够正确的打印出app的size,Copy Flash offset 64 to RAM 0x8000000 size:366156,说明flash这里驱动的没问题才是。
我使用的烧录指令是
sunxi-fel -p spiflash-write 0x00000000 ../../../f1c100s_spl/boot.bin
sunxi-fel -p spiflash-write 0x00010000 rtthread.bin
求助各位大神怎么解决。蹲坑好几天,丝毫没有进展

最近编辑记录 yuxin.liu (2021-05-19 19:58:40)

离线

#46 2021-05-20 16:56:06

yuxin.liu
会员
注册时间: 2021-05-12
已发帖子: 2
积分: 6.5

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

yuxin.liu 说:
an99h 说:
spunky 说:

请问楼主,我使用SPI FLASH方式启动,跳转后无反应,串口输出:
Init OK
Boot to SPI mode
Copy Flash offset 64 to RAM 0x8000000 size:366124
Copy Flash Ok!
Goto 0x80000000 ...

如果直接FEL模式启动时是正常的。我使用spiflash-read读出代码的前面1K字节,对比了下是完全一样的。

请问你遇到过这个坑吗?

我也遇到同样问题

Init OK
Boot to SPI mode
Copy Flash offset 64 to RAM 0x8000000 size:366156
Copy Flash Ok!
Goto 0x80000000 ...

flash 型号 xt25f128b
把RT_SFUD_SPI_MAX_HZ 改为33M还是启动不了...

解决了么?求答案。我的硬件licheepi nano(wifi)  flash 也是xt25f128b

使用的工程是 https://gitee.com/LicheePiNano/lv7_rtthread_f1c100s
开发环境是 linux ubuntu16.04
编译boot.bin和rtthread.bin均无问题,能够运行在ram中,但是烧录到flash中就会出现问题,貌似没有跳转成功或拷贝失败。既然能够正确的打印出app的size,Copy Flash offset 64 to RAM 0x8000000 size:366156,说明flash这里驱动的没问题才是。
我使用的烧录指令是
sunxi-fel -p spiflash-write 0x00000000 ../../../f1c100s_spl/boot.bin
sunxi-fel -p spiflash-write 0x00010000 rtthread.bin
求助各位大神怎么解决。蹲坑好几天,丝毫没有进展


此问题已经解决。楼上已经有大神给出解决方案,是我没有看明白。
没有仔细的探究其原理。如果有和我用的是同一个工程,并且出现了相同的问题的话。可以参考我的回答
看下f1c100s_spl/spl/src中的sys-spi-flash.c

        /* Set spi clock rate control register, divided by 4 */
	addr = 0x01c05000;
	write32(addr + SPI_CCR, 0x00001001);       //使用这个不会出错
	//修改SPI速度为100M
	//write32(addr + SPI_CCR, 0x00001000);     //使用这个读出来的flash的rtthread.bin的前四字节为 0xea00 0003 而不是0xea00 0002

离线

#47 2021-08-05 19:35:17

Sumo
会员
注册时间: 2021-08-05
已发帖子: 6
积分: 3

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

跑lvgl,滑动屏幕时刷新速率有多少啊

离线

#48 2021-11-25 20:19:24

haistart
会员
注册时间: 2020-01-05
已发帖子: 14
积分: 4

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

不知道为什么,我之前测试过几个厂家的GT911,总会有一块区域是不能正确响应的,在这个区域内只返回一个值,其它区域就是正常的线性的。有没有人遇到呀?

离线

#49 2021-12-21 15:05:24

o_x
会员
注册时间: 2021-12-21
已发帖子: 1
积分: 1

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

感谢各位大神,解决了XT25F128B不跳转的问题

离线

#51 2022-02-07 22:06:37

kowegajack
会员
注册时间: 2021-12-16
已发帖子: 5
积分: 0

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

@staunchheart
这个项目,现在支持视频播放了吗?

离线

#59 2023-01-31 10:01:18

jack821119
会员
注册时间: 2022-12-19
已发帖子: 48
积分: 28

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

@spunky
spi_flash驱动读出应用固件 这个是怎么读取的,我现在也遇到一样的现象。

离线

#62 2023-04-12 16:33:34

tangloong
会员
注册时间: 2023-04-11
已发帖子: 212
积分: 191

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

\ | /
- RT -     Thread Operating System
/ | \     4.0.3 build Apr 12 2023
2006 - 2020 Copyright by rt-thread team
do components initialization.
initialize rti_board_end:0 done
initialize rt_hw_spi_flash_with_sfud_init[32m[I/SFUD] Warning: Read SFDP parameter header information failed. The gd25qxx is not support JEDEC SFDP.[0m
[32m[I/SFUD] Warning: This flash device is not found or not support.[0m
[32m[I/SFUD] Error: gd25qxx flash device is initialize fail.[0m
[31m[E/SFUD] ERROR: SPI flash probe failed by SPI device spi00.[0m
:1 done
initialize dfs_init:0 done
initialize rt_mmcsd_core_init:0 done
initialize rt_hw_lcd_init:0 done
initialize rt_hw_gpio_init:0 done
initialize rt_hw_i2c_init[32m[I/I2C] I2C bus [i2c0] registered[0m
:0 done
initialize gt9xx_driver_register
[15:46:27.102]收←◆i2c test failed attempt 1: 200
[15:46:27.376]收←◆i2c test failed attempt 2: 200[TP] gt9xx_probe goodix_i2c_test!  error
:0 done
initialize rt_work_sys_workqueue_init:0 done
initialize clock_time_system_init:0 done
initialize pthread_system_init:0 done
initialize libc_system_init:0 done
initialize sal_init[32m[I/sal.skt] Socket Abstraction Layer initialize success.[0m
:0 done
initialize cplusplus_system_init:0 done
initialize rt_i2c_core_init:0 done
initialize tina_sdio_init:0 done
initialize main_page_initclk_divider_set_rate 29491216 198000000 0clk_divider_set_rate -2147483648 198000000 0
[15:46:27.470]收←◆:0 done
initialize finsh_system_init:0 done
periph_get_pll_clk:600000000
cpu_get_clk:408000000
ahb_get_clk:200000000
apb_get_clk:100000000
[15:46:27.600]收←◆

运行的时候GT911 没驱动起来,SDA是PD0 SCK是PD12  INT 是PE12 RST 是PA0 涉及到的这几个地方 IO更更改了 跑linux的时候打印日志触摸是生效的 就是不知道是不是时序的问题 还是 哪里还需要修改

离线

#63 2023-04-12 18:25:29

aozima
会员
所在地: 深圳
注册时间: 2019-05-25
已发帖子: 462
积分: 329.5
个人网站

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

先给I2C上逻辑分析仪看下,也许是地址不对?或是没复位好

离线

#64 2023-04-14 11:55:18

tangloong
会员
注册时间: 2023-04-11
已发帖子: 212
积分: 191

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

aozima 说:

先给I2C上逻辑分析仪看下,也许是地址不对?或是没复位好

我编译的时候
将 rt_size_t ingenic_i2c_xfer(struct rt_i2c_bus_device *bus,struct rt_i2c_msg msgs[],rt_uint32_t num);
换成了
rt_size_t ingenic_i2c_xfer(struct rt_i2c_bus_device *bus,struct rt_i2c_msg *msgs,rt_uint32_t num);
现在可以读取gt911 的信息,但是触摸还是没反应 估计是编译器版本的问题吧

离线

#65 2023-04-15 12:03:21

tangloong
会员
注册时间: 2023-04-11
已发帖子: 212
积分: 191

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

[11:54:04.252]收←◆initialize rti_board_start:0 done
initialize rt_hw_spi_init:0 done
initialize rt_hw_wdt_initwatchdog_init
:0 done

\ | /
- RT -     Thread Operating System
/ | \     4.0.3 build Apr 14 2023
2006 - 2020 Copyright by rt-thread team
do components initialization.
initialize rti_board_end:0 done
initialize rt_hw_spi_flash_with_sfud_init[32m[I/SFUD] Warning: Read SFDP parameter header information failed. The gd25qxx is not support JEDEC SFDP.[0m
[32m[I/SFUD] Warning: This flash device is not found or not support.[0m
[32m[I/SFUD] Error: gd25qxx flash device is initialize fail.[0m
[31m[E/SFUD] ERROR: SPI flash probe failed by SPI device spi00.[0m
:1 done
initialize dfs_init:0 done
initialize rt_mmcsd_core_init:0 done
initialize rt_hw_lcd_init:0 done
initialize rt_hw_gpio_init:0 done
initialize rt_hw_i2c_init[32m[I/I2C] I2C bus [i2c0] registered[0m
:0 done
initialize gt9xx_driver_register
[11:54:04.570]收←◆i2c test CFG_VER:\0GT911 verson: 911\0_6010
[11:54:04.822]收←◆send cfg ok:0 done
initialize rt_work_sys_workqueue_init:0 done
initialize clock_time_system_init:0 done
initialize pthread_system_init:0 done
initialize libc_system_init:0 done
initialize sal_init[32m[I/sal.skt] Socket Abstraction Layer initialize success.[0m
:0 done
initialize cplusplus_system_init:0 done
initialize rt_i2c_core_init:0 done
initialize tina_sdio_init:0 done
initialize main_page_init i2c test CFG_VER:ATouch panel x=0 y=0i2c test CFG_VER:ATouch panel x=0 y=0
clk_divider_set_rate 29491216 198000000 0
clk_divider_set_rate -2147483648 198000000 0
[11:54:04.934]收←◆:0 done
initialize finsh_system_init:0 done
msh />
[11:54:05.249]收←◆i2c test failed attempt 1: 222
[11:54:05.523]收←◆i2c test failed attempt 2: 222[TP] read_gt911 goodix_i2c_test!  error

[11:54:05.658]收←◆i2c test failed attempt 1: 222
[11:54:05.796]收←◆int read coord err1:0
[11:54:05.932]收←◆i2c test failed attempt 2: 222[TP] read_gt911 goodix_i2c_test!  error

[11:54:06.051]收←◆i2c test failed attempt 1: 128
[11:54:06.205]收←◆int read coord err1:0
[11:54:06.324]收←◆i2c test failed attempt 2: 128
[11:54:06.460]收←◆i2c test failed attempt 1: 128
[11:54:06.598]收←◆int read coord err2:0periph_get_pll_clk:600000000
cpu_get_clk:408000000
ahb_get_clk:200000000
apb_get_clk:100000000

[11:54:06.733]收←◆i2c test failed attempt 2: 128
[11:54:07.007]收←◆int read coord err2:0Trace:
[11:54:07.762]收←◆i2c test failed attempt 1: 222
[11:54:08.036]收←◆i2c test failed attempt 2: 222[TP] read_gt911 goodix_i2c_test!  error

[11:54:08.309]收←◆int read coord err1:0
[11:54:08.564]收←◆i2c test failed attempt 1: 128
[11:54:08.838]收←◆i2c test failed attempt 2: 128
[11:54:09.111]收←◆int read coord err2:0Trace:
[11:54:09.866]收←◆i2c test failed attempt 1: 222
[11:54:10.141]收←◆i2c test failed attempt 2: 222[TP] read_gt911 goodix_i2c_test!  error

[11:54:10.413]收←◆int read coord err1:0
[11:54:10.668]收←◆i2c test failed attempt 1: 128
[11:54:10.942]收←◆i2c test failed attempt 2: 128

通过一步步调试 GT911 在初始化的时候 和 部分硬件 包括 应用加载的时候 911 都是工作的,可以读取版本和数据  直到
clk_divider_set_rate  后就不行了 为什么 clk_divider_set_rate  设置了两次  是不是 clk_divider_set_rate -2147483648 198000000 0 有问题

离线

#66 2023-04-20 15:44:09

tangloong
会员
注册时间: 2023-04-11
已发帖子: 212
积分: 191

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

@tangloong
触摸终于出数据了, 在原有的代码处 写配置之前 往0x8040寄存器写2 延时100ms,写配置然后再往0x8040写0 这样软复位一下就成功了, 我看到很多人都不写,不知道是不是屏的差异,之前写小屏触摸也需要写一个软复位的

离线

#67 2023-04-20 15:44:14

tangloong
会员
注册时间: 2023-04-11
已发帖子: 212
积分: 191

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

@tangloong
触摸终于出数据了, 在原有的代码处 写配置之前 往0x8040寄存器写2 延时100ms,写配置然后再往0x8040写0 这样软复位一下就成功了, 我看到很多人都不写,不知道是不是屏的差异,之前写小屏触摸也需要写一个软复位的

离线

#68 2023-04-20 15:47:56

tangloong
会员
注册时间: 2023-04-11
已发帖子: 212
积分: 191

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

现在该移植LVGL 8了,使用RTthread Studio 新建的工程 加入LVGL 8 不出图像,不知道还需要改哪里的配置 好事多磨!!!

离线

#69 2023-04-20 23:05:13

tangloong
会员
注册时间: 2023-04-11
已发帖子: 212
积分: 191

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

奇怪的很 同意的文件 换个工程 触摸有时候都不行 尴尬

离线

#70 2023-04-23 10:54:48

tangloong
会员
注册时间: 2023-04-11
已发帖子: 212
积分: 191

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

昨天终于解决一开显示触摸就不能用的问题了,因为D0 和D12 被触摸占用了 还是用的666 改成565 就好了,

离线

#77 2023-10-24 13:22:37

allen820214
会员
注册时间: 2023-10-21
已发帖子: 9
积分: 9

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

现在快9.0了,楼主该更新了,哈哈

离线

#81 2023-12-18 12:03:26

wakulgz
会员
注册时间: 2022-11-23
已发帖子: 48
积分: 28

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

诺诺问一下  这个工程如何使用啊  小白一个

离线

#88 2024-04-19 17:20:01

belen
会员
注册时间: 2023-09-04
已发帖子: 29
积分: 14

Re: F1C100S下LittleVgl+RTT触摸、GT911、看门狗踩坑记录

_20240419171702.png
make编好后,报少个文件

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn