完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用keil软件创建一个STM32工程
创建一个STM32F429IGT6的工程,其他型号的单片机也大同小异。因为最近开始学习STM32F429IGT6单片机,所以以此为例,在看此文章之前需要有三个前提:1、安装keil uVision5软件。2、安装好对应的器件的pack包。3、下载一个对应的标准库软件包。 一、新建工程文件夹目录 新建一个文件夹,并命名为example,当然其他的名字也OK。并在此文件夹下建立以下几个单独的文件夹。分别是CORE、FWLIB、HARDWARE、OBJ、SYSTEM、USER,如下图所示。 二、建立keil工程 1、打开keil uVision5软件,点击菜单:project---》 New uVision Project.。。选择进入USER文件夹,输入工程文件名example,点击保存。 2、随后会跳转出来挑选器件的页面。 选择 STM32F429IGTx型号。 (STMicroelectronics--》STM32F4 Series--》STM32F429--》STM32F429IG--》STM32F429IGTx)。如果你的芯片是其他型号,则选择相应芯片型号。(当然只有安装对应的器件pack才会显示该内容,加油!)也可以直接从Search输入自己的型号,软件将自动给你定位到位置,再进行选中就可以了。 3、选中后点击确认。将会跳转到下一个页面,如下图,我们不用管它直接关掉就行。 4、弄到这里,我们就建成了一个基本的工程框架,如下图。 5、并且,我们的USER文件夹下已经有了如下几个文件 三、固件的复制(这一步贼麻烦,朋友请顶住!) 1、将STM32CubeF4 包下的Src,Inc 文件夹复制到我们刚才建立的 FWLAB文件夹下面。 (路径:STM32Cube_FW_F4_V1.11.0DriversSTM32F4xx_HAL_Driver) 2、将文件 startup_stm32f429xx.s 复制到CORE目录下面 (路径:STM32Cube_FW_F4_V1.11.0DriversCMSISDeviceSTSTM32F4xxSourceTemplatesarm)。 将文件cmsis_armcc.h, core_cm4.h,core_cmFunc.h,core_cmInstr.h ,core_cmSimd.h 同样复制到CORE目录下面 (路径:STM32Cube_FW_F4_V1.11.0DriversCMSISInclude)。 3、将 stm32f4xx.h,system_stm32f4xx.h 和 stm32f429xx.h3 个文件 复制到 USER目录下面 。 (路径:STM32Cube_FW_F4_V1.11.0DriversCMSISDeviceSTSTM32F4xxInclude) 将stm32f4xx_it.h,stm32f4xx_hal_conf.h 和main.h 3个头文件复制到USER目录下面。 (路径:STM32Cube_FW_F4_V1.11.0ProjectsSTM32F429I-DiscoveryTemplatesInc) 将 system_stm32f4xx.c, stm32f4xx_it.c, stm32f4xx_hal_msp.c 和 main.c 四个文件同样复制到 USER 目录下面。 (路径:STM32Cube_FW_F4_V1.11.0ProjectsSTM32F429I-DiscoveryTemplatesSrc) 此时我们文件夹下的变化如下,多出了如下文件 四、把文件添加到工程里 1、点击命令File Extensions,打开manage project items操作面板。 2、将target 1的名字修改为example,然后在Groups一栏删除Source Group1。在Groups里,建立五个 Groups:USER,SYSTEM,CORE,HARDWARE和 HALLIB。然后点击 OK,可以看到 我们的 Target 名字以及 Groups情况如下图 所示: 3、然后我们往Groups文件里添加文件。 首先是HALLIB,然后点击右边的 Add Files,定位到我们刚才建立的目录HALLIBSrc下面,将里面文件选中,然后点击Add,然后 Close。就可以进行添加。 Src下面的文件并不是每一个都是必须添加的,根据我们自己工程的需要进行添加,添加的太多会使工程变大,当然编译时花费的时间也会更长。其中在本此实验中stm32f4xx_hal_dsc.c , stm32f4xx_hal_iptim.c 和 stm32f4xx_hal_msp_template.c 三个文件不需要引入工程。因为他与本实验芯片STM32F429IGT6不匹配。 此次试验将除以上三个外的文件全都添加了进去。(后面我编译的时候,真的,慢的一批)可以看到 Files 列表下面包含我们添加的文件。 4、USER 分组下面需要添加的文件 USER 目录 下面所有的.c 文件:main.c,stm32f4xx_hal_msp.c,stm32f4xx_it.c 和 system_stm32f4xx.c 四个 文件。 5、使用同样的方法,选中 CORE 分组,点击 Add Files 按钮,添加需要的文件到 CORE 分组(此次添加时,有些文件显示不出来,是文件类型的原因,选择全兼容类型)。 添加完成后,点击确定,回到工程页面,如下图所示,我们可以看到这些文件已经添加到工程里面。 6、设置路径,点击主界面的魔术棒命令进入工程选项编辑器 选中 C/C++ 栏,进入Include Paths的设置 新建添加如下工程目录 7、添加预定义宏STM32F10X_HD,USE_STDPERIPH_DRIVER。因为固件库的很多.C文件会引用这两个宏定义,如果不做定义的话,编译会报错。具体这两个定义用来做什么,暂时先不用管它,以后再做分析。 8、选择“Output”选项,将Create HEX_File前的对勾打上,然后选择下面的“Select folder for objects…”然后选择目录为我们上面新建的 OBJ 目录,然后依次点击 OK 即可。操作过程如下图 五、编译 1、点击全部编译按钮进行编译。如下图 2、编译的结果如下没有错误,没有警告(编译真滴很慢)。 六、补充 1、朋友你可能会问HARDWARE文件夹为什么没有用到。答:HARDWARE文件夹放置我们自己编写的文件库,因为没有写,所以没有用到,但是建立HARDWARE在之后使用的时候会方便很多。 2、朋友你可能会问SYSTEM文件夹为什么没有用到。答:SYSTEM文件夹一般放置系统时钟初始化,串口打印,延时函数等函数库,使用起来会更加方便。如果你需要请从其他工程自行复制到对应文件夹,并记得添加路径。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1760 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1613 浏览 1 评论
1058 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
721 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1670 浏览 2 评论
1932浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
723浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
564浏览 3评论
590浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
548浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 12:22 , Processed in 0.800475 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号