day04:新建工程(如果新建工程报错就看这篇文章)
打开Keil5,Project - New uVision Project... - 输入工程名称 - 保存
根据自己的板子型号选择,比如板子型号是:STM32F103RCT6,点OK


弹出下面的对话框:不知道是什么东西,先省略直接取消

工程新建好了:

新建一个文件,保存为main.c,右键Source Group 1,Add Existing File..... , 选择main.c,Add,

在main.c中写入下面的代码:

保存,编译

恭喜,报错:

上网查资料:链接:https://blog.csdn.net/fengcq126/article/details/41477029


因为我没有使用这个编译器,所以没办法操作,不过该网友解释:Use CMSIS,想想刚刚操作的时候弹出一个界面,因为不知道是什么,所以直接关掉了,
有CMSIS选项,删除工程,重新新建工程,点击"CMSIS"

勾上下面的复选框,点OK

重新写入下面的代码:

点击编译,不会报错了,而且生成了一些文件:其中包含了core_cm3.h,这个文件就是刚刚缺失的文件(解释:因为F103系列使用的是ARM的M3内核)

拷贝core_cm3.h这个文件,粘贴到报错的目录中:

因为编译器编译的时候会找 stm32f10x.h 这个文件,而这个文件中也引用了core_cm3.h这个文件,因为是引号""(表示从和main.c文件同级目录下找),
<>表示从编译器安装目录下找。我们将core_cm3.h拷贝到安装目录:D:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include下即可,下次新建
工程的时候就不要在CMSIS中打钩复选框也可以运行代码,因为编译器会直接从安装目录下找到STM32的内核文件core_cm3.h

这样:

删除工程,重新新建工程,这次不要打钩复选框,试试可不可以正常编译:

这次又报错,缺失的是另外一个文件,这次是从core_cm3.h这个文件中引用的,删除文件,重新新建工程:这次把CMSIS中的复选框打上,
编译,生成文件:这次看core_cm3.h这个文件包含了很多文件,main.c下的文件全部拷贝到这个目录下:
D:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include


删除工程,重新新建工程:这次不要在CMSIS中打上复选框!!!!!
编译:不再报错,以后新建工程都不需要选择CMSIS的复选框就可以正常编译,因为文件已经拷贝到了编译器的安装目录下
编译的时候直接在该目录下引用文件

======================================== 完 =====================================================

浙公网安备 33010602011771号