STM32入门教程--新建工程详细过程

合集下载

第三章 MDK软件入门 新建MDK工程 正点原子探索者STM32F4开发板 STM32F4开发指南

第三章 MDK软件入门 新建MDK工程 正点原子探索者STM32F4开发板 STM32F4开发指南

3.1 STM32 官方标准固件库简介
ST(意法半导体)为了方便用户开发程序, 提供了一套丰富的 STM32F4 固件库。 到底什么是 固件库?它与直接操作寄存器开发有什么区别和联系?很多初学用户很是费解,这一节,我们 将讲解 STM32 固件库相关的基础知识, 希望能够让大家对 STM32F4 固件库有一个初步的了解, 至于固件库的详细使用方法,我们会在后面的章节一一介绍。 固件库包光盘路径(是压缩包形式,大家解压即可) : \8,STM32 参考资料\STM32F4xx 固件库\stm32f4_dsp_stdperiph_lib.zip 同时,大家也可以到我们开源电子网 下载。 3.1.1 库开发与寄存器开发的关系 很多用户都是从学 51 单片机开发转而想进一步学习 STM32 开发,他们习惯了 51 单片机 的寄存器开发方式,突然一个 ST 官方库摆在面前会一头雾水,不知道从何下手。下面我们将 通过一个简单的例子来告诉 STM32 固件库到底是什么,和寄存器开发有什么关系?其实一句 话就可以概括:固件库就是函数的集合,固件库函数的作用是向下负责与寄存器直接打交道, 向上提供用户函数调用的接口(API) 。 在 51 的开发中我们常常的作法是直接操作寄存器,比如要控制某些 ቤተ መጻሕፍቲ ባይዱO 口的状态,我们直 接操作寄存器: P0=0x11; 而在 STM32 的开发中,我们同样可以操作寄存器: GPIOF->BSRRL=0x0001; //这里是针对 STM32F4 系列 这种方法当然可以,但是这种方法的劣势是你需要去掌握每个寄存器的用法,你才能正确使用 STM32,而对于 STM32 这种级别的 MCU,数百个寄存器记起来又是谈何容易。于是 ST(意法 半导体)推出了官方固件库, 固件库将这些寄存器底层操作都封装起来, 提供一整套接口 (API) 供开发者调用,大多数场合下,你不需要去知道操作的是哪个寄存器,你只需要知道调用哪些 函数即可。 比如上面的控制 BSRRL 寄存器实现电平控制,官方库封装了一个函数: void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) { GPIOx->BSRRL = GPIO_Pin; }

STM32工程模板

STM32工程模板

你是问有官方固件库创建工程吧?我这里给你说说MDK的创建方法,如果你用的时IAR环境也差不多。

1.解压stm32f10x_stdperiph_lib.zip 可以从ST官方网站免费下载。

最新标准库版本为3.5.02.创建一个Demo文件夹2.1 新建子文件夹User,用于存放用户源程序2.2 新建子文件夹Project,用户KEIL工程文件2.3 在Project下依次创建Obj和List子文件夹,存放编译过程中产生的中间文件。

3. 复制源代码到Demo文件夹3.1 将stm32f10x_stdperiph_lib\STM32F10x_StdPeriph_Lib_V3.1.2Li braries文件整体复制到Demo文件夹下。

这就是ST的标准库,是以源代码形式提供的。

3.2 将库中的演示代码IOToggle中的文件复制到Demo\User文件夹.4. 新建一个Keil MDK工程4.1 启动Keil MDK,点击菜单New uVision Project,然后按向导进行操作4.2 选择CPU类型为STM32F103ZE (这是安富莱STM32开发板采用CPU类型)4.3 当提示是否复制启动代码时,请选择否。

(我们用最新的库中的启动代码,不用Keil软件自带的旧版本启动文件)4.4 根据自己的需要修改Target名字。

