STM32就业前景和下载KEIL软件(保姆级)

  1. 嵌入式的概述与体系

国内定义:嵌入式就是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于对于体积、可靠性、功耗、性能等方面有严格要求的专用计算机系统,要求嵌入式开发人员对嵌入式知识体系有清晰的认知。

  1. 微控制器的发展背景

C51属于传统的8位单片机,诞生于上世纪70年代,是在1980年开发的MCS-51系列单片机发展出来,也被称为8051。一般现在在大学中教学,满足不了现在的市场需求(成本低、性能高、功耗低、多任务、易用界面),一般用在小家电、消费类电子产品。

基于这样的市场需求,ARM公司推出了一款基于ARMv7架构的Cortex M3/M4的32位的内核,一般用在工控场景,ST(意法半导体)公司就基于这个内核推出了一款新的MCU(微处理器),就叫做STM32。

三、STM32的学习原因

STM32系列芯片介于低端和高端芯片之间。相对于低端芯片而言,STM32拥有强大的内核架构、更多的片上外设、可以运行uCOS、FreeRTOS等实时操作系统,相对于高端芯片而言STM32成本更低、实时性较强。所以学习STM32是大多数嵌入式开发人员的必经之路。

需要注意:学习STM32不是仅仅对相关外设(串口、定时器....)进行学习,而是要掌握软件的设计流程,这样在设计一款产品的时候才知道如何进行(器件选型、协议选择、数据格式.....),并且大多数复杂的产品都会搭载实时操作系统,所以也要掌握实时操作系统的设计架构和使用方法。

四、STM32的应用领域

STM32属于微控制器MCU,自带了各种常用通信接口,比如 USART、 I2C、 SPI 等,可接非常多的传感器,可以控制很多的设备。一般STM32都是主要用在低功耗的产品上,如智能手环,智能门锁、微型四轴飞行器,二轴平衡车、移动POS机,智能电饭锅,3D 打印机等等。

五、STM32的就业前景

大家都清楚目前国内已经处于物联网时代,而物联网也就是指万物互联,2014年也被称为智能家居的元年,华为和很多国内的大型公司都在打造智能家居的生态链,但是目前而言还没有达到普及智能家居的程度,而国内的人口基数大,并且开放了三胎政策,所以智能家居的市场前景是非常广阔的,而华为推出了鸿蒙操作系统,鸿蒙操作系统的理念就是"一生万物,万物归一",也就是把手机当做控制终端,再结合其他的智能硬件,最终达到万物互联的程度。

作业:思考自己想要做什么项目,整理为文档,要求图文并茂(项目背景、竞品分析、项目需求、面向群体、成本分析)。 提示:可以参考一些开源项目,比如立创开源平台

作业:需要购买硬件设备,给大家提供一个设备清单,清单中包含了必须要购买和学习的传感器

  1. 集成开发环境的搭建
  • MDK软件的下载

想要学习STM32,需要搭建好对应的开发环境,一般都是使用KEIL公司设计的KEIL5软件进行开发,由于KEIL公司已经在2005年被ARM公司收购,所以现在也被称为 ARM-MDK,该软件想要下载该软件,可以登录 www.keil.com 进行下载,也可以评论获取

  • MDK软件的结构
  • MDK软件的版本

注意:精简版的MDK软件一般具有代码大小限制,一般小于32KB的代码都可以使用该软件正常编译。

  • MDK软件的安装
  1. 从官网下载对应的安装包,安装包版本可以根据实际需求取选择,但是不要选择太低版本。
  1. 双击应用程序,按照软件的提示进行按照,注意:软件的安装路径不可以存在中文以及空格。
  1. 如果软件安装完成后,记得要安装ST公司提供的芯片支持包xxxx.pack,双击运行程序即可
  1. 如果芯片支持包安装完成,则可以对KEIL5软件进行破解,注意破解的时候把杀毒软件关闭

注意:如果粘贴CID的过程中弹出警告窗口,则以管理员权限重新打开KEIL5软件,再次进行粘贴即可

  • MDK软件的配置
  1. 配置KEIL5软件的字符编码为中文简体GB2312,并且设置KEIl5软件可以显示文本的行

练习:下载开发环境,并在自己电脑安装KEIL软件,安装STM32F4系列的芯片支持包,并对KEIL进行破解以及配置KEIL软件!

提示:如果自己的电脑已经安装过KEIL软件,则需要检查KEIL软件的版本,不要过低,不要比5.14版本低。

作业:要求对Vscode进行配置,可以直接在Vsocde完成程序的编辑、编译等相关动作,要求Vscode和KEIL软件进行联动。

七、STM32的开发方式

目前主流的STM32的开发方式大体分为三种:函数库开发 + 寄存器开发 + 图形界面开发!

  1. 寄存器开发

STM32的资源外设比较丰富,所以导致寄存器的数量增多并且复杂度增大,要求开发人员需要掌握底层开发的相关知识才行。

