新建STM32工程模板(标准库版本)
以STM32F303CBT6为例
第一步,新建工程文件夹
其中
1、CMSIS 用于放启动文件,内核文件及其他 .h 文件
2、divice 用于存放外设驱动,例如:
3、project 用于存放工程文件
4、STM32F3XX_stdperiph_Diver 用于存放外设源文件以及头文件
5、user 用于存放mian.c 和main.h
第二步、新建工程
1、new project后保存路径为project文件夹,选型选至最底层,取消在线添加库文件,手动添加
2、点魔术棒右边三个方形图标添加组文件夹和及其文件
记得包含 .s文件,不然会报错。
3、包含头文件路径
点击编译,会报一大堆错误,是因为没有包含头文件路径,在魔术板的C/C++选项卡里有
点击右边 … 可以添加头文件路径
4、添加宏定义,告诉编译器我要用这个标准库;因为这个库可以由很多F3的芯片使用,所以要指定是哪个芯片,毕竟芯片与芯片之间也许他们的中断向量表不同。
打开stm32f30x.h文件,找到73行:
找到后,点击魔术板—C/C++的Define栏,粘贴进去两个宏定义,两个宏定义用英文输入的逗号“ , ”隔开,这里以F303CBT6为例,则选择STM32F303xC,主要要根据自己的芯片来选择:
再编译就没有问题了。
3、我在新建工程时遇到的问题
1 无添加宏定义
若无添加宏定义,编译器会报一大堆警告,例如warning:
#223-D: function “assert_param” declared implicitly
2 无添加启动文件
若无添加启动文件,会报错,error: L6236E: No section matches selector - no section to be FIRST/LAST.
新建STM32工程模板(标准库版本)
以STM32F303CBT6为例
第一步,新建工程文件夹
其中
1、CMSIS 用于放启动文件,内核文件及其他 .h 文件
2、divice 用于存放外设驱动,例如:
3、project 用于存放工程文件
4、STM32F3XX_stdperiph_Diver 用于存放外设源文件以及头文件
5、user 用于存放mian.c 和main.h
第二步、新建工程
1、new project后保存路径为project文件夹,选型选至最底层,取消在线添加库文件,手动添加
2、点魔术棒右边三个方形图标添加组文件夹和及其文件
记得包含 .s文件,不然会报错。
3、包含头文件路径
点击编译,会报一大堆错误,是因为没有包含头文件路径,在魔术板的C/C++选项卡里有
点击右边 … 可以添加头文件路径
4、添加宏定义,告诉编译器我要用这个标准库;因为这个库可以由很多F3的芯片使用,所以要指定是哪个芯片,毕竟芯片与芯片之间也许他们的中断向量表不同。
打开stm32f30x.h文件,找到73行:
找到后,点击魔术板—C/C++的Define栏,粘贴进去两个宏定义,两个宏定义用英文输入的逗号“ , ”隔开,这里以F303CBT6为例,则选择STM32F303xC,主要要根据自己的芯片来选择:
再编译就没有问题了。
3、我在新建工程时遇到的问题
1 无添加宏定义
若无添加宏定义,编译器会报一大堆警告,例如warning:
#223-D: function “assert_param” declared implicitly
2 无添加启动文件
若无添加启动文件,会报错,error: L6236E: No section matches selector - no section to be FIRST/LAST.
举报