(名字任意)4.5 为了便于代码管理,在这个Project下创建几个Group (名字可以任意)User : 存放用户自己写的源代码RVMDK : 存放启动文件(汇编文件)StdPeriph_Driver : 存放ST标准库文件CMSIS : 存放CMSIS接口文件(这也是库的一部分)4.6 创建好Group后,我们开始依次添加文件。

5. 修改源代码。

我们将修改main.c 文件,换成我们自己跑马灯程序。

6. 配置工程, 点击“Options”按钮6.1 切换到Output。

选择Object文件夹。

keil4建立ARM(STM32)工程和设置

keil4建立ARM(STM32)工程和设置

此篇根据个人的mdk4.5+JlinkV8使用状况,来写的日记,我只捡一些个人碰到的一些大众化的问题来说,其他的我就贴图了(也会简单说一下),高手可以掠过。

呵呵1新建工程,和增加源代码a.创建工程:点上述的按钮后,自己输入自己的工程名称,选择路径,然后保存.b.增加一个Groupc.增加源文件:1.自己编写的源文件:File New ,Ctrl+s ,输入源文件名, 选择路径,然后保存2.复制已有的源文件到一个文件夹下,然后如下图所示, 把所有源文件增加进来.(个人比较懒,实验工程,所以就一个group把所有的源码全加进来了。

)增加所有源文件后的界面2 keil4设置,我把我的设置全部贴图,我自己碰到的问题,会提出来说下。

a.点击target option按钮,进入设置界面图1. device(我的是STM32F103ZET6芯片)图2 Target上述的注意的几个地方:Xtal :( 我用的是8M晶振)System_V iew File:根据我之前的情况来看,只要其他的选好了,keil是可以自行增加的,这里关注下,我的是手动添加的(这里用的是绝对路径,至少我尝试是无法设置成相对路径的)。

这个文件大家可以在..\Keil\ARM\SFD\文件夹下找到相应的文件ROM和RAM的设置:各自根据自己的实际情况来设置3.Output选项卡需要选中debug information,Browse information (碰到在C中无法增加断点的情况,个人误打误撞选中这两个后就可以了,后来实验过取消和增加确实和能不能增加断点有关系,还是建议勾选上)4.Listing选项卡和User选项卡,ASM选项卡我没有做任何更改,就略过.(如果用汇编的话,应该要设置的吧)5.C/C++选项卡我只修改了Inlcude Path 选项卡(包含的头文件路径)a.使用绝对路径。

点击右侧小按钮,然后挨个挨个找吧(不方便移植)。

(仅供参考)STM32F105RBT6最小系统原理及工程的建立

(仅供参考)STM32F105RBT6最小系统原理及工程的建立

市面上的许多stm32开发板都是使用ULINK2作为调试仿真工具,鉴于ULINK2所需引脚过多在学习时还可以,但应用于实际电路设计生产会造成许多硬件资源的浪费。

鉴于此,本人经实验得出利用ST-LINK作为仿真下载工具的实验最小系统电路。

希望给大家作为参考。

一、最小系统原理图
二、建立工程的步骤
1、先在一个文件夹内建6个子文件夹:
DOC:放说明文件
Libraries:放库文件(CMSIS、FWlib)
Listing:放编译器的中间文件
Output:放编译器的输出文件
Project:放项目工程
User:放自己编写的程序、main、stm32f10x_conf、stm32f10x_it.C、stm32f10x_it.h
2、双击桌面UV4图标启动软件,,---NWE uVision Project--选择保存地方----选择芯片型号------在左边处建立5个GOP(STARTUP放启动文件)、(CMSIS放内核文件)、(FWLIB放库里面的src的.C文件)、(USER 放自己写的程序文件及stm32f10x_conf.h、stm32f10x_it.h、stm32f10x_it.c、main.c)
3、将Output重置到一开始时所建的“Output”文件夹中。

4、将Listing重置到一开始时所建的“Listing”文件夹中。

5、在C、C++处的“Define”输入:STM32F10X_HD,USE_STDPERIPH_DRIVER。

对于不同的芯片容量,可对HD进行更改(LD、MD、HD、XL、XC)。

