21806|11

130

帖子

1

TA的资源

一粒金砂(高级)

楼主
 

教你用宇宙第一IDE [Visual Studio 2015]做嵌入式开发 [复制链接]

 
本帖最后由 samos2011 于 2016-2-16 17:35 编辑

    在嵌入式开发过程中,编写代码其实是要占用很大一部分时间的,但编码的体验,uVision确实不怎么样,在试用过各种各样的IDE后,唯有Visual Studio的IntelliSense令我爱不释手.编码体验号称宇宙第一一点不为过.

    可能论坛里很多人未必使用过Visual Studio(后面简称VS),对智能感知的体验也许没有,但肯定也有很大一部分号称全能型的,上位机,下位机都会写的那种人,应该就比较熟悉VS了

    嵌入式集成开发环境通常提供编辑,编译,仿真三大功能,本文教你使用VS实现编辑,编译(生成二进制文件)两大功能.

  • 主要特性:
      支持多种编译器,(ARMCC,GCCARM,...)
      每个源文件可单独设置编译选项
      IntelliSense本身具有实时错误与警告
      双击错误列表可光标定位
      可生成 [.lib] [.hex] [.bin]文件,使用GCC时可生成[.a]文件
      灵活的用户命令功能,编译前执行,编译后执行
      实现uVision的所有编译控制功能


如何操作:
  新建[项目]->[Visual C++]->[生成文件项目]
  不需要设置什么,点完成.
  添加工程文件(.c .cpp .s .lib),汇编文件.s需要修改[项类型][C/C++ 编译器],
  设置工程,如图:


  主要设置,输出目录,包含目录,编译器选项,连接器选项,预处理器定义,指定分散加载文件等.

  附上例子工程,包含RTX4.73库工程(CM0,CM3,CM4F的lib,小端模式),以及基于RTX的Blinky工程
vs rtx473.rar (429.52 KB, 下载次数: 179)

目录说明:
  SRC             RTX4.73源代码,拷贝自: C:\Keil\ARM\RL\RTX
  lib               VS输出的lib文件
  RTX_Lib.sln  VS解决方案文件,直接打开即可
例子在:
  MCB1200
  MCB4300      均拷贝自: c:\keil\arm\boards\keil

看鼠标移到成员上显示的信息以及注释:

非活动的代码块直接灰色:



控制命令说明:
/ccflag=         指定编译器选项
/asflag=         指定汇编器选项
/ccdef=          编译器预定义,已过时!
/asdef=          汇编器预定义
/ldflag=         连接器选项
/link=            指定分散加载文件
/microlib        使用MicroLib,没有则使用标准库
/cmdline        显示完整编译器命令行
/mcu=           指定CPU,如/mcu=Cortex-M3,若要查看armcc编译器支持的cpu可使用 armcc --cpu=list
/编译器包含路径= 只能书写在[包含搜索路径]
/汇编器包含路径= 只能书写在[程序集搜索路径]
/编译前1=        编译前执行的用户命令,数量不限,1表示执行,0表示不执行
/编译后1=        编译后执行的用户命令,数量不限,1表示执行,0表示不执行
其它可以书写在[强制使用程序集][附加选项]里,不区分大小写,用分号隔开
如:/ccflag=-O3 -g;/asdef=__RTX USE_OS=1;

目标文件在[输出]栏设置,由后缀名决定输出的格式,没有后缀名则仅输出.axf文件
编译器预定义直接书写在[预处理器定义]里面即可,VS要求使用分号风格,不需要/ccdef控制,

若要为某个文件指定不同的编译选项,请看图:


主要是:$(AdditionalOptions);/asdef=NO_CRP 有了$(AdditionalOptions);则继承工程设置,再额外添加一个汇编器定义,没有这一句则不继承工程设置,其他栏也一样,你懂的.

说明可能不是特别详细,但我相信聪明的你结合例子工程应该一看就明白了!

