本帖最后由 IFXOwenSu 于 2023-10-9 15:22 编辑
工具:DAVE 4、XMC1x00/XMC4x00、IFX_ClassB_XMC_2.2.zip(latest) 本文以XMC1300为例 步骤: 1. 解压相关文件夹 将IFX_ClassB_XMC_2.2.zip文件解压缩到一个临时的位置,例如:C:\Work\IFX_ClassB_ XMC_2.2。 2. 创建新的工程 2.1 打开DAVE 4,菜单中选择File- New- DAVE Project。 2.2 打开对话框后输入项目名称,并选择‘DAVE CE Project’(其他选项也可以),点击Next。 2.3 选择要在项目中使用的XMC,然后点击“下一步”。 完成以上步骤之后只建立了最基本的project,必须对其进行自定义和扩展才能使其符合Class B库的标准。 3. 导入Class B库的源文件 3.1 点击菜单:File- Import。 3.2 选择General- File System,点击‘Next’进行下一步。 3.3 选择解压后的ClassB_XMC1000文件夹,导入到Project中,注意记得勾选‘src’和‘inc’。 3.4 用同样的方法再将ClassB_XMC1000_Templates中的‘ClassB_config.h_template_XMC1300’、‘failsafe_ template.c’、 ‘failsafe_ template.h’以及‘interrupt_ template.c’导入到ClassB_XMC1000文件夹中。 3.5 成功导入后将文件名进行修改,如下图所示: 3.6与此同时,还需要将src文件夹中相应的文件删除(或者在一开始导入的时候不勾选),这样可以避免在编译的时候出现报错。 3.7 紧接着,将linker script file导入到project中。 3.8 导入startup文件。 3.9 导入startup文件之后,将‘startup_XMC1300_ClassB.S’文件复制到Startup文件夹中,替换掉原本的‘startup_XMC1300.S’文件,并将‘startup_XMC1300.S’删除。 3.10 复制完成后可将‘startup’文件夹删除,保留‘Startup’文件夹即可。以上为所有的文件操作,完成后的效果如下图所示: 4. 修改工程配置 4.1首先修改search paths。打开‘File- Properties- C/C++ Build- Settings’,选择‘ARM-GCC-C Compiler’和‘Directories’。 4.2 点击‘Add directory path’,选择‘Workspace’之后选择‘ClassB_XMC1000’。 4.3 同样的方法添加‘inc’文件夹: 4.4 添加完成之后结果如下,点击‘OK’即可。 4.5接着修改‘ARM-GCC-C Linker’的配置。打开‘File- Properties-C/C++ Build- Settings’,选择‘ARM-GCC Linker’和‘General’,Script file选择‘ClassB_XMC1000—settings’文件夹中的‘Dave_XMC1300_ClassB.ld’文件。 可以用保存project的地址来找到相应的目录,如上图所示;也可以输入以下语句: "${workspace_loc:/${ProjName}/ClassB_XMC1000/settings/GCC_DAVE4/DAVE4_XMC1300_ClassB.ld}"。 4.6 完成之后点击‘OK’即可。 5. 激活DAVE CE工程 为了获得编译和构建项目所需的所有数据,需要更新DAVE CE组件。通过以下步骤来进行激活: 6. 常见问题 按照步骤添加并设置完成之后点击编译,出现‘Unable to retrieve disassembly data from backend’的报错。
按照以下步骤来调整: 1. 修改ld文件,将例程‘Dave4_XMC1300_ClassB’中的ld文件复制过来并进行替换;
3. 替换‘ClassB_config.h’文件;
4. 完成以上替换之后,应该就不会出现‘Unable to retrievedisassembly data from backend’的报错了,但是要想进行功能的扩展及编译,最好还是在官方例程的基础上进行扩展,因此就需要进行以下步骤;
完成添加之后再按照之前的方法将‘inc’文件夹的路径添加。
完成之后就可以正常运行了。
7. 联系方式 目前只能按照例程中的样式来设置project才能使整个程序跑通,您可以联系Hitex公司来获取相关资源并获得更加深入的技术支持,链接如下: 8. 参考 《Quick Start Guide – ClassB library integration for XMC1000 derivatives》
|