搭建开发环境以及STM32固件库移植

一、 搭建开发环境

1.keil5的安装

2.芯片包的安装和驱动安装

二、STM32固件库移植

1.单片机MCU

单片机:Micro Control Unit微型控制单元,是一类功能简单但非常实用的的处理芯片的统称
比如:
51系列:指基于8051内核衍生出的各种单片机芯片
AT89C51/AT89C52、STC89C51/STC89C52、cc2530(ZigBee)ESP8266(WIFI)……8位单片机
STM32:指基于ARM公司Cortex-M内核衍生出的各种单片机芯片
ST:意法半导体公司
STM32F4xx、STM32F1xx 、STM32F7xx ……32位单片机
商用的有STM32Gxx
位:指芯片同时处理数据量的大小,同时还限定了 寄存器的大小、地址总线的大小
8位: 芯片同时可以处理8bits的数据

2.STM32系列

ST意法半导体公司根据ARM公司的Cortex-M系列的芯片研发出来的一款高性能的单片机芯片
本次实习采用的是STM32F407zet6芯片,性能算不错了,来做这次智能小车的实习感觉有些大材小用了

3.单片机的开发

单片机之所以简单,是由于所有单片机都处于“裸奔”状态
“裸奔”:没有操作系统
单片机的程序设计,是通过直接访问内部硬件寄存器来实现对硬件的操作
单片机的开发主要有两个方向:
1) 单片机电路设计:负责设计基于某款单片机芯片的系统电路,和功能所需要的外围电路
2)单片机程序设计:负责基于某款单片机平台进行程序设计,以实现用户所需要的功能

4.STM32程序设计

STM32单片机的程序设计有三种模式
1) 两层模式
直接通过编写寄存器操作程序,来控制硬件工作,以完成所需功能的设计程序设计语言:汇编、C语言
难点:寄存器太多,难记也难找
2)三层模式
也是通过直接操作寄存器来实现,区别在于,可以利用已经做好的第三方库来借助不同的 接口技术来实现对寄存器操作,无需去深度的掌握寄存器的内容
比如:ST公司在研发出STM32系列芯片的同时,开奖该系列所有的单片机寄存器及其操作封装成了一整套的接口技术 =》 固件库
这也是STM32开发比较方便且容易上手的方式,本次实训也是采用的这种模式
3)操作系统
STM32虽然是款单片机,但由于其性能已经足够强大,因此可以移植并运行特定的操作系统
比如: UCOS 、FreeRTOS

5.固件库的移植

固件库 通常是指基于某个平台而封装的大量操作接口的一种库文件
ST公司为了让更多人能够使用其公司出售的芯片
ST公司提供了几套官方库:标准库、HAL、MT库 等
移植好的STM32标准库程序

三、程序编辑、编译和下载

1.编译

在keil中创建工程,并打开移植好的固件库程序,设置好后执行编译

2.下载

串口下载是指通过串口线直接将编译生成的hex程序文件烧写到单片机芯片中
步骤:
1)链接开发板与PC
利用双头USB线,链接开发板与PC机
2)安装USB转串口驱动
3)MCUFLY烧写程序
烧写时跳线帽的链接方式:

3.编辑

keil自带编辑器,但是 STM32固件库的接口名很不友好(名称太长、太杂)
因此,我们需要一款智能编辑器 =》VSCode、SourceInsight4,用了之后不得不说真香,想到自己之前直接用keil编程真****
创建一个sourceinsight工程,用来管理STM32固件库的源码




