ADS&RVCT
来源:互联网 发布:淘宝生e经怎么没有了 编辑:程序博客网 时间:2024/04/29 19:41
ADS---ARM Developer Suite
RVCT---Real View Compilation Tool----为RVDS(Real View Development Suite)的部分元件.
ARM公司自己推出的工具,最早的版本(大概2002前),叫 SDT
接着推出的工具叫ADS,因为SDT界面难看,所以使用的是CodeWarrior集成环境,ADS和SDT换汤不换药,ADS 1.2版本和SDT 2.5版本编译器基本一样,调试器也是一样的
CodeWarrior最早是独立工具公司,2000年前就被motorola收购,现在Freescale旗下。
ADS只使用了CodeWarrior的集成环境界面,CW根本没提供什么ARM编译器。
ADS之后,ARM公司推出的工具叫RVDS,编译器叫RVCT,统一使用品牌RealView(RV),RVDS的集成环境换成了开源的Eclipse
从SDT到ADS再到RVDS,编译器都是ARM自己写的,很早以前,ARM提供的编译器效率已超出gcc等free编译器。
Arm收购Keil,是为了Arm的Corex M3和M0市场,因为Keil在8位单片机工具有很大影响,M3和M0就是针对8位单片机市场设计的低成本高性能MCU内核
Keil在收购之前,曾经使用gcc编译器和自己开发的编译器,收购之后,放弃了自己的编译器和gcc, 用的是Arm的编译器,目前使用的就是rvct,不过限制了对高端内核如arm11和a8的支持
收购keil后,keil针对m3/m0的工具叫 realview mdk. arm自己的工具叫realview development studio(rvds)
用rvds和rvct是迟早的事,因为到了arm a8/a9,没有任何其他工具支持。
至于mtk的芯片,arm9以下,用rvds和ads一回事,编译器升级做的那些工作,你基本上是碰不到的
本文来自:我爱研发网(52RD.com) - R&D大本营
详细出处:http://www.52rd.com/bbs/Dispbbs.asp?BoardID=63&ID=203187
MTK 10A之后的版本都弃用了ADS编译改用RVCT编译器:
基于以下动机:
1.ARM不再维护ADS 1.2.
2.ADS1.2不支持新的处理器, 如Cortex-R4等.
3.Footprint的优化并不理想.
4.不支持ISO C++98如
Namespaces及Templates语法
Classes如vector, basic_string, map, multimap
以上RVCT都支持.
除了以上优势, RVCT同时有较快的build time
rebuild all相比ADS节省50%时间
link节省80%时间
且RVCT3.1几乎不影响应用程序的执行时间.
注意事项:
1. ADS和RVCT编译出来的obj是完全不兼容的. 所有原代码都必须用RVCT编译, 且第三方的obj和lib也必须是RVCT3.1编译出来的.
2. 所有ARM工具只保证向后兼容性,并无向前兼容. 即要保证RVCT2.x及RVCT3.x产生的obj及lib是兼容的, 前提必须是使用RVCT3.x C/C++ libraries及RVCT 3.x linker.
3.ADS和RVCT可以共存于一台PC中. 须保证环境设定必须设置正确.
4.8-byte alignment
5.因为积极优化导致的软件变更
如void test()
{
kal_bool b;
b=KAL_FALSE;
...
while(B_is_True()!=KAL_TRUE)---->形成while(1)
}
kal_bool B_is_True()
{
return b;
}
解决方法, 将b修饰为volatile kal_bool b;
RVCT license
1. Node Lock license---限单人单机
2. Floating license-----可incredibuild
- ADS&RVCT
- SDT、ADS、RVCT、RVDS、MDK开发工具简史
- What is the difference between ADS 1.2 and RVDS (RVCT) 3.0 Compilation Tools?
- RVCT安装
- Ads
- ADS
- ads
- ADS
- ads
- ADS
- symbian GCCE &RVCT
- symbian rvct汇总
- Windows7安装RVCT注意事项
- [Builderror]RVCT 安装问题
- 如何配置RVCT
- Difference between RVCT and GCCE
- Difference between RVCT and GCCE
- 有关rvct破解问题(一)
- ORACLE之拼音检索(任意字符)
- 110721 小g谈谈小f~
- 构建嵌入式Linux系统
- 翻译SDK文档Tasks and Back Stack
- 对齐方式产生的阅读效果
- ADS&RVCT
- 让代码更加健壮 【总结】
- DELPHI B/S 开发框架 意想!
- 通过分析 JDK 源代码研究 Hash 存储机制
- 『转』HQL 一些语法的说明
- dirname(__FILE__) 与 PHP define() 及例子define('root',dirname(__file__))
- C#中.snk文件的作用【转】
- listview 操作-创建 listview
- flex tree操作