有不明白的或者BUG,或者建议欢迎提出!

如果你还没有安装VS,建议下载VS2015社区版,免费。较低版本没试过,不保证能用!


附加:armcc支持的CPU列表:
C:\Keil\ARM\ARMCC\bin>armcc --cpu=list
The following arguments to option 'cpu' can be selected:
--cpu=ARM7EJ-S
--cpu=ARM7TM
--cpu=ARM7TDM
--cpu=ARM7TDMI
--cpu=ARM710T
--cpu=ARM720T
--cpu=ARM740T
--cpu=ARM7TM-S
--cpu=ARM7TDMI-S
--cpu=ARM9TDMI
--cpu=ARM920T
--cpu=ARM922T
--cpu=ARM940T
--cpu=ARM9E-S
--cpu=ARM9EJ-S
--cpu=ARM926EJ-S
--cpu=ARM946E-S
--cpu=ARM966E-S
--cpu=ARM968E-S
--cpu=Cortex-M0
--cpu=Cortex-M0plus
--cpu=SC000
--cpu=Cortex-M1
--cpu=Cortex-M1.os_extension
--cpu=Cortex-M1.no_os_extension
--cpu=Cortex-M3
--cpu=Cortex-M3-rev0
--cpu=SC300
--cpu=Cortex-M4
--cpu=Cortex-M4.fp
--cpu=Cortex-R4
--cpu=Cortex-R4F

最后,VS的IntelliSense的激动人心功能有请你自己去探索!我就不截图了。






最新回复

atmel studio似乎也用vs,用下来感觉很卡,所以没啥好感  详情 回复 发表于 2016-2-18 12:11
点赞 关注(3)

回复
举报

95

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
可不可以支持,jlink调试呢?还是只能支持程序的编辑和编译弄能?????
 
 

回复

130

帖子

1

TA的资源

一粒金砂(高级)

板凳
 
本帖最后由 samos2011 于 2016-2-16 17:16 编辑

不支持jlink,本人很少使用jlink仿真,我有其他debug方式,jlink仅用于第一次烧录程序
其实有.axf文件就可以使用keil仿真了,而且不需要完整代码,可度娘搜索相关关键词!
其实开发过程中大部分时间都是在编写代码,阅读代码,能改善这个我就满意了!

 
 
 

回复

606

帖子

20

TA的资源

一粒金砂(高级)

4
 
vs确实好用,可是太重量级了。不支持调试,这是最大的软肋。。。
 
 
 

回复

1万

帖子

26

TA的资源

裸片初长成(高级)

5
 
最早用过VC++编辑、编译其它非VC++项目,很不错。
到了VS就没有再装了
 
 
 

回复

6423

帖子

16

TA的资源

版主

6
 
那个必须安装到c盘,而且体积巨大令我震惊
 
个人签名training
 
 

回复

1272

帖子

2

TA的资源

版主

7
 
杀鸡用牛刀的赶脚
 
 
 

回复

3414

帖子

0

TA的资源

纯净的硅(高级)

8
 
我是冲着宇宙第一的标题才进来的
只是个集成环境而已了
 
个人签名

So TM what......?

 

 

回复

113

帖子

0

TA的资源

一粒金砂(中级)

9
 
mark mark.
 
 
 

回复

130

帖子

1

TA的资源

一粒金砂(高级)

10
 
RTX4.73 编译消息:  生成.lib文件


RTX_Blinky项目,使用刚才生成的.lib文件,

编译输出:


VS2015新增的快速预览定义功能,非常好用,请看下图:

用VS2015阅读代码是非常爽的!
 
 
 

回复

105

帖子

1

TA的资源

一粒金砂(中级)

11
 
嗯,支持。
不过试试virtualGDB,可以调试的
 
 
 

回复

1297

帖子

2

TA的资源

纯净的硅(中级)

12
 
atmel studio似乎也用vs,用下来感觉很卡,所以没啥好感
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表