| |
|
开发:
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例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |