DAVE支持IAR、CCS工程移植
工具 DAVE4.4、IAR8.11
- 建立DAVE工程,编译通过,DAVE初始化配置比IAR要方便省事很多,推荐先用DAVE配置初始化。
- 建立IAR工程,Project–Add Project Connection,选择Infineon DAVE,选择DAVE工程下的Config.xml文件。
- 成功以后,可以看到IAR左边文件列表里已经添加了Infineon DAVE,包含了工程用到的H和C文件。
- 右击工程options–C/C++ Compiler --Preprocessor ,在Defined symbols里已经有 XMC4300_F100x256=;Assembler–Preprocessor,在Defined symbols里已经有 XMC4300_F100x256=。
- 将main文件以及自己写的文件复制到IAR里,编译,提示一堆错误,但是可以发现这些错误就是缺少函数定义,这个时候还需要将libraries里的文件移植过来。
- 后面就没有继续下去了,基本没什么难度
第二种: 纯移植工程
- DAVE工程下有三个重要的文件夹:Dave、Libraries、Startup,将main.c与三个文件夹全部复制过来,并添加到IAR工程里。
- 基本每个底层文件都会对编译器进行识别,cmsis_compiler.h中已经识别到IAR,但是找不到对应的头文件;在DAVE安装包里,DAVE_4-4-2_64bit_2018-02-23\DAVE_4-4-2_64bit_2018-02-23\DAVE-IDE-4.4.2-64Bit\D_LibraryStore_4.4\DeviceFeatures\pack\2.2.2\Libraries\CMSIS\Include 找到对应的头文件复制到工程里;
- 同样在DAVE安装包里,DAVE_4-4-2_64bit_2018-02-23\DAVE_4-4-2_64bit_2018-02-23\DAVE-IDE-4.4.2-64Bit\D_LibraryStore_4.4\DeviceFeatures\pack\2.2.2\Libraries\CMSIS\Infineon\XMC4300_series\Source\IAR 找到启动.s文件将复制过来的更换。
- 此时编译,肯定一堆错误,添加文件相对路径就不说了,主要说一下定义(defined symbol),
- 右击工程options–C/C++ Compiler --Preprocessor ,在Defined symbols里添加XMC4300_F100x256=;
- Assembler–Preprocessor,在Defined symbols里添加 XMC4300_F100x256=;
- Linker–Config,勾选override default,默认的icf文件没有问题,如需定制,自己修改;在Configuration file symbol definition里添加 XMC4300_F100x256=1,如果不添加定义一直报错,提示missing’=’;如果没有1,那么会提示invalid integer in defined symbols;
5.编译通过,备注:我在General Options里Liabry Configuration 选择Nomal,非必须。