每当我们在入门之前(ARM是这样,DSP也一样),总会有很多疑问,会有很多顾虑。我们渴望知道学习STM32前景如何?需要啥基础?难不难?适不适合我?但是什么时候能心潮澎湃地、相当着急地开始学STM32?日子在一天一天过去!你开始行动了吗?没有行动的思索,永远都不可能入门!把这些时间用来看书吧,效果能好一万倍。
以上纯属娱乐。下面步入正题,这个元旦假期,由于北京疫情,公司不让出京,前几天核酸筛查,刚做了2020年第3次核酸检测,这几天不出意外都应该是宅在家里。本来是不打算写年终总结的,但是想着这一年过得太不容易了,就多多少少的唠两句,整理出了一篇总结,这是我第一次写个人年终总结,也希望以后能保持这个习惯,总结这一年的得失与感悟,以及对下一年的期待。分为以下几个部分回顾吧:
本身就是一个错误的问题。假如你会使用8051,会写C语言,那么STM32本身并不需要刻意地学习。
https://www.cnblogs.com/yangfengwu/p/10840517.html
在嵌入式系统中比较流行的开源实时操作系统 FreeRTOS 被广泛应用于各个平台(STM32、ESP32、Arduino等等),文章将介绍实时操作系统和为什么在嵌入式系统中使用实时操作系统。
学习初期最难找的就是找学习资料了,本贴精心汇总了一些嵌入式相关资源,包括但不限于编程语言、单片机、开源项目、物联网、操作系统、Linux等资源,并且在不断地更新中,致力于打造全网最全的嵌入式资料库。
1、STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率。STM32CubeMX几乎覆盖了STM32 全系列芯片。
概括一下我没有摘录的部分,就是STM32有着各种优势,是从事嵌入式行业的朋友的好伙伴。以我作为一个电子系学生的经验,主要用到的就是F1和F4,后者较前者的区别就是多了一个FPU (Float Point Unit,浮点运算单元) 处理浮点数的速度也就会更快。
还是哪个永恒的话题的,学习!(今天回家已经很晚了,本来不打算写东西的,不过一直读野火的书,赶紧很好,这里就分享一下)
他是一个大三的学生,我看了他的简历,里面几乎没什么项目经验,对于企业来说这样的学生就好比一张白纸一样,当然,这样的学生很难拿到一份好的offer。
接触RT-Thread也是一次偶然的机会,之前认识了一群网友,他们都是深圳的,然后我们这群网友本来打算去参加RTT的一个比赛,所以就约出来交流,我对RTT一脸懵逼,虽然后面我没有加入去参加比赛,但是那天听他们说完,我很兴奋,打算自己也来搞一下,移植一下这个系统,这个系统是开源的,所以你想怎么搞就怎么搞。
ST公司先后推出了两套主要库:标准外设库(Standard Peripherals Library)和HAL库(Hardware Abstraction Layer)。标准外设库是STM32最早发布的固件库,对STM32芯片进行了完整的封装,包含所有外设的性能特征,每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能。因为发布比较早,教程比较多,目前仍有不少开发者使用。标准外设库是针对某一系列STM32芯片而设计的,没有可移植性,目前该库已将停止了更新、研发,最近几年发布的新STM32芯片已经不再支持。
因为它的创新,单片机的使用变得越来越简单了,甚至没接触过硬件的看手册也能很快掌握。它首创的提供了库函数操作所有的寄存器。是NXP,飞思卡尔,51单片机,msp430单片机,Atemel的AVR单片机,MICROCHIP的PIC单片机无法比拟的。
TencentOS tiny目前主要支持ARM Cortex M核芯片的移植,比如STM32 基于Cortex M核全系列、NXP 基于Cortex M核全系列等。本教程将使用STM32官方Demo开发板 NUCLEO-L073RZ进行示例移植,其他 ARM Cortex M系列开发板和芯片移植方法类似。
本文档主要介绍,在python环境下,如何开发嵌入式应用程序,以STM32H43板卡为例介绍. 从系统环境搭建,到编译,到用python实现硬件控制。可作为入门教程。
STM32系列专为要求高性能、低成本、低功耗的嵌入式应用设计的ARM Cortex®-M0,M0+,M3, M4和M7内核,按内核架构分为不同产品:主流产品(STM32F0、STM32F1、STM32F3)、超低功耗产品(STM32L0、STM32L1、STM32L4、STM32L4+)、高性能产品(STM32F2、STM32F4、STM32F7、STM32H7)。
为了这个移植,国庆都没有好好出去玩,在公司里弄这个移植,因为公司开发的工具是IAR(32K限制版的,没有版权的,编译FreeRTOS还是搓搓有余的~),在网上下载了移植实例,但都是用Keil编译的,我也是无奈,要是这样的话,我也就不用费心了,本想把Keil的文件一直到IAR当中,可是编译是通过了,可是怎么就是不行,我估计就是两个编译器软件里面有很多集成的功能的不同把,于是我放弃了这条路,试试官网的Demo,在Demo的基础上改改,应该可以吧,弄了好久,今天终于移植成功,特此记录一下。
STM32CubeMX是被广泛使用的。它集成了芯片选型、引脚分配和功能配置,中间件配置,时钟配置,初始代码和项目的功能。其中STM32CubeMX和STM32Cubeprogrammer,除了对所有STM32芯片系列,和所有应用的通用支持之外,还有一些对特定应用的支持,比如STM32Cube.AI就是基于STM32CubeMX的插件功能,来把训练好的模型部署到STM32上;还比如在安全固件升级和安全固件安装,即SBSFU和SFI操作里,STM32CubeProgrammer就启动了代码加密,HSM实例化等功能。STM32支持丰富的开源和ST自主知识产权中间件,比如来自开源社区的FreeRTOS,FatFS,mbedTLS;ST自己的USB主机和设备协议栈,TouchGFX等。 因此除了对外设各种功能的工作模式和参数进行配置, 当我现在的应用需用用到FreeRTOS,我不仅可以勾选并使能上该组件,还可以对FreeRTOS进行配置,比如内核配置可以设置是否支持抢占、系统嘀嗒的间隔;可以在这里以图形化界面的方式创建信号量、互斥量、创建任务等。所有这里的配置,都会影响到最后产生的初始化代码。
板子申请了也有一段时间了,也快到评测截止时间了,想着做点有意思的东西,正好前一段时间看到过可以在MCU上移植MicroPython的示例,就自己尝试一下,记录移植过程。
使用Visual Studio Code开发STM32和51单片机,VS Code作为编辑器来开发嵌入式程序。
在学习嵌入式的路上,我们可能会接触到这两个比较典型的MCU。其中最大的区别就是S3C2440能跑linux操作系统,常常作为学习嵌入式linux的硬件平台。可能大家会问既然S3C2440能跑linux操作系统,似乎比stm32厉害多了,为什么不直接去学习S3C2440呢? 下面我就大概解释一下大家遇到的困惑:
在嵌入式领域有多重不同的 CPU 架构,我们知道 RT-Thread 是支持不同架构的嵌入式操作系统,我们先来大概看一下 RT-Thread 的架构。
根据电路设计,外部使用8M,通过PLL到168M因此在sys_gd32f4xx.c文件中选择宏定义:
a、官网: https://www.java.com/en/download/manual.jsp
完整版教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547 第29章 STM32F429移植汇编定点FFT库(64点
如果有的话,你很幸运哈哈,在对的时间遇到对的库,接下来 mculover666 带你一起手把手在裸机移植 SFUD。
<iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/ESA2GJK1DH1K_B/" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe>
完整版教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547 第29章 STM32F407移植汇编定点FFT库(64点
2022腾讯犀牛鸟开源人才培养计划 开源项目介绍 滑至文末报名参与开源人才培养计划 提交 TencentOS Tiny 项目Proposal TencentOS Tiny 项目介绍 腾讯面向物联网领域开发的实时操作系统,具有低功耗,低资源占用,模块化,安全可靠等特点,可有效提升物联网终端产品开发效率;提供精简的 RTOS 内核,内核组件可裁剪可配置,可快速移植到多种主流 MCU (如 STM32 全系列)及模组芯片上。覆盖IoT主流应用场景,支持硬件平台数量超60+,包括STM32、NXP、华大半导体等多家
前言:本文记录一下用GD32E10x替代STM32F10x程序移植过程,两个芯片是pin to pin的,因此无须修改硬件设计,只需修改软件即可。
这是我将UCOSII操作系统移植在STM32单片机上后进行UCOSII操作系统学习的一些笔记与理解,此文最后会附上我自己在UCOSII操作系统下使用STM32写的ESP8266+onenet+http协议的程序链接,可以作为参考,如果文中有不当的地方,还请各位大佬加以中指正,我一定会虚心求教。参考资料:正点原子RTOS操作系统讲解,参考的文章:(53条消息) STM32学习笔记一一UCOSII(1)_霁风AI-CSDN博客_ucosii
主要是写出来给要直接学习STM32的人的一些经验或者是教训以及踩坑点,我后续也会开始写STM32的一些我已经学会的基础性的初学者应用型教程(如没有前置知识点亮LED,我会在这里说GPIO是个啥,怎么选口,怎么查手册等基础入门方法)
这篇文章是串口中断的文章——STM32基于CubeMX的高速串口收发程序(中断模式)比较有帮助。 http://www.stmcu.org.cn/module/forum/thread-616613-1-1.html 看到大家经常写一些关于串口的问题,我也尝试开一个使用串口的工程。 简单的要求是,USART1和USART2之间互相转发。 发现使用CubeMX平台,建立测试工程没有难度,情况如下:
相比较早几年使用标准库开发来讲,最近几年HAL库的使用是越来越多,那么我们开发应当使用哪一种呢,本文小飞哥着重介绍常用的几种开发方式及相互之间的区别,白猫也好、黑猫也好,抓到耗子就是好猫。
背景:LCD1602的应用程序从stm32移植到gd32后,上电瞬间会显示黑条。因为应用层程序都是一样的,所以猜想是启动时间上区别。
声音检测传感器 1块 (咪头+放大电路 可以网上买现成的模块,也可根据后文提供的原理图自己做)
论坛原始地址(持续更新):http://www.armbbs.cn/forum.php?mod=viewthread&tid=99710 第4章 RL-USB移植(MDK AC5) 本章教程为大家
论坛原始地址(持续更新):http://www.armbbs.cn/forum.php?mod=viewthread&tid=99710 第5章 RL-USB移植(MDK AC6) 本章教程为
RCC,Reset and Clock Control(复位和时钟控制),在绝大部分MCU芯片中都包含复位和时钟控制模块,也是MCU重要的组成部分。
大家好,又见面了,我是你们的朋友全栈君。 完整版教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547 第29章 ST
论坛原始地址(持续更新):http://www.armbbs.cn/forum.php?mod=viewthread&tid=99710 第5章 RL-USB协议栈移植(MDK AC6) 本章
本文转自网络,作者:东小东 出处:https://www.cnblogs.com/dongxiaodong/p/13082539.html?app_uuid=e570c569-d96a-403f-
比如智能家居、智慧农业、工厂自动化这些,都可以使用STM32作为主控制器或者辅助控制器。
完整版教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547 第29章 STM32H7移植汇编定点FFT库(64点,2
论坛原始地址(持续更新):http://www.armbbs.cn/forum.php?mod=viewthread&tid=99710 第4章 RL-USB移植(MDK AC5) 本章教程为大
领取专属 10元无门槛券
手把手带您无忧上云