stm32开发 - 远离 Keil uVision, 回到 Visual Studio
学了8051单片机, 学了MSP430系列, 终于开始步入正轨, 开始学习 stm32(ARM Cortex-M3)系列微处理器~
学51用Keil uVision开发环境, 提一下Keil uVision在我眼中是个什么贷吧(我是说代码编辑器,因为大部分是在写代码):
1.对中文支持非常不好, 经常乱码
2.代码高亮简直一坨X
3.结构体成员/指针没有快速提示信息
4.函数调用没有参数提示
5.不想再说下去...
插一句:我是学过电脑编程的, 大量使用过VisualStudio系列, 对她们的方便深有体会, 所以我才会对Keil嗤之以鼻~
人家VC6.0已经是98年,上个世纪的产品, 你TM怎么跟人家完全不是一个级别的..............................
我忍气吞声, 终于熬过了那一段完全使用uVision的艰苦时间~~~
开始学MSP430, 使用IAR Embedded Workbench, 这个跟Keil没两样, 不好意思再说, 不过有一点, IAR可以配置外部编辑器,
还好她有自知之明... 度过了一段使用IAR+VS2012的时间~
好了, 现在开始了解STM32, 原来编辑器又是KeiluVision这货(也可以使用IAR,那又怎么样.........), 我无话可说~
还好, 有一点我很欣慰, 人家stm32 官方提供的固件库是基于ANSI-C语言写的, 其代码是多个编译器平台均可使用的~
我的意思是说, 这样的话, stm32的代码结构, 也可以由win32平台的VisualStudio智能感知识别出来了, 不至于编辑时报语法错误~
下面截几张图吧, 是我在VC6.0中编辑代码的截图, 大家一看就可以知道VC6.0并不是真的到了该抛弃的年龄了....:
如果以前在学校使用VC6.0, 没有发现其这么强大的功能的, 赶快试一试吧~
1.变量名自动补全

2.多种颜色区分函数变量宏定义.png

3.函数调用提示.png
4.宏定义列表显示.png

5.结构体成员提示.png

6.快速转到某函数处.png

7.清晰的内定义展示.png

8.一键转到函数变量宏定义定义处.png

当然, VC6.0编辑器的优点远不止比KeiluVision多这么多, 用得多了就会真的觉得怎样写起代码来才有效率~
好了, 关于为什么要不使用Keil的编辑器, 取而代之的是VC6.0的代码编辑器原因就是这些了, 已经足够了吧?
另外,需要说明的是: 以上我说的只是针对于代码编写工作而言, 不涉及到代码的编译与程序的烧写, 以及程序的调试工作~
当然, 大家可能注意到了, 要在VC中写代码, 当然还是要创建一个项目的, 不然, 智能感知将不会工作...
要创建的VC6的项目就是从Keil的项目那样的就好了, 目录一样, 包含的库一样, 项目源代码结构一样~
呵呵, 确实有点复杂, 每建一个Keil项目就要另外建一个VC6.0的工程, 麻烦了~
别担心, 我花了时间写了个几十KB的程序解决了从Keil uVision项目文件到VC6.0项目文件的转换工作, 只要一运行程序,输入
相应的参数, 就可以生成和Keil的工程一模一样的项目结构了.
下面还是来一张图吧:

生成的项目文件用VC6.0打开后,大家应该可以看到VC6.0和Keil具有完全一样的目录树结构:

