使用Visual Studio + Visual Assist X + MDK(编译器) 构建STM32开发环境
2013-10-12 12:36
369 查看
自己有一块STM32103的开发小板,想学学STM32开发,在网上搜搜入门教程,却发现,这些教程真是太令人恶心了!他们要每一次新建一个项目都要Copy一个比整个源代码大出几千倍的Standard Peripheral Library,每一次编写代码都需要使用老掉牙的、代码提示功能不全的IDE,每一次......这叫人怎么能忍受得了?
我打算给它换一个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
(补充:这个是ARM的编译器,如果你有DS-5的编译器,当然也可以用,但是我推荐使用这个,因为这个最简单,而且也不赖。)
好,第一步,建立专门的目录
好的,首先,我们先要确定一个项目位置,用来专门存放STM32项目,例如,我把它定为:
D:\STM32
然后,我们把Standard Peripheral Library里的
Libraries
文件夹复制到
D:\STM32
接着,打开Visual Studio,在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
以后每新建一个文件都这样设置一次。(新建.s等等汇编文件也可以用这个命令行,因为armcc也可以编译.s)。
好了,一切OK,你可以尽情地享受Visual Studio集成环境所带来的无限好处了:
精准、快速的代码提示;
令人心旷神怡的代码高亮;
按F7就可以马上编译;
如果你喜欢,再在命令行里加一两句话,按F7就可以自动编程咯!编写一个简单的程序,然后按F7编译了。生成的文件会存放在 (解决方案目录\Debug)里面。
好了,教程到此结束了,祝大家STM32之旅愉快^_^
相关文章推荐
- 在团队开发环境中使用 Visual Studio .NET(一)
- 如何使用vscode [Visual Studio Code]开发工具来搭建一套TypeScript的开发环境
- 使用Xamarin+Visual Studio搭建Android开发环境
- 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(八)-- 多环境开发
- 在团队开发环境中使用 Visual Studio.NET
- 在团队开发环境中使用 Visual Studio .NET (二)
- 在团队开发环境中使用 Visual Studio .NET (ST:微软)
- 使用Visual Studio Code + Node.js搭建TypeScript开发环境
- 在团队开发环境中使用 Visual Studio .NET
- Nodejs创建Express4项目以及使用Visual Studio Code编辑器配置Nodejs开发环境
- Android NDK开发 Android Studio使用新的Gradle构建工具配置NDK环境(一)
- 使用Visual Studio Code搭建TypeScript开发环境
- 在团队开发环境中使用 Visual Studio .NET --- Mark White 来自Microsoft Corporation
- 在团队开发环境中使用 Visual Studio .NET
- 【学习笔记】使用Visual Studio Code来开发TypeScript的环境记事
- 《算法4》 Windows/Mac环境下使用Visual Studio Code和Orcale JDK1.8开发环境搭建
- Windows/Mac平台下Visual Studio Code C++开发环境搭建
- 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(一)-- 起步
- 使开发更便捷——Visual Studio 使用技巧——快捷键
- NodeJs开发环境搭建之Visual Studio Code(二)