aurix编译环境

aurix作为infineon全新系列的32位单片机,采用tricore架构,相对价格低廉,打算广泛应用在汽车、工业等领域。
目前infineon也在从audo系列逐渐往aurix系列进行转变。

aurix编译环境_第1张图片
infineon支持的编译环境包括Tasking、HiTec和windriver的开发环境。都是基于eclipse开发的。这里主要讲下Tasking和HiTec两个,windriver 的diabc还没用过。
其中Tasking是支持infineon最早的编译器,一直是altium支持infineon的开发环境,内部文档很详细。相对于嵌入式单片机调试和编写,整个环境相对比较人性化,但是当前只有4.0以上的版本支持aurix,但4.0以上版本不支持试用版,试用版本只有3.5的最高版本,不支持aurix。就算试用也只有15天。一个license好贵。。。
而HiTec是bosch公司近几年主推的,因为是基于GNU的,有广泛的开源支持,而且目前HiTec支持试用版,评估试用版本只需要简单网上激活就行,试用期有1年,而且评估试用版还带试用的UDE(aurix的调试烧写工具)。但是HiTec保留的比较原生的eclipse,所以没有Tasking那样使用便捷,文档也相对较少。
两者的使用基本没太多区别,主要是在一些语句的使用上稍有差异,infineon本来的选用这么多编译器时就考虑了相互移植的问题,所以移植过去还比较方面,我在从tasking的工程代码移植到HiTachi时发现需要注意几点:
1、启动部分:Tasking和Hitec新建工程都为你写好了启动部分代码,其中Tasking在cstart.c当中,其中还包括中断向量表的配置,所以后来你会发现Tasking写中断服务函数相对比较容易,而HiTec需要在初始化的时候将isr函数地址指向对应中断向量表。而HiTec的实际startup部分就相对隐蔽了,在toolchain的gcc库中,crt0.s文件,用汇编实现的。
当然它自带的startup代码实际上是可以被替代的,infineon为了统一编译的代码,在提供的demo代码中有写通用的ifx_cstart0.c代码,通过对应link文件(这里都是.lsl文件)有指定。
2、编译器都默认生成elf文件,如果需要生成hex烧写文件,Tasking直接勾选即可,而HiTec需要在postcompile中加入tricore-objcopy进行文件转换,所有的需要注意查看两者userguide查看指令如何使用。

你可能感兴趣的:(aurix)