文章目录
- 一、新建本地工程文件夹
- 二、新建工程
-
- [ 1、选择CPU型号](# 1、选择CPU型号)
- [ 2、在线添加库文件](# 2、在线添加库文件)
- [ 3、添加文件](# 3、添加文件)
- [ 4、配置魔术棒选项卡](# 4、配置魔术棒选项卡)
- 三、测试代码
一、新建本地工程文件夹
Listing:存放编译器编译时候产生的c/汇编/链接列表清单。
Output:存在编译产生的调试信息、hex文件、预览信息、封装库等。

二、新建工程

1、选择CPU型号

2、在线添加库文件

3、添加文件
startup_stm32f10x_hd.s
启动文件,系统上电后第一个运行的程序,由汇编编写,C编程用的比较少,可暂时不管,这个文件从固件库里面拷贝而来,由官方提供。
文件在这个目录:STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_hd.s。
stm32f10x.h
用户手动新建,用于存放寄存器映射的代码,暂时为空。
main.c
用户手动新建,用于存放main函数,暂时为空。

4、配置魔术棒选项卡
1)Target中选中微库" Use MicroLib",为的是在日后编写串口驱动的时候可以使用printf函数。

2)Output选项卡中把输出文件夹定位到我们工程目录下的output文件夹, 如果想在编译的过程中生成hex文件,那么那Create HEX File选项勾上。

3)在Listing选项卡中把输出文件夹定位到我们工程目录下的Listing文件夹。

三、测试代码
c
#include "stm32f10x.h"
int main(void)
{
// 打开 GPIOB 端口的时钟
*( unsigned int * )0x40021018 |= ( (1) << 3 );
// 配置IO口为输出
*( unsigned int * )0x40010C00 |= ( (1) << (4*0) );
// 控制 ODR 寄存器
*( unsigned int * )0x40010C0C &= ~(1<<0);
}
void SystemInit(void)
{
// 函数体为空,目的是为了骗过编译器不报错
}