IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> STM32_基础篇(1)学习资料准备 -> 正文阅读

[嵌入式]STM32_基础篇(1)学习资料准备

2021/10/23

第一次在CSDN写文章,记录我的学习历程。之前在半导体公司工作过一段时间,发现STM32资料虽然很多,但是有一些细节内容仍然学习困难。因此,我打算开一个系列记录学习中的细节知识以及项目中的应用。秉承着共享的态度,在CSDN进行记录。

1.学习观念

从大一到毕业一年,将近5年时间里的学习经验告诉我,嵌入式学习一定要拓宽自己的知识面,不管是8位机还是16位机,32位机,熟练一种,其他芯片学习成本就会降低很多。归根到底,我们应该培养的是学习能力以及专业素养。

2.环境准备

相信看到这篇文章的同学对STM32或其他单片机多少有些了解,在此只简单介绍下。目前这个系列以STM32F103为基础,会涵盖中容量及大容量所以外设。

STM32F103,是意法(ST)半导体10年前设计的32位单片机,使用ARMv7-M的Cortex-M3内核,Thumb指令集。103主频最高72MHz,拥有丰富的外设。后续会开展F4,F7,H7等系列。

2.1集成IDE安装

做个项目的同学可能都经历过一个代码,编写,编译,下载,调试各用各的软件的情况,非常的难受,好在STM32拥有完整的集成IDE。对于比较受欢迎的ST自己的IDE和Cubemx等等工具,本系列均采用keil 5。

?在此给刚入门的同学准备了必备软件,第一个pack是ST的芯片资源包,第三个是软件,中间的是软件的注册机(禁止商用),需要的同学可以私聊获取链接。(放上来很容易失效)。安装的过程可以参考其他CSDN文章。安装完成之后将获取到这样一个软件:

?工具装好了,接下来准备开发所必须的参考资料。

3.学习资料准备

学习STM32F1必备品:

?从上到下,5和6分别是今后学习的主要参考手册,内有详细的外设描述。

3和4分别是中容量、大容量芯片数据手册,因中容量和大容量外设并不完全相同,偶尔需要参考。

区分容量的标准是flash大小,中容量上限128K,大容量下限256K.

芯片有了外设的应用参考,但同时也需要了解一部分内核的工作机制(中断控制器NVIC、SYSTICK定时器等),可以阅读 2 学习。

1为官方SDK,为实实在在的代码部分,我通常会将其中example下的外设源文件单独拿出来做参考。文件夹下并没有完整的工程,但是会细分各个外设功能的源代码。

?举例,TIM(定时器)目录下:

?可以看到分的非常详细,大多数情况下参考这些代码就可以完成所需的驱动功能。

3.1工程准备

资料软件都准备齐了,就可以写代码了。写代码的时候都需要一个工程。有的人喜欢通过keil新建一个,有的人喜欢拿平时准备好的工程。这是我平时喜欢用的:

?哈哈,学习过正点原子的人一眼就看的出来,这是原子教学的工程,但是又不完成一样。主要是我把SYSTEM文件夹删掉了,目的在于所有的外设都要自己写,不能偷懒。学习和应用要分得清。

在此,热情推荐大家去看看原子、野火的教学视频,初学者形成概念是很重要的,学会海纳百川,积极吸收各家的资料教学,去糟粕,留精华,形成自己的认知。

打开工程:

在模板USER目录下双击工程文件

软件界面:

?1.编译按钮,打开工程后进行编译,一个箭头是只编译更改内容,两个箭头为全编译,除第一次打开工程建议全编译以外,其他过程都建议使用只编译更改,否则编译时间较长。

2.下载按钮,连接开发板的情况下可直接下载,不需要额外的下载工具。

3.下载前和使用过程中均需要做一些设置,在此option按钮中。

4.调试按钮,可单步调试代码

5.工程目录

6.代码编辑区

7.调试信息输出区

至此,所有工作准备完毕可以开始学习、写代码啦!

4.开发板准备

大家可以区某宝,搜STM32开发板可以买原子或野火的,有配套资料,学起来简单点,也可以买最小系统板,103RC,103C8这些都可以,成本会低很多,103C8应该20RMB就够了,下面价格不能参考啊,想我当初买103RC,50RMB都觉得贵,缺芯导致价格狂飙。

?我准备的开发板:

左侧红色板是103VB,中容量。使用方便,有板载ST-LINK。右侧蓝色板为103VC,大容量,IO全引出,适合DIY。两块板都是自己打板,自己焊接的,红色板是嘉立创看到的开源项目,略作修改后自己打来玩的。蓝色板是自己画的PCB,想自己动手的同学可以私信获取(蓝色板)资源。

?同样的,大家还需要自行准备调试工具和串口工具,分别某宝搜索ST-LINK和USB-TTL工具。

?左:下载工具? 右:串口工具

5.程序下载

?准备好软件和硬件后进行连接,根据ST-LINK和开发板上的对应标识进行连接

VCC GND CLK DIO对应连接,工具连接电脑,未装驱动的要先装驱动

?打开软件点击option,在出现的对话框中的第一项里面选择芯片型号。不同型号会影响下载算法的差异,一定不要选错。

?target中可以看到芯片的flash和RAM的开始地址和大小,以及可能用到的microlib库选项和仿真时(无硬件仿真)的时钟频率选项。

?output中建议把browse infomation选上,方便代码阅读

?

?C/C++选项卡下要注意全局宏,如果是中容量芯片,就如图不动即可,如果是大容量芯片,要改为HD,同时还要更换启动文件为hd.s

?选择debug选项,确定点的位置,在选项卡里面选择ST-LINK(用什么选什么),点击设置,可以看到对话框里的调试器类型以及设备的内核编号,这意味着连接成功。

?

选择flash download选项,左侧为不同的擦除方式,右侧分别为编程,校验,和下载后直接运行。下方为此时使用的烧录算法,有时候算法会消失,需要手动添加,完成选择后 确定-OK回到主页面,点击下载。

?现在我们不用关心下载进去的是什么,也不用理会有什么样的运行效果。只需记牢整个过程,如果过程中出现什么意外,和介绍不一样,就去积极探索答案,或者评论留下问题。

从下一篇开始,正式进入内容学习。

作者水平有限,如有错误,欢迎指正。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-10-24 15:04:06  更:2021-10-24 15:04:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:40:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码