意法半导体(ST)集团于1988年6月成立,是由意大利的SGS微电子公司和法国Thomson半导体公司合并而成。STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M0,M3, M4和M7内核。
要了解STM32芯片的内部资源,需学会查阅选型手册和数据手册。其中选型手册对应每一种资源的大致描述,如内核、IO口、存储器容量、时钟、复位、电源管理等;而数据手册则描述了各引脚IO口。 关于芯片的内部结构,数据手册中有详尽的内部结构图,基本分为如下的几个部分:内核、调试接口、总线矩阵、存储器接口、桥以及外设。其基本模式如下图: 故STM32的最小系统包含以下几个部分:
要想开发STM32,需要准备相应的开发环境,其中包括MDK软件的安装、串口驱动安装和JLINK驱动安装(后两者可二选一)。 MDK是Keil公司开发的,为基于Cortex、ARM7、ARM9等处理器设备提供一个完整的开发环境。安装时需要注意:安装路径不能包含中文,最好不要有空格和特殊字符;安装ULINK时自动安装即可。而想开发STM32,则必须安装相应的支持包,F1系列有KeilSTM32F1xx的支持包,F4系列有KeilSTM32F4xx的支持包,双击运行解压即可。若想查看MDK中都有哪些支持包,可点击pack installer中的Packs,该窗口下最下面有已经安装好的相应的支持包。 USB串口,其作用有三点:当串口使用;连接到STM32的串口1时可用来串口下载程序;供电。USB串口驱动芯片型号(以正点原子为例)为CH340。下载工具为mcuisp。 JLINK驱动的作用是在安装后可在Windows下配合MDK进行程序下载和调试。安装过程自动即可。安装完成后会有提示说第三方软件需要使用,勾选上MDK5然后选择“是”就可以了。
出于过程主要以图片的形式呈现且正点原子的教学视频中没有关于配置STLINK的内容,这里我引用了CSDN上另一位博主的文章来记录这个过程。以下为博主ZZXin的文章原文: 在Debug窗口依次注意以下几个点: 1.选择与主控芯片相配套的芯片 2.选择ST-Link Debugger—-此处注意该页面最下面一行可不更改 3.接上图点击进入Setting,依次选择 4.进入Flash Download 注意同样选中与主控芯片相配套的flash类型,出现Error:Flash Download Failed-“Cortex-M3” 问题,多由于该处没有选择正确 注:此处本人也存在疑惑,若为“Med-density”与芯片选型配套,在此基础上再进行类型选择时,就会出现以上界面,没有了“Med-density”这一类型;若再次更换芯片选型,“Med-density”这一类型又会重新出现,不知这次什么“bug”,还望大神如若看到,能解决疑惑。 5.再进入Utilities设置(多数人会忘记),依次进行设置 6.Well Done
———————————————— 版权声明:本文为CSDN博主「ZZXin_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/ZZXin_/article/details/82526869
首先奉上我对固件库和寄存器的理解,如下图
更新线_20200507 自己看了一下,觉得有以下几个方面可以稍加改进: