keil软件新建工程
1. 双击打开KEIL4软件![1493396513107183.png FV3)6@R03Y]I)HVYB{2L2GQ.png](http://www.yahboom.com/Public/ueditor/php/upload/image/20170429/1493396513107183.png)
2. 点击project ---- new uvision project 新建工程

3. 命名:my test(根据自己的喜好命名) 点击保存后弹出下面的对话框
![1493396559773539.png QZPKV_WM(6H2C]D7OU{`EHB.png](/Public/ueditor/php/upload/image/20171014/1507916654138377.png)
4. 选择STMicroelectronics
![1493396592214384.png T]KT__[4BOZ4J4CCLRVN~N8.png](http://www.yahboom.com/Public/ueditor/php/upload/image/20170429/1493396592214384.png)
5. 选择对应的使用的STM芯片,我们用的平衡小车是STM32F103C8这个芯片,然后我们点击OK

6. 点击“是”

7. 点击红色框,设置编译工程环境

8.

9.
![1493396777607953.png ]3D~66HK0TBMIS]ASV1A$RA.png](/Public/ueditor/php/upload/image/20171014/1507916654953971.png)
10.

11.

12. μVision 4 允许用户根据目标硬件的实际情况对工程进行配置。通过点击目标工具栏图标(红色框)或单击菜单项Project->Options for Target,在弹出的Target 页面可指定目标硬件和所选择设备片内组件的相关参数,下图为本示例的相关设置。
![1493396832115282.png {}_Q{]AM`(J)09ZZ)D0DH8B.png](http://www.yahboom.com/Public/ueditor/php/upload/image/20170429/1493396832115282.png)
13. 点击C/C++按钮,输入红色框的内容。(在项目中使用stm32标准外设库(STM32F10x Standard Peripherals Library)的时候,我们会在项目的选项中预定义两个宏定义:USE_STDPERIPH_DRIVER, STM32F10X_MD)
这里说明一下上面宏定义是什么意思;
1、(USE_STDPERIPH_DRIVER)定义控制了是否在应用中启用外设驱动。我们使用标准外设库本来就为了方便控制外设,所以要添加这个定义,以启用外设驱动。
2、(STM32F10X_MD)每种类别都有所区别,例如sram或者flash或者外设数量不一样,所以stm32标准外设库必须根据你使用的处理器来做相应的预处理。
![1493396852131423.png ]2@DJ}}6SWC`PXX_`E)~ZTM.png](/Public/ueditor/php/upload/image/20171014/1507916655951303.png)
14. Include paths:这是Keil与编译器的一个相互通信的过程,准确的来说,是编译器读取Keil的配置ARM系列的有一些公司的库编译器,是与Keil的一些配置通信的。Cortex-M3编译器,读取上述的配置,并转换成自己的内编译器配置。

15.

16.

17.打开相对应文档

18.

19. 按照上述步骤完成了我们对工程的建立。
