亲爱的朋友们,我们又见面啦!这次更新的速度稍微快了点,因为楼主选择了利用难得的周末加班工作~既然说到了加班,突然想啰嗦一下下。
对于还是学生身份的小伙伴们来说,在踏入社会之前,一定要对加班这个词有一定的心理准备。因为,不论你以后是程序猿或攻城狮,或者是技术相关的工作,那么加班,就像你吃饭喝水WC一样平常。对于加班这个梗,想必电脑前有很多大牛会有相当深刻的体会,毕竟大家都是过来人,都经历过或是正在经历那些“美好”的岁月。手动泪奔~
然而,孟子曾经教育我们:“虽千万人,吾往矣”。作为一个年轻人,我们要学习孟老先生的气魄。知识的积累,就要靠不断的努力换来的。有句话怎么说来着,如果你觉得自己过得舒服了,那你就危险了。
鸡汤我自己干了,大家权当课前的开胃菜就好~下面正式进入正题~今天来给大家讲一下,如何使用官方提供的固件库,新建一个STM32工程。
上一讲中,我们详细分析了固件库(库函数)中的文件,那么我们到底要怎么去使用这些文件去新建我的第一个工程呢?带着上面的问题,楼主总结了三个步骤如下:
(1)建立工作目录和子目录,复制库文件
(2)使用Keil MDK,建立和配置工程文件
(3)建立main.c文件,编写代码
根据这三步,我们就能顺利的搭建起我的第一个工程啦。
下面详细解释每个步骤中都做了哪些工作:
(1)建立工作目录和子目录,复制库文件
首先我们在自己电脑中选择一个合适的位置,用于存放以后自己开发的STM32工程文件。在这里我选择存放在G:\STM32Project路径下。选择好项目文件夹需要存放的路径之后,在其下我们新建一个子目录MyFirstProject作为工我们第一个工程的总文件夹,也就是说所有的工程文件都将存放在这个文件夹下。
在G:\STM32Project\MyFirstProject这个路径下,也就是MyFirstProject工程文件夹内,我们再新建如下4个文件夹,用于存放不同类别的文件。这4个文件夹分别命名如下:Application、User、STM32Lib、Project、Doc。目录结构图如下所示:
接下来,我们需要向上述这些空文件夹中复制文件。
复制内核文件和驱动支持文件、启动文件。
将固件库中Libraries\CMSIS\CM3\CoreSupport目录下的两个文件core_cm3.c和core_cm3.h,复制到刚刚创建的MyFirstProject\STM32Lib\m3子目录中。
将固件库中Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x目录下的stm32f10x.h、system_stm32f10x.c、system_stm32f10x.h这三个文件也复制到MyFirstProject\STM32Lib\m3子目录中。
将固件库中Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm目录下的相应的启动代码复制到MyFirstProject\Application这个目录下。启动代码要根据自己所采用的具体芯片的型号来决定。这里楼主所使用的芯片是STM32F103ZET6,是属于高密度的芯片,因此应该复制startup_stm32f10x_hd.s这个启动文件。当程序开始执行之时,启动文件startup_stm32f10x_hd.s是程序“从零开始”的地方。
接下来复制设备驱动程序
将固件库中Libraries\STM32F10x_StdPeriph_Driver\inc目录下的全部文件复制到上图中的MyFirstProject\STM32Lib\inc目录下。
再将固件库中Libraries\STM32F10x_StdPeriph_Driver\src目录下的全部文件复制到上图中的MyFirstProject\STM32Lib\src目录下。
复制外设中断函数文件和固件库配置文件
复制固件库中的Project\STM32F10x_StdPeriph_Template目录下stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h这三个文件复制到MyFirstProject\Application目录中去。
经过以上3步之后,固件库的搬家工作我们就算是做完了。接下来该打开Keil MDK进行工程文件的建立和配置了。
(2)使用Keil MDK,建立和配置工程文件
------------------------我是萌萌哒分割线--------------------------
由于本节(2)(3)两步图示较多,因此在排版对比过后,楼主决定将(2)(3)拿出来,另成一帖。预知如何“使用Keil MDK,建立和配置工程文件”以及其后话,请摸下方文字链接,进入传送门~~~