然后在“Include Paths”处指定相关的搜库位置。

6、Debug处选好下载器。

stm32自学笔记共20页

stm32自学笔记共20页


LED0=1;

LED1=0;

delay_ms(300);

}
•}
第二章 跑马灯实验
• Led.c函数
• void LED_Init(void)
•{

RCC->APB2ENR|=1<<2; //使能PORTA时钟

GPIOA->CRH|=0XFFFFFFFF3;//PA8 推挽输出

GPIOA->ODR|=1<<8; //PA8 输出高
• JTAG_Set(JTAG_SWD_DISABLE);//关闭JTAG和SWD,在原理图上可以看 到PA13和PA15为键盘和JTAG与SWD所共用,而这两种方针接口,他们 和普通的IO口公用,当想使用普通IO口时,必须先把他们关闭。在这 个函数里面设置参数,如果为二进制数00,则代表全部使能,如果是 二进制数01,则是能SWD,如果是10,则表示全部关闭。JTAG是一种 国际标准测试协议,主要用于芯片内部的测试。
• }要想实现一个点亮led小灯的功能,最少只需对3个寄存器进行设 置,第一步是设置外设时钟使能先把PORTA时钟使能,接下来把IO
口设置为输出,在接下来设置输出为高电平还是低电平,这里使用 推挽输出(3.3v),推挽输出主要是增强驱动能力,为外部提供大电 流。
第二章 跑马灯实验
• #ifndef __LED_H • #define __LED_H • #include "sys.h" • #define LED0 PAout(8)// PA8 • #define LED1 PDout(2)// PD2 • void LED_Init(void);//初始化

如何为STM32F030建立工程模板6

如何为STM32F030建立工程模板6

如何为STM32F030建立工程模板最近在学习STM32F030的相关知识,在建立工程模板过程中总结了一些经验;这些经验大多是通过网络找到的;实际上是炒了正点原子的剩饭,望其莫怪;现在共享给大家,希望对大家能有帮助;首先、在建立工程之前,建议各位童鞋在电脑的某个目录下面建立一个文件夹,后面所建立的工程文件都放在这个文件夹下面,这里我们建立一个文件夹为LED。

注意,关于文件夹的命名,建议大家都用英文,也就是说让这个工程创建在一个全英文的路径下,这样可以避免在链接的过程出现错误;1、回到MDK主界面,可以看到工程中有一个默认的工程,点击这个工程名字,然后选择菜单Project->Close Project,就关闭掉这个工程了!这样整个MDK就是一个空的了,接下来我们将建立我们的工程模版。

2、点击Keil的菜单:Project–>New Uvision Project,然后将目录定位到刚才建立的文件夹LED之下,在这个目录下面建立子文件夹USER(我们的代码工程文件都是放在USER目录,很多人喜欢新建“Project”目录放在下面,这也是可以的,这个就看个人喜好了),然后定位到USER目录下面,我们的工程文件就都保存到USER文件夹下面。

工程命名为LED,点击保存。

接下来,我们在LED工程目录下面,新建3个文件夹CORE,OBJ以及STM32F0_FWLib。

CORE用来存放核心文件和启动文件,OBJ是用来存放编译过程文件以及hex文件,STM32F10x_FWLib文件夹顾名思义用来存放ST官方提供的库函数源码文件。

USER目录除了用来放工程文件外,还用来存放主函数文件main.c,以及其他包括system_stm32f10x.c、等等3、接下来会出现一个选择芯片型号的“Device”界面,就是选择我们的所用芯片的型号,这里我们定位到STMicroelectronics下面的STM32F030R8;然后点击“OK”即可;(如果是其他芯片,请选择对应的型号即可)。

stm32f030 编程

stm32f030 编程

STM32F030编程1. 介绍STM32F030是意法半导体(STMicroelectronics)推出的一款32位ARM Cortex-M0微控制器(MCU)。

它具有低功耗、高性能和丰富的外设,适用于各种嵌入式应用。

