上海
如何使用
STM32的软件库
在IAR的EWARM下
进行应用开发
2007年12月
2007年12月
www.stmicroelectronics.com.cn/mcu
2STM32 32位微控制器
步骤
新产品开发流程的步骤课题研究的五个步骤成本核算步骤微型课题研究步骤数控铣床操作步骤
一:创建项目目录,拷贝公共文件
①
将STM32软件库中FWlib
目录中的library目录拷贝
到所建项目的目录中。
②
将软件库的Examples目录里的
任一例程的stm32f10x_conf.h、
stm32f10x_it.c、stm32f10x_it.h
和main.c拷贝到项目的目录中。
③
拷贝软件库中\project\EWARM\目录中
的stm32f10x_vector.c、
cortexm3_macro.s、lnkarm_ram.xcl和
lnkarm_flash.xcl到项目的目录中。
2007年12月
www.stmicroelectronics.com.cn/mcu
3STM32 32位微控制器
步骤一:创建项目目录,拷贝公共文件(续)
①
将STM32软件库中FWlib
目录中的library目录拷贝
到所建项目的目录中。
②
将软件库的Examples目录里的
任一例程的stm32f10x_conf.h、
stm32f10x_it.c、stm32f10x_it.h
和main.c拷贝到项目的目录中。
③
拷贝软件库中\project\EWARM\目录中
的stm32f10x_vector.c、
cortexm3_macro.s、lnkarm_ram.xcl和
lnkarm_flash.xcl到项目的目录中。
2007年12月
www.stmicroelectronics.com.cn/mcu
4STM32 32位微控制器
步骤二:修改应用文件(一)
stm32f10x_conf.h
#define _ADC
#define _ADC1
//#define _ADC2
…
#define _FLASH
#define _GPIO // include gpio.h file
//#define _GPIOA // not use GPIOA
//#define _GPIOB // not use GPIOB
#define _GPIOC // use GPIOC
//#define _GPIOD // not use GPIOD
//#define _GPIOE // not use GPIOE
#define _AFIO // use alternat function
…
#define _NVIC
#define _RCC
…
// Value of the External oscillator in Hz
#define HSE_Value ((u32)8000000)
注:本文中使用STM32软件库中的例子。
修改设置文件
stm32f10x_conf.h
根据自己电路板上的外部晶
振频率来修改
HSE_Value。
根据自己使用需求,打开相应
外设的define:
#define _PPP (必须的)
#define _PPPx
(可选
的,根据外设决定)
2007年12月
www.stmicroelectronics.com.cn/mcu
5STM32 32位微控制器
步骤二:修改应用文件(二)
在main.c中编写自己
的主程序
添加自己编写的代码。
main.c
#include “STM32F10x_lib.h“
int main()
// main program(添加自己的代码)
{
RCC_Configuration(); // Set System clock
NVIC_Configuration(); // NVIC configuration
GPIO_Configuration(); // GPIO configuration
ADC12_Configuration();// ADC configuration
// Enable ADC1 reset calibaration register
ADC_ResetCalibration(ADC1);
// Check ADC1 calibration
while(ADC_GetResetCalibrationStatus(ADC1));
ADC_StartCalibration(ADC1);// calibarate ADC1
// Check the end of ADC1 calibration
while(ADC_GetCalibrationStatus(ADC1));
ADC_SoftwareStartConvCmd(ADC1, ENABLE);
while(1); // Infinite loop
}
必须添加此行!
2007年12月
www.stmicroelectronics.com.cn/mcu
6STM32 32位微控制器
步骤二:修改应用文件(三)
stm32f10x_it.c
#include “stm32f10x_it.h”
void
ADC_IRQHandler(void)
{
// Toggle
PC.06
pin
GPIO_WriteBit(GPIOC, GPIO_Pin_6, Bit_SET);
GPIO_WriteBit(GPIOC, GPIO_Pin_6, Bit_RESET);
// Clear
ADC1 AWD pending
interrupt
bit
ADC_ClearITPendingBit(ADC1, ADC_IT_AWD);
}
void
TIM2_IRQHandler(void)
{
}
修改中断文件
stm32f10x_it.c
根据开启的中断,在对应
的中断
函数
excel方差函数excelsd函数已知函数 2 f x m x mx m 2 1 4 2拉格朗日函数pdf函数公式下载
中添加代码。
2007年12月
www.stmicroelectronics.com.cn/mcu
7STM32 32位微控制器
3. 保存项目到设定
的项目根目录中
2.
点击菜单Project-->
Create New Project
创建一个项目
1.
点击菜单File-->
New-->Workspace
创建一个新的
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
步骤三:创建一个新的项目
2007年12月
www.stmicroelectronics.com.cn/mcu
8STM32 32位微控制器
步骤四:添加文件
向项目中添加文件:
根据stm32f10x_conf.h中
打开的外设,向项目中添
加对应的PPP.c文件。
用户可以向项目中添加*.c文件
;也可以添加代码组,然后将c
文件添加到组里面:
¾ 可以很好地进行源代码管理;
¾ 有助于生成较好的目标代码。
必须添加stm32f10x_lib.c
2007年12月
www.stmicroelectronics.com.cn/mcu
9STM32 32位微控制器
步骤五:Option设置(1)
在项目名称上单击右键选择Option,
或点击菜单Project-->Option。
2007年12月
www.stmicroelectronics.com.cn/mcu
10STM32 32位微控制器
步骤五:Option设置(2):General Option
设置
Taget
Processor Variant
选择ST系列芯片:
ST STM32F10x
Endian
mode选择:
Little
Stack align选择:
4 bytes
2007年12月
www.stmicroelectronics.com.cn/mcu
11STM32 32位微控制器
步骤五:Option设置(3):C/C++ Compile A
设置
Language
选择你使用的语言
选择使用语言的
规范
编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载
Plain‘char’is:
¾ Signed
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
明使用char定义的
变量为有符号的;
¾ Unsigned表明使用char定义
的变量为有符号的。
2007年12月
www.stmicroelectronics.com.cn/mcu
12STM32 32位微控制器
步骤五:Option设置(3):C/C++ Compile B
设置
Optimization
根据使用需求选择代码(Size)
或运行速度(speed)优化:
1.None ---
用于调试
2.Low
3. Medium
4. High ---
用于最终代码
2007年12月
www.stmicroelectronics.com.cn/mcu
13STM32 32位微控制器
步骤五:Option设置(3):C/C++ Compile C
设置
Preprocessor
设置*.h文件所在的位置
2007年12月
www.stmicroelectronics.com.cn/mcu
14STM32 32位微控制器
步骤五:Option设置(4):Linker A
设置:Output
开启C-SPY调试器
2007年12月
www.stmicroelectronics.com.cn/mcu
15STM32 32位微控制器
步骤五:Option设置(4):Linker B
设置
Extra Output
根据需求选择生成的目
标文件;
¾ 默认为IAR调试文件
simple-code。
打开“Generate the
object file”选项;
¾用于产生调试和目标
文件
2007年12月
www.stmicroelectronics.com.cn/mcu
16STM32 32位微控制器
步骤五:Option设置(4):Linker C
设置
Config
打开
Override default
选项:
¾如果在Flash中调试程序,
设置lnkarm_flash.xcl;
¾如果在RAM中调试程序,设
置lnkarm_RAM.xcl;
在进行该项设置时,请
确认电路板上的Boot0
和Boot1引脚的跳线连
接是否正确!
2007年12月
www.stmicroelectronics.com.cn/mcu
17STM32 32位微控制器
步骤五:Option设置(5):Debugger A
设置
Setup
选择使用的调试工具
开启该选择,可以
设定调试起始点。
2007年12月
www.stmicroelectronics.com.cn/mcu
18STM32 32位微控制器
步骤五:Option设置(5):Debugger B
设置
Download
1.已选择下载程序到Flash,
可选:
¾ Verify download
¾ Use flash loader(s)
(必须开启!)
2.已选择下载程序到RAM或使
用模拟器:无需选择。
3.如果程序已下载到Flash:
¾ 开启Suppress download
2007年12月
www.stmicroelectronics.com.cn/mcu
19STM32 32位微控制器
步骤六:保存Workspace
保存工程文件
到项目目录中
2007年12月
www.stmicroelectronics.com.cn/mcu
20STM32 32位微控制器
步骤七:编译项目
使用菜单Project-->Rebuild All编译项目
在Message窗口查看
编译结果;如果有错
误双击进行修改。
2007年12月
www.stmicroelectronics.com.cn/mcu
21STM32 32位微控制器
步骤八:调试(一)
使用菜单Project-->Debug或
单击Debug按钮进入调试状态
如果在Flash中调
试程序时,出现
下载进程对话框
2007年12月
www.stmicroelectronics.com.cn/mcu
22STM32 32位微控制器
步骤七:Debug(二)
使用菜单Debug
中的调试菜单或
工具条进行调试
2007年12月
www.stmicroelectronics.com.cn/mcu
23STM32 32位微控制器
谢 谢
如何使用�STM32的软件库�在IAR的EWARM下�进行应用开发
步骤一:创建项目目录,拷贝公共文件
步骤一:创建项目目录,拷贝公共文件(续)
步骤二:修改应用文件(一)
步骤二:修改应用文件(二)
步骤二:修改应用文件(三)
步骤三:创建一个新的项目
步骤四:添加文件
步骤五:Option设置(1)
步骤五:Option设置(2):General Option
步骤五:Option设置(3):C/C++ Compile A
步骤五:Option设置(3):C/C++ Compile B
步骤五:Option设置(3):C/C++ Compile C
步骤五:Option设置(4):Linker A
步骤五:Option设置(4):Linker B
步骤五:Option设置(4):Linker C
步骤五:Option设置(5):Debugger A
步骤五:Option设置(5):Debugger B
步骤六:保存Workspace
步骤七:编译项目
步骤八:调试(一)
步骤七:Debug(二)
谢 谢