查看原文
其他

基于CubeMx配置RTOS和 GUI时的两个小问题

Miler 茶话MCU 2022-09-10


有人使用STM32cubeMx做配置,在涉及到FREERTOS或GUI配置时可能遇到两个小问题,这里分享交流下。

 

第一个问题,在使用FREERTOS中间件时有个CMSIS版本选择问题,如下图所示:


到底选择CMSIS-v1还是CMSIS-v2往往让人困惑、纠结不知如何选择。


这里的CMSIS-V1和CMSIS-V2是指CMSIS里面的一个跟RTOS有关的软件组件。所谓CMSIS,全称为CortexMicrocontroller Software Interface Standard,即基于CORTEX内核微处理的软件接口标准。


我们知道ARM公司只是提供内核部件及相关技术,具体的微处理器则由其它诸如ST公司基于相应内核基础上添加其它外设与组件而产生。CMSIS是独立于芯片制造商的硬件抽象层,为各芯片制造商描述或定义系统资源以及如何将这些资源划分为多个项目和执行区域统一了规范与方法,为微处理器提供一致而简单的软件接口,以用于接口外设、实时操作系统和各类中间件,简化软件的重复规划与设计,减少应用开发人员在基于同类内核不同微控制器的学习时间,加速新产品的上市。


CMSIS由众多个部件组成,其中就包括RTOS v1和RTOS v2.


这里的RTOS组件就是那些针对实时操作系统的通用公共API以及RTX相关的参考函数,包括可运行于在多个RTOS系统的软件组件。RTOSV1主要支持基于CortexM0/M0+/M3/M4/M7内核的芯片,而RTOSv2组件是基于RTOSv1的扩展,除了支持全系列的CortexM内核芯片外,还支持Cortex-A5/A7/A9内核的芯片,支持动态对象创建,支持多核系统配置,向下兼容RTOS v1组件。


说到这里,下次碰到这个地方就该知道如何选择了。因为RTOS v2是对RTOSv1的扩展且与之兼容,所以一般选RTOSv2没问题。当然,如果你的芯片是CortexM核的芯片,选择RTOS v1组件也合适。


另外,如果有人想更多详细了解CMSIS的话,可以到下面站点查看:


https://developer.arm.com/tools-and-software/embedded/cmsis

 

第二个问题,有人使用STM32做图像开发,用到TouchGfx。在使用CubeMx做GUI配置时发现找不到那个GRAPHICS菜单项。下面基于CubeMx6.0版本来介绍下怎么找到它。


首先你要在CubeMx环境下将TouchGFX的扩展软件包安装完成。


安装完成之后,再点击software pack菜单项,选择select components,如下图所示:


然后就可以看到下图所示界面,先点击左边软件组件的“Graphics”。之后按照下图右侧所示,在Application栏选择TouchGF Generator。


记得在右下角点击OK确认!【上面截图没有截全】


然后,在CubeMx目录栏里的Software packs就可以看到有关TouchGFX的Cube软件拓展包选项了。


其它后续操作该怎么进行就怎么进行了。顺便说下,如果想查看或学习有关TouchGFX及GUI相关知识,可以点击下面站点阅读:


http://support.touchgfx.com


【注:目前IE浏览器可能打不开上述链接,不妨换个浏览器来阅读。在那里有关图形及TouchGFX的介绍系统而全面,非常不错。高度推荐之!】


======================

往期话题阅读链接【点击即可阅读】:

1、STM32图形设计工具TouchGFX的学习站点

2、基于半主机机制实现prinf示例

3、STM32选项字编程示例及几点提醒

4、一个低功耗应用的案例分析

5、一个跟状态位处理有关的应用案例


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存