本文将详细介绍STM32F030的编程方法和开发环境,包括硬件和软件方面的内容。

我们将从基础知识开始,逐步深入,以帮助读者快速上手STM32F030的开发。

2. 硬件准备在开始编程之前,我们需要准备一些硬件设备:•STM32F030微控制器开发板(可以选择官方的开发板或者第三方的兼容板)•USB数据线•计算机确保将开发板通过USB数据线与计算机连接。

3. 开发环境搭建为了编程STM32F030,我们需要搭建相应的开发环境。

以下是搭建开发环境的步骤:3.1 安装开发工具首先,我们需要安装STM32CubeIDE,这是一个基于Eclipse的集成开发环境,专门用于开发STM32微控制器。

前往STMicroelectronics官方网站,下载并安装最新版本的STM32CubeIDE。

3.2 配置开发环境安装完STM32CubeIDE后,我们需要进行一些配置,以确保开发环境正常工作。

首先,打开STM32CubeIDE,然后选择“File -> New -> STM32 Project”创建一个新的STM32项目。

在弹出的对话框中,选择“STM32F0”系列的芯片,并选择您所使用的具体型号。

接下来,选择项目的名称和保存路径。

最后,点击“Finish”按钮完成项目创建。

3.3 编译和烧录现在,我们已经成功搭建了开发环境,可以开始编写代码并将其烧录到STM32F030上。

在STM32CubeIDE中,创建一个新的C源文件,并编写您的代码。

编写完代码后,点击“Build”按钮进行编译。

编译成功后,将STM32F030开发板连接到计算机,并点击“Run”按钮进行烧录。

烧录完成后,您的代码将在STM32F030上运行。

stm32f103开发步骤

stm32f103开发步骤

stm32f103开发步骤STM32F103是一款广泛应用于嵌入式系统开发的微控制器,具有丰富的外设资源和强大的处理能力。

在进行STM32F103开发时,需要按照一定的步骤进行,本文将从准备工作、开发环境搭建、代码编写、调试和测试等方面介绍STM32F103开发的具体步骤。

一、准备工作在进行STM32F103开发之前,首先需要准备好相关的硬件和软件工具。

硬件方面需要一块STM32F103开发板、USB线和与开发板相匹配的编程器。

软件方面需要安装Keil MDK集成开发环境和ST-Link驱动程序。

二、开发环境搭建1. 安装Keil MDK集成开发环境:打开Keil官网,下载最新的Keil MDK软件,并按照提示进行安装。

2. 安装ST-Link驱动程序:在ST官网上下载最新的ST-Link驱动程序,并按照提示进行安装。

三、代码编写1. 创建工程:打开Keil MDK软件,选择“File”->“New Project”创建一个新的工程。

2. 配置工程选项:在工程创建完成后,需要配置工程选项,包括选择目标芯片型号、设置编译器和调试器等。

3. 编写代码:在工程中创建源文件,并编写相关代码。

可以使用C 语言或汇编语言进行编程,根据实际需求选择合适的语言进行开发。

四、调试和测试1. 连接硬件:将STM32F103开发板通过USB线连接到电脑上,并通过编程器与Keil MDK软件建立连接。

2. 烧录程序:在Keil MDK软件中选择“Flash”->“Download”将编写好的程序烧录到STM32F103开发板上。

3. 调试程序:在Keil MDK软件中选择“Debug”->“Start/Stop Debug Session”开始调试程序。

可以通过单步调试、观察变量值等方式进行调试。

4. 测试功能:在调试过程中,可以通过连接外设或模拟输入数据等方式测试程序的功能和正确性。

五、优化和发布1. 代码优化:对编写好的程序进行性能优化,包括减少代码量、优化算法等,提高程序的效率和响应速度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

KEIL5新建工程和开发环境配置STM32三种开发方式,基于寄存器开发,基于官网固件库开发,基于HAL库(即STM32cube编程软件)
本文以STM32F107为例,基于官方固件库开发,介绍MDK keil5新建工程的详细过程和keil开发环境的配置。