搭建开发环境以及STM32固件库移植相关推荐

  1. STM32固件库移植(开发环境的搭建)

    STM32固件库移植(开发环境的搭建) 以下过程是手动移植,过程繁琐,不感兴趣的可以绕路学习CubeMX. 下文阐述两种基本开发环境的搭建方法,HAL库的添加将放在下期 1.基本开发环境的搭建 先创一 ...

  2. PCL-1.8.1从源码搭建开发环境三(QHULL库的编译)

    原文首发于微信公众号「3D视觉工坊」:PCL-1.8.1从源码搭建开发环境三(QHULL库的编译) 首先,介绍一下QHull库. QHull是一个开源的程序软件,用来研究解决凸包问题,生成凸包形体.官 ...

  3. PCL-1.8.1从源码搭建开发环境二(FLANN库的编译)

    原文首发于微信公众号「3D视觉工坊」,PCL-1.8.1从源码搭建开发环境二(FLANN库的编译) 首先,快速近似最近邻搜索库FLANN-Fast Library for Approximate Ne ...

  4. 【VESC】一.配置开发环境、烧录固件

    一.介绍 VESC是一个开源的无刷电机驱动器,由工程师本杰明研发,最初应用于电动滑板,但是由于其出色的性能,也渐渐在其他领域得到了应用. 由于VESC的固件是基于电动滑板这个应用场景开发的,所以如果我 ...

  5. linux 搭建开发stm32 stlink,ROS2与STM32入门教程-搭建开发环境(ubuntu+eclipse+cubemx+stlink+openocd)...

    ROS2与C++入门教程-搭建开发环境(ubuntu+eclipse+cubemx+stlink+opencd) 说明: 介绍如何在ubuntu下搭建开发环境 环境:ubuntu20.04 + ecl ...

  6. Esp8266学习之旅① 搭建开发环境,开始一个“hellow world”串口打印。

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 基于C SDK的ESP8266开发技术全系列笔记 一.N ...

  7. 一个快速实现彩屏应用的跨平台快速原型开发工具平台,最重要的是还免费!8ms.xyz平台原以为是单片机版墨刀,今天上去玩了才知道平台厉害的很,基于WEB端免搭建开发环境,跑的还是C代码编译出来的程序!

    哈哈哈哈,最近发现一个好用的在线编译.下载.烧录的跨平台快速原型开发工具平台,名字好记–8ms,单看名字是真的不知道干嘛的,不知道为啥叫这个?不多想了,好用就得分享给大家,独乐乐不如众乐乐呀-- 好用 ...

  8. 探索MicroPython(二)--搭建开发环境

    搭建开发环境 1. 简述 2. 安装Python3 3. 安装Mu 4. 安装驱动 5. 更新固件 6. 运行程序 1. 简述 pyBoard上使用了STM32自身flash的一定空间作为U盘与电脑进 ...

  9. 使用Docker高效搭建开发环境

    女主宣言 Docker 作为轻量级的基于容器的解决方案,它对系统侵入性低,容易移植,天生就适合做复杂业务部署和开发环境搭建,今天给大家带来的是我司开发是如何使用 Docker 高效搭建开发环境的.本文 ...

  10. 第9章 初识STM32固件库—零死角玩转STM32-F429系列

    第9章     初识STM32固件库 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...

最新文章

  1. Windows下超详细安装Anaconda3以及jupyter notebook
  2. epoll监听文件_epoll详解——从功能到内核
  3. 段永朝:界面——之内、之外与之间
  4. mysql blob 比较_MySQL下,text 、blob的比较
  5. Tomcat 启动错误 org/eclipse/jdt/debug/core/JDIDebug...
  6. #pragma指令与#ifndef指令
  7. 2.1 Objective-C概述
  8. 代替Excel上载的方法
  9. 地图按照自己规定路线进行移动
  10. Eclipse jar包打不进apk
  11. Qt文档阅读笔记-C++与QML混合编程(QML画饼状图)【通过信号与槽交互】
  12. 如何设计一个权限系统
  13. LAMDA表达式学习
  14. Mars3D基础学习:地图控件
  15. html css js介绍ppt,HTML+CSS+JS-入门基础.ppt
  16. GB50174-2008《电子信息系统机房设计规范》
  17. GC 的背景和一般原理--什么是GC,minor gc,major gc,full gc
  18. C++大法:举世闻名之BOOST大法精华浅析(三)内存管理库(小白piao分享)
  19. Java实现旅行商问题
  20. R语言使用fisher.test函数进行精确概率检验、检验两个分类变量是否独立(自定义构建列联表仿真数据)

热门文章

  1. 十个优秀的在线音乐分享网站
  2. 伦敦皇家音乐学院公爵厅混响当前已添加到Altiverb 7软件
  3. html loading 页面加载中(百分比)
  4. python实用性自己设计_用Python设计PCR引物: Primer3-py 初识
  5. SPC控制图——单值移动极差图(X- MR)详解
  6. Android计算器简单实现及代码分析
  7. CXF 中使用 wsdl2java 示例
  8. 终于解决了!Windows 10打开SecoClient 提示网络扩展启动失败
  9. FreeRTOS 教程指南 学习笔记 第四章 队列管理
  10. 2019华为软件精英挑战赛经验总结