关于转换工具 keil2vs.exe:
我今天写的一个工具, 用VC6.0+C语言+控制台的方式简单写成, 程序内部使用了开源的TinyXml库来解析KeiluVision的项目文件.
转换工作我只在KeiluVision4上面测试过, uV3和uV2都没作测试, 不知道能否正常工作~
程序及源码下载: http://blog.twofei.com/files/511/keil2vs.7z
女孩不哭 @ 2013-10-29 @ http://www.cnblogs.com/nbsofer/p/keil2vs.html
stm32开发 - 远离 Keil uVision, 回到 Visual Studio的更多相关文章
- Xamarin+Prism开发详解三:Visual studio 2017 RC初体验
Visual studio 2017 RC出来一段时间了,最近有时间就想安装试试,随带分享一下安装使用体验. 1,卸载visual studio 2015 虽然可以同时安装visual studio ...
- 【转】让开发变得简单一点- Visual Studio 2010几个让人印象深刻的新功能
原文网址:http://xhinker.blog.51cto.com/640011/313055/ 引言 "我们的目标,不仅仅是做出几个新功能,而是要回答一个问题:'如何让现在的开发人员生活 ...
- 在【Xamarin+Prism开发详解三:Visual studio 2017 RC初体验】中分享了Visual studio 2017RC的大致情况,同时也发现大家对新的Visual Studio很是感兴趣。于是发时间深入研究了一下Visual Studio 2017RC 是不是和微软Connect()://2016上说得一样神。
总共列出了12点,耐心点慢慢看! 1,添加了不少[代码样式]的设置项目. 通过合理的设置每个人都能写出优美的代码,而且团队项目也可以达到统一代码风格. this首选项:可以设置[字段,属性,方法,事件 ...
- Visual Studio 开发(三):Visual Studio 使用时常见问题解决方案
一.Error LNK2019: 无法解析的外部符号 此问题应该是Visual Studio的初学者最常碰到的问题,也是相对来说很让人头疼的问题. 注:Error LNK2019 问题在VC 6.0 ...
- MVC开发 好的扩展套件(Visual Studio 插件)
- 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序
原文 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 Jim ...
- Visual Studio跨平台开发实战(2) - Xamarin.iOS基本控制项介绍
原文 Visual Studio跨平台开发实战(2) - Xamarin.iOS基本控制项介绍 前言 在上一篇文章中, 我们介绍了Xamarin 以及简单的HelloWorld范例, 这次我们针对iO ...
- Visual Studio跨平台开发实战(1) - Hello Xamarin!
原文 Visual Studio跨平台开发实战(1) - Hello Xamarin! 前言 应用程式发展的脚步, 从来没有停过. 从早期的Windows 应用程式, 到网路时代的web 应用程式, ...
- visual studio多工程开发配置
文章:带你玩转Visual Studio——带你多工程开发 带你玩转Visual Studio——带你理解微软的预编译头技术 通过上一篇文章带你玩转Visual Studio——带你多工程开发的讲解, ...
随机推荐
- Redis 实现队列http://igeekbar.com/igeekbar/post/436.htm
场景说明: ·用于处理比较耗时的请求,例如批量发送邮件,如果直接在网页触发执行发送,程序会出现超时 ·高并发场景,当某个时刻请求瞬间增加时,可以把请求写入到队列,后台在去处理这些请求 ·抢购场景,先入 ...
- angular中的 登录检查 和 过期Session清理
angular利用ui-router进行登录检查 SAP都会有这个问题,session过期或者页面被刷新的情况下应该进入登录页. 监听ui-router的satte事件可以实现当state切换的时候检 ...
- 《简明Python教程》读书笔记
1:help 需要获取Python中任何函数.类型的信息,使用 help('内容') 命令查看帮助,按 q 退出帮助. 2:格式化字符串 format 方法是数据格式化的重要方法. 字符串 ...
- Postgresql学习笔记
一:数据类型 主要有三大类以及其他一些杂项类型: 数值型.字符型.日期型. 数值型: 名称 描述 存储大小 范围 smallint 存储整数,小范围 2字节 -32768 至 +32767 integ ...
- python 排序 sorted 如果第一个条件 相同 则按第二个条件排序
怎样遍历一个list 符合下列条件 1. 按照元组的第一个从小到大排序 2. 如果第一个相同 则按照元组第2个从大到小 排序 a = [[2,3],[4,1],(2,8),(2,1),(3,4)] b ...
- Axis 发布、调用WebService(转)
一.JWS方法发布WebService 1.在官方网站下载axis的工程(这个等下就有用的)和源码.jar包等,下载地址是: http://www.apache.org/dyn/closer.cgi/ ...
- 友盟消息push功能
友盟地址:https://i.umeng.com/user/products 一.android 1.产品->U-App/U-push->立即使用->管理->左侧-集成测试-& ...
- rpm基本命令参考
水可载舟,亦可覆舟! 1. 介绍 在Linux操作系统中,常用的软件有RPM包软件包,src.rpm格式的软件包(源码),以源代码发布的软件包以及.bin格式软件包和绿色软件.如果采用.rpm格式的软 ...
- KVM安装和配置
[未验证部分] kvm安装前检查 # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理CPU个数 ca ...
- git 不用clone整个远程仓库,只把特定的commit给fetch下来的方案
一个麻烦点就是,我需要阅读一个大点的开源项目,远程仓库的代码量太庞大了,如果我需要git reset --hard [commit sha1]感兴趣的commit快照,就首先得git clone整个远 ...