
有人使用STM32cubeMx做配置,在涉及到FREERTOS或GUI配置时可能遇到两个小问题,这里分享交流下。 第一个问题,在使用FREERTOS中间件时有个CMSIS版本选择问题,如下图所示: , K( `) ?" C/ H2 n, Z4 }9 j![]() 到底选择CMSIS-v1还是CMSIS-v2往往让人困惑、纠结不知如何选择。 6 u# O4 ?! V2 q6 g 这里的CMSIS-V1和CMSIS-V2是指CMSIS里面的一个跟RTOS有关的软件组件。所谓CMSIS,全称为CortexMicrocontroller SoftwareInterface Standard,即基于CORTEX内核微处理的软件接口标准。 1 u$ _' m& ~" {6 E- G0 T 我们知道ARM公司只是提供内核部件及相关技术,具体的微处理器则由其它诸如ST公司基于相应内核基础上添加其它外设与组件而产生。CMSIS是独立于芯片制造商的硬件抽象层,为各芯片制造商描述或定义系统资源以及如何将这些资源划分为多个项目和执行区域统一了规范与方法,为微处理器提供一致而简单的软件接口,以用于接口外设、实时操作系统和各类中间件,简化软件的重复规划与设计,减少应用开发人员在基于同类内核不同微控制器的学习时间,加速新产品的上市。 CMSIS由众多个部件组成,其中就包括RTOSv1和RTOS v2. & i9 h5 E2 B' g# H" N![]() 这里的RTOS组件就是那些针对实时操作系统的通用公共API以及RTX相关的参考函数,包括可运行于在多个RTOS系统的软件组件。RTOSV1主要支持基于CortexM0/M0+/M3/M4/M7内核的芯片,而RTOSv2组件是基于RTOSv1的扩展,除了支持全系列的CortexM内核芯片外,还支持Cortex-A5/A7/A9内核的芯片,支持动态对象创建,支持多核系统配置,向下兼容RTOSv1组件。 说到这里,下次碰到这个地方就该知道如何选择了。因为RTOS v2是对RTOSv1的扩展且与之兼容,所以一般选RTOSv2没问题。当然,如果你的芯片是CortexM核的芯片,选择RTOS v1组件也合适。 另外,如果有人想更多详细了解CMSIS的话,可以到下面站点查看: 9 ^) a4 e& a% Q/ W0 t' m7 a+ u 第二个问题,有人使用STM32做图像开发,用到TouchGfx。在使用CubeMx做GUI配置时发现找不到那个GRAPHICS菜单项。下面基于CubeMx6.0版本来介绍下怎么找到它。 " H4 }- o; F) i! j: L 首先你要在CubeMx环境下将TouchGFX的扩展软件包安装完成。 ![]() 安装完成之后,再点击software pack菜单项,选择select components,如下图所示: ![]() 然后就可以看到下图所示界面,先点击左边软件组件的“Graphics”。之后按照下图右侧所示,在Application栏选择TouchGF Generator。 ![]() 记得在右下角点击OK确认!【上面截图没有截全】 然后,在CubeMx目录栏里的Softwarepacks就可以看到有关TouchGFX的Cube软件拓展包选项了。 ![]() 其它后续操作该怎么进行就怎么进行了。顺便说下,如果想查看或学习有关TouchGFX及GUI相关知识,可以点击下面站点阅读: 【注:目前IE浏览器可能打不开上述链接,不妨换个浏览器来阅读。在那里有关图形及TouchGFX的介绍系统而全面,非常不错。高度推荐之!】 ) ~3 y8 l) Z. x$ q& n$ g! |% P, @- U: U Q* j5 U |
【STM32L562E-DK】健康手环基础界面开发(一)—— 准备工作
汇编浮点库qfplib移植STM32F769I-DISCO开发板与硬件浮点运算性能测试对比
【圣诞专享活动】使用TouchGFX做GUI显示:圣诞快乐&Merry Christmas!
STM32F103移植LittlevGUI代码
【STM32H7S78-DK评测】-5 LVGL&DMA2D DEMO测试
【STM32H7S78-DK评测】-4 LTDC&DMA2D 基本测试
STM32F3DISCOVERY + UCGUI3.90A的移植(源码+视频)
STM32MP135F-DK开发板评测-Linux系统下基于gtk的计算器应用
STM32MP135F-DK开发板评测-Linux系统下的GTK计算器
STM32MP135F-DK开发板评测-裸机LTDC亮屏