RT-Thread移植TouchGFX

RT-Thread移植TouchGFX

我的硬件条件:

  • 反客STM32H743IIT6
  • 7寸RGB屏幕800*480

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ftw2ROPV-1643201720297)(https://os.zhengshijian.com//img/image-20220126205239229.png)]

为什么基于RT-Thread?

支持国产,RT-Thread 已经拥有一个国内最大的嵌入式开源社区,同时被广泛应用于能源、车载、医疗、消费电子等多个行业,累积装机量超过 14亿 台,成为国人自主开发、国内最成熟稳定和装机量最大的开源 RTOS。

对我最大的好处就是RT-Thread的生态环境和软件包,可以给后续开发减少很多压力。

思路

动手前先写思路:合起来折腾了快两天了,一开始有四种思路,感觉都是可行的,但是…

方案一:

先使用Stm32CubeMX生成SDRAM+LTDC+CRC+DMA2D+FreeRTOS+TouchGFX的工程(前提能使用),因为这样出来的TouchGFX的版本是最新的,然后再把FreeRTOS删掉,替换成RT-Thread。再在TouchGFX里的OSWrappers.c里把FreeRTOS的API换成RT-Thread的API即可。

这个方法应该是可行的。我之前做的时候没弄好,应该是生成的工程就不能用了。

方案二:

使用RT-Thread Studio来基于STM32H743IIT6的芯片开发,和Stm32CubeMX联动开发(前提有一个能用的TouchGFX的工程),然后使用SConscript文件把需要的TouchGFX的文件来包含进来。

方案三:

这个方法最快,熟了后最多一小时解决。

前两个东西浪费我一天时间,最后还是采用了我一开始最不想用的方案,使用基于正点原子的H743IIT6的开发板的BSP包进行移植开发。

使用的是KK大佬移植好的TouchGFX的RTT包,一开始不想用这个的原因就是这个版本不是最新的,所以最不想用。

在动手前最好先理清思路,这个是最重要的。下面提供我的思路:

**1.**移植SD,DFS和FATFS。因为后续这个一定要使用的。(这部分电路相同,直接MenuConfig里点上就能用) ,3分钟

**2.**移植SDRAM,然后要通过读写测试。(需要改IO口和SDRAM的相关参数),5分钟

**3.**移植LTDC,然后要通过显示测试。(需要改IO口和LCD屏幕的相关参数),5分钟

**4.**完成了上面3个移植测试,那么驱动基本都一直好了,关于CRC和DMA2D,他们都是使能设备就行了,所以不重要。,0分钟

**5.**再增加TouchGFX的软件包,注意:在MenuConfig里面增加C++支持,但是不能打开C++11。10分钟

**6.**在TouchGFX里生成代码,再在env里更新下 scons --target=mdk5,5分钟

**7.**编译烧录即可使用。

总结:

有机会把方案一做了感觉肯定是可以的。


过程中的注意点:

下面过程是我移植好的工程下截图的,可能不是很完整。

关于IO口的更改:

在这里改成自己的硬件的IO口。

image-20220126203626495

关于LCD驱动的更改:

将这个注释掉的结构体定义,放到lcd_port.h里,因为在别处会用到。

注释掉中断,TouchGFX里有定义了。

image-20220126202957894

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WHKAxNXP-1643201720298)(https://os.zhengshijian.com//img/image-20220126203955297.png)]

关于移植的参数的修改:

image-20220126204152640image-20220126204209894

关于DMA2D中断:

默认好像没看到,这个是自己加上的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LNPwpmwI-1643201720299)(https://os.zhengshijian.com//img/image-20220126204445843.png)]

版权声明:本文为CSDN博主「ZsjLoveStudy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/a200327/article/details/122708611

生成海报
点赞 0

ZsjLoveStudy

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

【RT-Thread】学习笔记

环境 硬件环境:STM32F103ZET6(野火mini开发板)软件环境:STM32Cube Keil5使用STM32Cube快速生成例程 先使用STM32Cube生成一个简单的led