stm32开发 - 远离 Keil uVision, 回到 Visual Studio
学了8051单片机, 学了MSP430系列, 终于开始步入正轨, 开始学习 stm32(ARM Cortex-M3)系列微处理器~
学51用Keil uVision开发环境, 提一下Keil uVision在我眼中是个什么贷吧(我是说代码编辑器,因为大部分是在写代码):
- 对中文支持非常不好, 经常乱码
- 代码高亮简直一坨X
- 结构体成员/指针没有快速提示信息
- 函数调用没有参数提示
- 不想再说下去...
插一句:我是学过电脑编程的, 大量使用过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, 没有发现其这么强大的功能的, 赶快试一试吧~
变量名自动补全
多种颜色区分函数变量宏定义
函数调用提示
宏定义列表显示
结构体成员提示
快速转到某函数处
清晰的内定义展示
一键转到函数变量宏定义定义处
变量名自动补全
当然, 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都没作测试, 不知道能否正常工作~
程序及源码下载: keil2vs.7z