文章目录[隐藏]
RT-Thread移植TouchGFX
我的硬件条件:
- 反客STM32H743IIT6
- 7寸RGB屏幕800*480
为什么基于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口。
关于LCD驱动的更改:
将这个注释掉的结构体定义,放到lcd_port.h里,因为在别处会用到。
注释掉中断,TouchGFX里有定义了。
关于移植的参数的修改:
关于DMA2D中断:
默认好像没看到,这个是自己加上的。
版权声明:本文为CSDN博主「ZsjLoveStudy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/a200327/article/details/122708611
暂无评论