一般情况下,只有涉及对实时性要求比较高,如频繁调用的中断服务函数等才会直接使用寄存器开发,其余大部分情况下,都是使用函数库开发。

  1. 函数库开发

对于函数库开发来说,ST公司一共开发了两套库(STD库+HAL库),对于目前的市场趋势而言,ST公司主推HAL库,已经对标准外设库停止维护,但是对于实际的开发过程而言,目前绝大多数公司都采用标准外设库进行项目的开发(更稳定,资料更多,容易维护)

STM32标准外设库是ST公司专门针对STM32提供的一系列API(函数接口),用户可以调用这些函数来配置STM32底层的寄存器,所以开发人员不需要特别关注底层寄存器操作,有利于快速开发和维护。

库是架设在寄存器和用户代码之间的代码,向下与寄存器相关,向上提供给用户相关接口。

  1. 图形库开发

指的是利用ST公司专门设计的一款图形界面软件(STM32CubeMX)来自动生成代码,所以这款软件也被称为代码生成器,用户只需要根据实际需求进行参数选择,就可以自动生成初始化代码,极大的提高了开发效率,所以也是ST公司这几年主推的一种方式。该软件内部集成的HAL库,所以生成的初始化代码也是基于HAL库的。注意:适合有经验的工程师。

八、STM32的开发平台

  1. STM32开发平台的芯片

本次阶段的开发平台为Cortex-M4开发板,M4开发板搭载的芯片是ST公司设计的芯片,型号为STM32F407ZET6,芯片采用的内核为ARM公司设计的Cortex M4内核(主频高达168MHZ,带DSP和FPU 浮点运算单元),对于芯片型号的说明可以参考ST公司提供的芯片选型手册。

  1. STM32开发平台的资源
  1. STM32固件库工程

想要开发的前提就是创建好一个工程模板,为了可以尽快的入门,所以搭建的工程是以标准外设库为例,如果想要采用标准外设库,则需要从官网下载标准外设库的源码包,并完成移植。

作业:根据ST公司提供的帮助文件以及搭建工程的文档,独立完成工程模板的搭建 提示:注意细节,要有耐心

十、STM32的程序下载

STM32想要下载程序的方法有两种:串口下载 + 下载器下载(JTAG、JLINK、STLINK...),这里就涉及到STM32启动方式(自举模式)。这里可以参考STM32F4中文参考手册的2.4章节。

STM32启动方式(自举模式)有三种:从用户闪存启动(Flash)、从系统存储器启动、从内部SRAM启动。

提示:自举模式指的是把程序下载到MCU内部的哪个空间来存储以及执行程序时从MCU内部的哪个空间开始执行。

  • 主Flash启动

指的是从用户闪存空间启动(FLash空间 512K),也是最常用的工作模式,一般用JTAG接口和SW接口下载程序的时候意味着程序要下载到Flash中,在复位之后也是从Flash运行程序。一般用户闪存(Flash)可以反复擦除10万次左右,所以不用担心芯片锁死或者被擦爆。

  1. 把开发板的BOOT引脚进行设置(BOOT0 =0,BOOT1= x),然后把JLINK下载器和开发板链接
  1. 安装JLINK下载器的驱动程序,并检查JLINK驱动安装成功,设备管理器--->通用串行总线
  1. 打开KEIL5软件,对工程进行下载配置,选择JLINK作为下载器,并设置JLINK的一些参数
  1. JLINK和Flash的配置完成后,需要对程序进行编译,编译通过后点击Download下载程序

练习:完成JLINK下载器接线并安装JLINK驱动,配置工程的下载器参数并实现程序的下载!

相关推荐
蓝斯49710 小时前
从.到实现一个Windows上的虚拟hid键盘设备
windows·单片机·计算机外设
熙芯XiChip11 小时前
硬实时与软实时RTOS核心区别
嵌入式硬件
伟大的前程11 小时前
unsigned int 定义的变量 在 电脑的 64 位系统中 和 32 位 cortex-m0 和 8 位的 51 单片机
单片机·嵌入式硬件
小渔村的拉线工11 小时前
1.HPM6E80 解析芯片整体工作原理和存储架构
单片机·嵌入式硬件·mcu·架构·hpm6e80
熙芯XiChip12 小时前
CAN与CANopen的本质区别
单片机
lilihewo12 小时前
Altium Designer 封装库的创建(分享pcb 3D封装库)
嵌入式硬件·51单片机
神罚天下ET13 小时前
典型arm位单片机启动流程(从上电到main.c)
c语言·arm开发·单片机
碧海银沙音频科技研究院14 小时前
蓝牙耳机使用WSDF5361锂保芯片进入船运模式实现方法
嵌入式硬件·算法
Zevalin爱灰灰15 小时前
模拟信号链电路——基于TL431的电压基准电路
单片机·嵌入式硬件
csdn杰哥15 小时前
瑞萨单片机开发教程[二十七] DTC 外部中断触发传输实验
单片机·嵌入式硬件·mongodb·瑞萨·ra6m5