STM32C071和GUI是什么关系?如何基于STM32C071创建应用?
扫描二维码
随时随地手机看文章
微控制器能够根据预设程序对各种设备进行控制,例如智能家电、工业自动化设备等,而STM32C071便是微控制器中的一种。为增进大家对STM32C071的认识,本文将对STM32C071的方方面面予以介绍。如果你对STM32C071具有兴趣,不妨和小编一起来继续往下阅读哦。
一、什么是微控制器
微控制器是将微型计算机的主要部分集成在一个芯片上的单芯片微型计算机。微控制器诞生于20世纪70年代中期,经过20多年的发展,其成本越来越低,而性能越来越强大,这使其应用已经无处不在,遍及各个领域。例如电机控制、条码阅读器/扫描器、消费类电子、游戏设备、电话、HVAC、楼宇安全与门禁控制、工业控制与自动化和白色家电(洗衣机、微波炉)等。
微控制器(Microcontroller Unit,即MCU)可从不同方面进行分类:根据数据总线宽度可分为8位、16位和32位机;根据存储器结构可分为Harvard结构和Von Neumann结构;根据内嵌程序存储器的类别可分为OTP、掩膜、EPROM/EEPROM和闪存Flash;根据指令结构又可分为CISC(Complex Instruction Set Computer)和RISC(Reduced Instruction Set Computer)微控制器。
微处理器是20世纪伟大的技术创新之一,由此而衍生的微控制器将微处理器和外设集于一身,为多种应用开创了新局面,并将继续发挥不可替代的作用。
二、STM32C071让GUI更普及
通常,基于STM32C071的图显系统成本包括一个没有触摸功能的2.4 TFT显示器、STM32C071、4MB外部闪存,采用2层PCB设计,BOM成本大约5美元。这样的BOM成本和芯片性能让更多的嵌入式系统用得起GUI,比如很多用按键或数码管显示的小家电,可以升级为图显系统,突出产品优势。
以电饭煲UI为例,基于TouchGFX 软件工具开发的代码仅102KB,而部分帧缓冲区和UI框架需要20.8KB的RAM。GUI应用程序大约需要900KB的外部闪存,而STM32C071的SPI接口提供了足够的带宽防止画面卡顿。
当开发者选型时,如果需要STM32G0的降维产品,STM32C071是非常好的选择,它弥合了STM32C0其他系列与STM32G0的性能差,拥有一个USB控制器、新增的SPI和I2C接口、一个32位定时器,相比STM32C011、STM32C031子产品线,可以实现更多功能。STM32C071新增64引脚封装,所有封装与STM32G0引脚全兼容。
三、从STM32C0开始创建入门级应用
尽管8位MCU还有一定的市场份额,但多数情况下,选用8位MCU的终极原因是价格。开发者为了降低BOM成本而选用8位MCU,但在降低成本的表象背面是忽略了8位架构后期的高昂潜在成本,也就是说可升级性极为有限。
开发者在MCU选型阶段,会计算目标系统需要的内存、计算吞吐量、引脚等,如果选用8位MCU,后续升级的可能性几近于零;8位MCU的固有局限性也意味着开发者必须对多个设备进行资质认证,这往往会拉长产品上市时间,错失市场先机。同时,嵌入式应用市场以不可逆的迭代方式从8位向32位MCU迈进,在这样的市场条件下还坚持选用8位MCU,那么后续升级到32位时,以前的软件栈和现有代码都不可复用,需要重新开发。
因此,开发者从现在开始,用新型32位MCU STM32C0开始创建入门级应用是一个明智的选择。作为一款用于入门级应用的新型微控制器STM32C0系列,其价格与8位MCU一样便宜,基于Cortex-M0+内核,主频为48 MHz,CoreMark跑分114分,各方面性能远超8位MCU。STM32软硬件生态全面兼容STM32C0,这将为开发者带来极大的便利性。
为了帮助工程师尽可能高效地将系统从8位MCU升级到32位MCU,ST发布了一份从STM328L或STM328S迁移到STM32C0的应用笔记,这份文档不仅详细诠释了外围设备迁移方法,同时还表明,多数情况下,8位迁移到32位架构通常意味着代码大小仅增加6%至15%。STM32的软件开发环境,如STM32CubeMX 和 STM32CubeIDE等软件工具、STM32CubeProgrammer等调试软件或STM32Cube expansion packages 会大幅优化工作流程,可以方便地重用代码或模块,加快开发速度。
此外,值得一提的是,开发者如果选用了STM32C0,当产品性能需要升级时,可快速迁移到STM32G0,两者拥有相同的Vdd和Vss电源,相似的ADC、定时器和高速RC振荡器,引脚全兼容,无需添加外部组件。
以上就是小编这次想要和大家分享的有关STM32C071的内容,希望大家对本次分享的内容已经具有一定的了解。如果您想要看不同类别的文章,可以在网页顶部选择相应的频道哦。