stm32 开发 简单介绍+工程创建

一,认知

1.嵌入式概念

国内定义:以应用为中心,以计算机技术(冯诺依曼)为基础,软硬件可裁剪,适用于对产品的性能、成本、可靠性有严格要求的系统被称为嵌入式系统。

 

2.8051和STM32

8051属于入门级别,结构简单,8051无法满足市场需求(成本低、性能高、功耗低、多任务、易用界面),所以为了满足市场需求,ARM公司就设计一款基于ARMv7架构32位的Cortex M3/M4,ST公司就基于内核设计一款MCU,也被称为STM32。

3..STM32的应用领域

STM32属于微控制器,自带常用的通信接口(USART、IIC、SPI、CAN、RS485、RS232),STM32一般使用在低功耗产品上,比如3D打印机、四轴飞行器、扫地机器人、平衡车、智能手环、智能窗帘、智能门锁。

二,开发环境

1.介绍

  1. MDK软件的下载

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

 

 2.MDK软件的结构

3.MDK软件的版本

 

3.软件的安装

1.从官网下载对应的安装包,安装包版本可以根据实际需求取选择,但是不要选择太低版本!

 

 

 

 

 2.如果软件安装完成后,记得要安装ST公司提供的芯片支持包xxxx.pack,双击运行程序即可

 

 

三,使用STM32标准固件库源码建立开发工程

一:下载stm32固件库源码,解压后目录分布如下

二:创建工程目录结构 

 1.新建工程文件keil_project,內部结构,命名以及涵义

 CMSIS:Cortex微控制器软件接口标准文件,该目录下文件适用所有Cortex系列(启动文件、配置文件)

DEVICE_LIB:M3对应外设的模块代码。(inc+src)

HARDWARE:用户实现的模块功能函数

LIST:链接相关

OBJ:编译产生的中间文件+hex/bin文件

SYSTEM:系统相关代码

USER:自定义代码(main.c)

2.将stm32固件库的代码拷贝到各个文件夹内,拷贝位置如下

                                                    stm32F10X官方库   keil_project

Libraries\STM32F10x_StdPeriph_Driver\inc  库头文件

Libraries\STM32F10x_StdPeriph_Driver\src   库源文件   

       DEVICE_LIB

Project\STM32F10x_StdPeriph_Template\main.c

Project\STM32F10x_StdPeriph_Template\stm32f10x_it.h 中断函数头文件

Project\STM32F10x_StdPeriph_Template\stm32f10x_conf.h 配置文件

Project\STM32F10x_StdPeriph_Template\stm32f10x_it.c 中断函数文件
  User

Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h

Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\ system_stm32f10x.c

Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.h
 SYSTEM

Libraries\CMSIS\CM3\CoreSupport\core_cm3.c

Libraries\CMSIS\CM3\CoreSupport\core_cm3.h

Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md.s
 CMSIS

三:keil5创建工程 + 配置工程项目保存位置:自己新建的工程文件夹keil_project/USER

 1.打开keil5,选中project-->new project-->在弹出的对话框中,选择项目保存位置。

2. 保存后,选择该工程的芯片型号,如下图。(前提是安装了芯片型号对应的pack)

 

3.选定型号后,出现下图,为该项目添加要使用的模块代码,需要就勾选。(使用固件库源码复制,不需要此步骤,直接关闭)。

 

4.创建成功后,出现下图结构。(必须对项目内文件夹分布作规划)

 

 每个文件夹命名与工程代码框架类似,见下图

 5.     每个文件夹内文件分布如下

 6.     打开main.c,删除所有文件,代码编写。

7.对工程进行配置,具体步骤如下。Project-->options form target

 

 

STM32F10X_MD:该宏指定芯片的型号,不同型号对应的硬件代码有不同,必须定义。

USE_STDPERIPH_DRIVER:该宏指定是否启用外设,定义则为启用外设,必须定义。

 8.点击按钮编译

 9.成功编译通过

 

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

太极不打烊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值