我打算给它换一个IDE,换一种新建项目的方法。嗯嗯,我是这样想的,也是这么做的。
我喜欢使用Visual Studio,这是一个强大的IDE,加上Visual Assist X的代码提示、代码高亮等等功能的辅助,用来开发C/C++工程简直棒极了!
既然如此,接下来我就介绍如何使用Visual Studio+Visual Assist X+MDK构建STM32开发环境。
首先,下载Visual Studio和Visual Assist X,MDK,这个很简单。不过,为了我们能够较为方便地使用STM32的各种功能,大家还是再下载一个Standard Peripheral Library吧,目前最新版本为3.5,在 ST官网 http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1743/PF257890 可以下载到,不过这个链接有可能失效,大家还是Google一下吧。
接下来,在安装MDK的时候我们要记住MDK的安装路径,因为里面有我们需要的编译器。
例如,我的MDK是安装在
C:\STM32\Keil
那么,MDK的编译器就坐落在
C:\STM32\Keil\ARM\ARMCC\bin
好,第一步,建立专门的目录
好的,首先,我们先要确定一个项目位置,用来专门存放STM32项目,例如,我把它定为:
D:\STM32
然后,我们把Standard Peripheral Library里的
Libraries
D:\STM32
好,第二步,添加路径以使Visual Assist X正常工作。
好的,新建好项目以后,点击 视图 - 属性管理器,然后 双击 Win32 - Microsoft.Cpp.Win32.user - 进入通用属性 - VC++目录,将以下三个文件夹加入包含目录:
D:\STM32\Libraries\CMSIS\CM3\CoreSupport D:\STM32\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x D:\STM32\Libraries\STM32F10x_StdPeriph_Driver\inc
将上面三个目录和这个目录加入源代码目录:
D:\STM32\Libraries\STM32F10x_StdPeriph_Driver\src
这样,Visual Assist X就能正常工作了!(记得启用它的所有功能噢,不然体验不到它所带来的“快”感的)
以上要做的是一次性的事情,不过以下要做的是每一次新建项目都要做的噢。
好,第三步,修改项目设置、添加文件
在左边的项目资源管理器里选中项目,右键属性-配置属性-生成事件-预生成事件
修改命令行为:
echo cleanning ... cd "$(OutDir)" if exist objs.txt del objs.txt *.o *.axf
命令行:
echo Linking ... set path=C:\STM32\Keil\ARM\ARMCC\bin;%path% set LibPath=..\..\Libraries set IncludeParam=-I"%LibPath%\CMSIS\CM3\CoreSupport" set IncludeParam=-I"%LibPath%\CMSIS\CM3\DeviceSupport\ST\STM32F10x" %IncludeParam% set IncludeParam=-I"%LibPath%\STM32F10x_StdPeriph_Driver\inc" %IncludeParam% set IncludeParam=-I"%LibPath%\STM32F10x_StdPeriph_Driver\src" %IncludeParam% cd "$(OutDir)" armlink --output "__Image.axf" --ro-base 0x08000000 --entry 0x08000000 --rw-base 0x20000000 --entry Reset_Handler --first __Vectors --via "objs.txt" fromelf "__Image.axf" --i32 --output "$(TargetPath).hex" echo output on $(TargetPath).hex copy "$(TargetPath).hex" D:\z.hex
$(TargetPath)
添加一个main.cpp,选中它,右键-属性,将常规 - 项类型 修改为 自定义生成工具,点击应用。
将自定义生产工具 - 常规里的各个项目修改为(复制粘贴就可以了) :
命令行:
Building %(Filename)%(Extension) set path=C:\STM32\Keil\ARM\ARMCC\bin;%path% set LibPath=..\..\Libraries set IncludeParam=-I"%LibPath%\CMSIS\CM3\CoreSupport" set IncludeParam=-I"%LibPath%\CMSIS\CM3\DeviceSupport\ST\STM32F10x" %IncludeParam% set IncludeParam=-I"%LibPath%\STM32F10x_StdPeriph_Driver\inc" %IncludeParam% set IncludeParam=-I"%LibPath%\STM32F10x_StdPeriph_Driver\src" %IncludeParam% armcc "%(Identity)" -c -o "$(OutDir)%(Filename).o" %IncludeParam% --cpu Cortex-M3 -O3 -Otime echo "$(OutDir)%(Filename).o">>"$(OutDir)objs.txt"
输出:
$(OutDir)%(Filename).o;$(OutDir)objs.txt
好了,一切OK,你可以尽情地享受Visual Studio集成环境所带来的无限好处了:
精准、快速的代码提示;
令人心旷神怡的代码高亮;
按F7就可以马上编译;
如果你喜欢,再在命令行里加一两句话,按F7就可以自动编程咯!编写一个简单的程序,然后按F7编译了。生成的文件会存放在 (解决方案目录\Debug)里面。
好了,教程到此结束了,祝大家STM32之旅愉快^_^