专栏首页独行猫a的沉淀积累总结stm32微控制器开发者的福音

stm32微控制器开发者的福音

创新,是进步之魂。意法半导体在微控制器领域的创新,可谓是甩了对手好几条街!!

因为它的创新,单片机的使用变得越来越简单了,甚至没接触过硬件的看手册也能很快掌握。它首创的提供了库函数操作所有的寄存器。是NXP,飞思卡尔,51单片机,msp430单片机,Atemel的AVR单片机,MICROCHIP的PIC单片机无法比拟的。

ST够牛的啊,这不最近一则新闻:

ST 公司于2019年2月20 日宣布推出了运行linux ,android 的STM32 系列产品STM32MP157和STM32MP157C,这个新的产品线类似于freescale 的i.mx 7,是一种异构类芯片,内含一个或者两个cortex-A7 内核和一个Cortex-M4 核。

内涵3D GPU ,支持OpenGL ES 2.0和WXGA (1280x800) 。外设包含了GbE, 3x USB 2.0, I2C, 和多个 UART 和 SPI链路。

在物联网时代,MCU迎来了新的爆发期!ST在这一浪潮中走在了前列。

这不,创新又来了,使stm32使用更简单了。这完全是在打造生态链啊,竞争对手估计是很难超越了。去打听打听用stm32片子的满大街。其它片子的市场空间越来越小。因为,速度和效率就是生命啊。商场如战场,拼的是创新,速度和效率。

其实,这大部分外设驱动的操作,单片机底层寄存器的操作,不就是再做毫无意义的重复吗?而意法半导体似乎意识到了这个问题,尽量降低在这重复造轮子上花费你的时间,更多精力投入到做应用上去。

它的特色:

1.STM32CubeMX图像化配置工具,通过傻瓜化的操作便能实现相关配置,最终能够生成C语言代码,支持多种工具链,比如MDK、IAR For ARM、TrueStudio等。更牛逼的是,支持第三方的功能如嵌入式操作系统FreeRTOS,文件系统FTFS等,不用担心移植和裁剪了。STM32CubeMX支持图形化配置。

STM32CubeMX生成的代码基于ST的HAL库(硬件抽象层)和LL库(底层),在ST已经停止更新STD库(标准外设库)的情况下,使用基于HAL库和LL库的STM32CubeMX就成了面向未来的一个较好的选择; STM32CubeMX集成FreeRTOS,对于需要嵌入式操作系统的项目不用再花力气手动移植; STM32CubeMX是免费的。

2.驱动还需要自己写吗?自己写的稳定性如何?这部分工作它也考虑了。STM32CubeMX提供了HAL硬件抽象层,方便你的使用。STM32的HAL库,STM32CubeMX就是以HAL库为基础的,且目前仅支持HAL库及LL库。HAL库最大的特点就是对底层进行了抽象。在此结构下,用户代码的处理主要分为三部分:

  • 处理外设句柄(实现用户功能)
  • 处理MSP
  • 处理各种回调函数

3.TrueStudio forSTM32,针对stm32打造的完全免费好用的开发软件IDE,还再为使用keil还是iar软件纠结吗,还在为版权费用纠结吗,免费好用的IDE来啦。

TrueStudio基于开放标准(Eclipse和GNU)和扩展代码的专业特点,给系统的结构和动态行为提供了独特的见解。特别是,TrueStudio for STM32开发商提供广泛的选择,系统的分析功能,帮助他们评估从各种角度设计的合理性、包括内存和堆栈的使用,静态分析以及可视化的运行系统的动态行为。

除此之外,他还有额外的功能,包括自动硬故障崩溃分析,找出系统崩溃的原因,发生的地方,以及在什么情况下。

TrueStudio已经被ST收购,提供完全免费的版本,并且通过插件式安装,可以将STM32CubeMX集成在一个IDE,使用十分方便。

  • TrueStudio基于Eclipse,单从写代码的体验上不会太差,至少比MDK-ARM好太多;
  • TrueStudio被ST收购后完全免费了,而MDK-ARM只有在开发STM32F0和STM32L0是免费的;

如图所示:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • c语言实现TCP的socket通信

    ######################################## #makefile #############################...

    特立独行的猫a
  • java 版DES和MAC算法

    特立独行的猫a
  • 论公交车载pos十年后的样子

    开篇先借用吴军老师在《5G浪潮之巅》中的一句话来讲,:"一项技术能否被应用,并且在商业上获得成功,不仅取决于当下和近期可预见的需求,更取决于它能否符合用更少的能...

    特立独行的猫a
  • 使用SAT trace OData service实现

    Jerry Wang
  • 不同的编程语言是怎么卖牛排的?网友:绝了!

    C++:服务员牵来一头牛,给了顾客主厨刀、削皮刀、剔骨刀、片刀、砍刀、美工刀……堆满在桌上,笑道,请享用!顾客一脸懵逼,但看到邻桌的老大爷用挥舞双截棍的姿势使用...

    顶级程序员
  • 通过JSONP实现跨域访问

    说到跨域访问就要谈到浏览器的同源策略,所谓同源指的就是协议相同、域名相同、端口号相同,三个条件必须全部匹配,否则就会收到限制,例如:

    Dreamy.TZK
  • 一行代码论英雄—2017 Wolfram 语言“一行代码竞赛”结果

    WolframChina
  • 希尔排序

    如果上一篇初级排序算法中的插入排序你已经熟悉,那么今天的这个希尔排序对你来说就要简单一些。希尔排序,就是使用不同增量进行一遍一遍的插入排序的排序算法。首先,增量...

    naget
  • 总结五种常见的排序算法

        本文对比较常用且比较高效的排序算法进行了总结和解析,并贴出了比较精简的实现代码,包括选择排序、插入排序、归并排序、希尔排序、快速排序等。算法性能比较如下...

    Kevin_Zhang
  • “挑三拣四”地学一学Java I/O

    古人云:“读书破万卷,下笔如有神”。也就是说,只有大量的阅读,写作的时候才能风生水起——写作意味着输出(我的知识传播给他人),而读书意味着输入(从他人的知识中汲...

    沉默王二

扫码关注云+社区

领取腾讯云代金券