OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3928|回复: 0

新手总结(新建工程——库函数版本)

[复制链接]

0

主题

0

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2020-10-20
在线时间
3 小时
发表于 2020-11-8 13:23:53 | 显示全部楼层 |阅读模式
本帖最后由 YSL2003 于 2020-11-8 13:26 编辑

Hello!大家好,刚刚接触STM32两周,学的有些迷迷糊糊的,今天就先总结一下如何新建一个库函数版本的工程模板吧。如果有错误,希望大家能够帮忙指出。
首先,新建一个工程模板大概分为三大步:准备工作,从固件库中复制文件,在keil中进行相关设置与编译。


       Part 1 准备工作
            1,新建文件夹:建议选择一个固定的盘固定的位置存放所有的工程。这里命名为Template,是我们的根目录。
            2,Template下面新建5个文件夹,CORE,FWLIB,OBJ,SYSTEM,USER
            3,  打开keil,Project->New Uvision Project 定位到USER,命名为Template。(使工程文件全部保存到USER中)
            4,此时出现选择device界面(根据自身芯片型号选择)点击OK
            5,弹出Manage Run-Time Environment 初学者不需要设置,直接关闭即可。
        @ 注意此时USER中各文件含义
           {Debugconfig 储存调试过程中出现的文件 ;
            Listings 与Objects 是MDK自动生成的文件夹,用于存放编译过程中产生的中间文件,(将这两个删除后新建OBJ存放编译中间文件) ;
           Template.uvoplx是很关键的工程文件 (MDK生成的工程文件以.uvprojx为后缀)}


       Part 2 从固件库中复制文件
            1,将源码文件复制到工程目录文件夹下面(从官方固件库包复制)。
               【1】复制源码文件->FWLIB
                       STM32参考资料 ——> STM32F4xx固件库 ——> STM32F4_DSP_   ——> Libraries ——>STM32F4xx_StdPeriph_Driver
                       将src(.c文件)与inc(.h文件)文件夹copy到新建的FWLIB下面
               【2】复制相关启动文件->CORE

                       程序源码——>STM32启动文件
                       将startup_stm32f40_41xxx.s copy到CORE下面
                       STM32F4xx_DSP_  ——>Libraries——>CMSIS——>Include
                       将如图4个复制到CORE下面
                      屏幕截图 2020-11-07 145355.png   
                      此时CORE下面的文件如图
                      屏幕截图 2020-11-07 145522.png
              【3】复制工程模板所需的其他头文件与源文件——>USER
                      STM32F4xx_DSP_StdPeriph_Lib_V1.4.0——>Libraries——>CMSIS——>Device——>ST——>STM32F4xx——>Include
                      将里面的两个头文件复制到USER下面(很重要)
                      STM32F4xx_DSP_StdPeriph_Lib_V1.4.0——>roject——>STM32F4xx_StdPeriph_Templates
                      下图的5个copy到USER下面
                      屏幕截图 2020-11-07 185150.png
                     此时USER如下图
                      屏幕截图 2020-11-07 185404.png
      Part 3 在keil中进行相关设置与编译
          1,源文件加入工程中
               keil中,右键Target 1 ——>Manage Project Items
               作如下修改:将Project Targets中Target改为Template。
                                   在Group中删掉Source Group 1
                                   建立三个Groups:USER ,CORE,FWLIB
                                   向Group中加文件:选择一个Group,点击Add Fils。只添加.c文件(CORE中加startup_stm32f40_41xxx.s即启动文件)
                                   将FWLIB中的stm32f4xx_fmc.c删掉
         2,设置头文件存放路径(告诉MDK到哪里寻找包含了的头文件)如下图
             屏幕截图 2020-11-08 100433.png
         屏幕截图 2020-11-07 213359.png
        3,添加全局宏定义标识符 如图
             屏幕截图 2020-11-08 101040.png
        4,选择编译中间文件编译后存放目录——>OBJ如下图
             屏幕截图 2020-11-08 101345.png 屏幕截图 2020-11-08 101245.png
             Creat HEX File:编译后生成HEX文件
             Browse Information:方便查看工程中一些函数变量定义
        5,将main.c文件中的内容替换为下图(不是main函数)——>从库函数版本\实验0 中的README.txt 中复制
             屏幕截图 2020-11-08 101926.png
       6,将USER下面的stm32f4xx_it.c文件清空
       7,编译确保无错无警告
       8,改变系统时钟的配置,使其符合硬件,如下图
             屏幕截图 2020-11-08 103423.png
此时工程模板基本建立完成,还需引入SYSTEM文件夹
   【1】打开库函数版的任一实验,找到SYSTEM文件夹
   【2】将SYSTEM文件夹与下面的3个子文件夹都复制到工程根目录中
   【3】将3个目录下的源文件加入工程中,同时将头文件路径加入到PATH中 如图
            屏幕截图 2020-11-08 104529.png
  【4】再次编译保证无错无警告
此时得到的即为完整的工程模板

还有一个小的知识点:源文件:.c与.h
                                头文件:.h

keil 截屏.PNG
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-29 23:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表