一、下载STM32官方库
登录ST官网
点击要下载的芯片型号:
注意:下载需要注册登录,或是输入邮箱验证:
登录自己的邮箱点击下载:
下载解压后:
二、新建工程前准备工作
新建工程文件夹:
1、新建工程文件夹,并在里面新建四个子文件夹,
CMSIS(存放内核函数及启动引导文件),
STLIB(存放库函数),
User(存放用户自己的函数),
Output(存放输出文件)
如图。

将下载的标准库中
STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\CMSIS\CM3\CoreSupport和
STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\CMSIS\CM3\DeviceSupport\ST\
STM32F10x中的文件都复制到CMSIS文件夹中
STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\STM32F10x_StdPeriph_Driver
中的 inc src 复制到STLIB文件夹中
STM32F10x_StdPeriph_Lib_V3.6.0\Project\STM32F10x_StdPeriph_Template
中的这几个文件复制到User文件夹中
三、打开keil5 新建工程
1、 Project—New uVision Project
新建工程并保存到新建的文件夹
2、选型对应的芯片型号(这里使用的芯片是STM32F107VCT6)
3、点击OK确定后会弹出窗口(引导窗口,已下载了库的可跳过这一步),点击关闭
4、打开Manage Project 窗口,修改工程名,添加工程文件夹和文件
依次添加CMSIS、User、STLIB、STARTUP,并对应文件夹下的文件添加进来。

STARTUP添加*\CMSIS\startup\arm中的startup_stm32f10x_cl.s、
注意:根据芯片型号选择对应的启动文件
startup_stm32f10x_cl.s 互联型的器件, STM32F105xx , STM32F107xx
startup_stm32f10x_hd.s 大容量的 STM32F101xx , STM32F102xx , STM32F103xx startup_stm32f10x_hd_vl.s 大容量的 STM32F100xx
startup_stm32f10x_ld.s 小容量的 STM32F101xx , STM32F102xx , STM32F103xx startup_stm32f10x_ld_vl.s 小容量的 STM32F100xx
startup_stm32f10x_md.s 中容量的 STM32F101xx , STM32F102xx , STM32F103xx startup_stm32f10x_md_vl.s 中容量的 STM32F100xx
startup_stm32f10x_xl.s FLASH 在512K 到1024K 字节的STM32F101xx ,STM32F102xx , STM32F103xx
cl :互联型产品, stm32f105/107 系列
vl :超值型产品, stm32f100 系列
xl :超高密度产品, stm32f101/103 系列
ld :低密度产品, FLASH 小于 64K
md :中等密度产品,FLASH=64 or 128
hd:高密度产品,FLASH大于128
注意:*.c文件不要重复添加,否则编译时会报错(如system_stm32f10x.c文件不要重复
添加)
5、点击魔法棒,进入C/C++界面,在define一栏输入:
STM32F10X_CL,USE_STDPERIPH_DRIVER ,它们是用英文的逗号隔开的,请注意。

在include path栏加入头文件路径。

设置输出文件存放路径,勾选生成HEX格式文件
设置外部晶振和编译器版本
6、删除main.c中的所有定义和函数。

只写上int main(){}并在最后另起一行。

(不另起一行会提示“without a newline”的警告。

),
此时新建工程已完成,可以尝试编译
四、keil J-link 配置流程
使用Jlink连接好电脑和开发板---打开工程
点击魔法棒→Debug,选择J-LINK / J-TRACE Contex,勾选Run to main()
点击Setting,在Debug菜单中port选择SW,设置最大频率
在Flash Download菜单中选择Program、Verify、Reset and Run,然后点击Add添加芯片的支持包,选择对应芯片型号和Flash size符合的选项,点击确定
再在Utilities菜单中勾选Use Debug driver和Update Target before Debugging
设置完成后即Jlink配置完成,此时可以同点击下载程序,直接将编译好的代码烧录到开发板中
自此,完成keil5新建工程和开发环境配置。

相关文档
最新文档