
下载st官方固件库 搜索并下载固件库 ![]() 使用固件库创建工程模版(以后不用每次配置了) 新建一个“工程模版”文件夹,里边新建三个文件夹 工程模板 |----Project 自己编写的代码把下载的库中的\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template下的 main.c stm32f10x_conf.h stm32f10x_it.c stm32f10x_it.h 复制进来 |----Libraries 下载的库文件中的同名文件拷贝过来的 |----Output 存放编译完成后的机器码之类的 新建工程 然后打开keil5程序,Project -> New uvision Project... 目录选择为刚才新建的project目录,点保存会出现一个选择芯片的页面,选择所要用的芯片。 我所需芯片在STMicroelectronics -> STM32F1 Series -> STM32F103 -> STM32F103C 下 找到点击,然后OK。 没有的话,先不新建工程,先在keil主面板上点击打开pack installer ![]() 左侧 Device选项卡下搜索STM32F103,在出现的列表中选中STM32F103C8(根据自己的板子选) 右侧packs选项卡中,列出了Device Specific中有两个Keil::....点击安装这两个包。装好后退出来重新新建工程就可以看到STMicroelectronics下自己的板子的包了。 工程配置 添加工程组和组文件 ![]() 在Groups中创建分组: User 自己开发的程序代码 Deiver 管理STM32外设的驱动 CM3 管理CMSIS内核驱动 Startup 管理MDK开发环境下与芯片相对应的启动代码 在Files中加入文件 USER:project中的main.c\stm32f10x_it.c Driver:Libraries\STM32F10x_StdPeriph_Driver\src下的所有.c文件 CM3 ![]() Startup:Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md.s (这个目录下的一堆.s文件对应的是不同容量的芯片,stm32f103c8对应的是md后缀的) target选项配置 ![]() 1.Target选项卡中ARM Compiler选择版本5的编译器 2.Output选项卡将Create HEX File选上,output路径选择为刚才创建的output文件夹d 3.C/C++(4C6)选项卡,在preprocessor Symbols的define中写两个宏定义: USE_STDPERIPH_DRIVER,STM32F10X_MD(中间是逗号),第一个宏定义是说使用固件库进行开发,第二个说的是芯片容量,分为LD,MD,HD,对于stm32f103c8来说是MD。 然后在include Path处,点击后面的三个点,把Libraries文件夹中的路径配上,分别为 Libraries\CMSIS\CM3\CoreSupport Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm Libraries\STM32F10x_StdPeriph_Driver\inc Libraries\STM32F10x_StdPeriph_Driver\src Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x ![]() 4. debug选项卡右上角的debugger选择为ST-Link Debugger 接线正确的话,插上stlink后点settings会在SW Device中出现stlink设备 ![]() ![]() 测试 打开main.c文件只留空循环 ![]() 运行程序 ![]() 0error且生成了target就是正确的,否则排除error 使用STlink烧录程序 stm32boot0置1 boot0是1的时候可以调试,0的时候程序运行 对应引脚连接 stm32-STlink 3.3v-3.3v swio-gnd swclk-swdio gnd-swclk ———————————————— 版权声明:qqq2018 如有侵权请联系删除 |