KEIL5移植标准库到新建的工程

方法总结学习自b站野火开发板视频:

【入门篇】11-新建工程—固件库版本(初学者必须认认真真看)_哔哩哔哩_bilibili

手动配置步骤极其复杂,可直接使用野火或正点原子开发板资源中的工程模板即可,工程模板中已跳过下面所有配置步骤,使用时只需调整自己所用芯片型号和仿真器类型即可。

工程模板链接:https://download.csdn.net/download/wxyczhyza/87663765

step1 建立工程文件夹

1. 新建工程文件夹【Fwlib-template】

2. 在文件夹内新建四个文件夹:

Doc:用于存放项目说明文档,比如:readme.txt 

Libraries:用于存放库文件,比如:标准库,HAL库

Project:用于存放Keil5的项目文件。

User:用于存放用户自定义的代码文件,比如main.c。

扫描二维码关注公众号,回复: 15329223 查看本文章

step2 新建工程

1. 点击keil5【Project】菜单的【】新建工程,命名为【test】,将工程存放到step1中的project文件夹内。

 2. 在弹出的窗口内选择stm32对应的芯片(如果找不到stm32的芯片,需要安装芯片包),我用的是stm32f103zet,所以选择的是【stm32f103ze】

如果没有芯片包的话可到官网下载:http://www.keil.com/dd2/pack/

3. 关闭弹出的环境管理窗口。

 4. 打开项目管理按钮,添加下面几个group:STARTUP、CMSIS、FWLIB、USER、DOC

 step3 复制标准库到工程

1. 将固件库的libraries中的所有文件复制到自建工程的libraries文件夹内。

step4 简化文件

为了简化工程中的文件结构和简化调用头文件时include的路径,将标准库中不必要的说明文档删除,同时调整各个文件的路径。

1. 进入【fwlib-template》libraries》CMSIS】路径,删除除【CM3】外的其他文件。

 2. 进入【Fwlib-template\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x】文件夹,将文件夹内的所有文件复制到【Fwlib-template\Libraries\CMSIS\】路径。

 3. 同样的,将【CMSIS》CM3》CoreSupport】目录的所有文件复制到【CMSIS】目录下。

 4. 复制完成后,CMSIS目录下的文件如下(红圈内为前两部复制过来的文件):

 5. 由于【CM3】的文件已经拷到CMSIS目录,所以可以直接删除掉【CM3】文件夹,删除后,CMSIS文件夹内容如下:

6. 进入startup,将其他IDE对应的启动文件删掉。由于我用的keil5,所以保留【arm】文件夹。

 7. 进入上一步的【arm】文件夹,将里面所有内容复制到【startup】目录。

 8. 返回到startup目录,因为【arm】文件夹内的内容已拷贝出来了,所以将【arm】文件夹也删掉。删掉后,【startup】目录内文件如下:

step4 配置User文件夹

1. 将标准固件库一个项目文件夹(Projects中的任意一个示例)的以下三个文件复制到自建工程的【user】文件夹内 。

 2. 在自建工程的【user】文件夹内新建main.c文件,文件内容如下:

int main(void)
{
	
}

step5 工程目录里面的启动文件、c文件配置到keil5各个group内

这一步是将上一个部复制的各个文件包含到keil5工程各个group内,以便程序查找。

1. 双击keil5软件工程的【startup】分组,打开对话框,

并将【\Fwlib-template\Libraries\CMSIS\startup】内对应的启动文件复制到【startup】group。

 我用的是后缀为【hd.s】的启动文件。

2. 将【Fwlib-template\Libraries\CMSIS】文件夹中的.c文件全部添加到CMSIS分组:

3. 将【Fwlib-template\Libraries\STM32F10x_StdPeriph_Driver\src】目录中的所有c文件添加到FMLIB分组:

 4. 将【Fwlib-template\User】内的.c文件配置到USER分组:

 5. 将【Fwlib-template\Doc】内的readme.txt配置到DOC分组:

 step6 将工程目录包含h文件的路径添加到c/c++路径

1. 打开【options  for target】工具的【c/c++】选项卡,单击其中【Include Paths】的路径选择按钮:

 2. 将所有h文件的上一级文件夹添加到【Include Paths】中,具体有:

【\Fwlib-template\Libraries\CMSIS】

【\Fwlib-template\Libraries\STM32F10x_StdPeriph_Driver\inc】

【\Fwlib-template\User】

step7 包含宏定义

1. 为了避免每次调用【stm32f10x_conf.h】,将宏【USE_STDPERIPH_DRIVER】添加到预定义的宏中。

 2. 将自己用的stm32的版本也添加到预定义的宏:

注意,两个宏之间要用英文逗号分隔 

 step8 配置工程编译选项

1. 打开【options for target】工具的【device】选项卡,选择自己所用的芯片型号。 

2. 打开【target】选项卡,选择v5编译器,并勾选【Use MicroLIB】(以便使用printf等嵌入式开发所需要的函数库)。

3. 打开【output】选项卡,按如下设置:

①、选择编译文件输出路径,可默认。

②、选择编译生成哪些文件,全部勾选。

③、设置生成的可执行文件的文件名。

 4. 配置仿真器参数。

① 打开【debug】选项卡,选择自己所使用的的仿真器类型:

 ② 单击右侧的【settings】,在打开的窗口中分别按照红圈选项进行设置。

5. 打开【utilities】选项卡,勾选【Usse Debug Driver】 

 至此,新建工程并移植标准固件库已完成。

猜你喜欢

转载自blog.csdn.net/wxyczhyza/article/details/129991989