英飞凌官方ADS的安装及使用文档:
Getting Started with AURIX™ Development Studio Installation and first steps (infineon.com)
一:软件下载推荐官方下载:
AURIX™ Development Studio - Infineon Technologies (需要注册)
点击Download,安照提示进行注册并下载
二:安装步骤
默认安装依赖
如果DAS未安装或过时,将在AURIX Development Studio期间自动安装 安装:
启动AURIX™Development Studio之后,有必要选择一个工作空间,选择一个你要存放的文件夹:
三:工程
1.创建新的工程
软件左上角File >> New >> “New AURIX_Project”
在“New AURIX_Development Studio Project”窗口中,为新项目选择一个名称, 为了在当前选定的工作区中创建项目,应该设置“使用默认位置”复选框。
根据芯片型号选择对应的芯片,然后点击Finish
如图所示,成功建立新的工程。
2.也可以导入英飞凌官方的project
步骤如下:
选择一个你想导入的project:
在调试之前,有必要构建项目。按下“构建活动项目”图标,当构建完成时,检查没有编译错误。
然后就可以连接硬件进行调试。
四:调试
为了flash和调试代码,按“调试活动项目”图标,选择调试器,然后按“调试配置”窗口上的“调试”按钮
若出现以下情况,则更改Debugger。
当使用TASKING C/ c++调试器时: 当被问到(3)时切换视角并按“恢复”(4)来运行代码 在运行时,代码可以通过“暂停”按钮停止(5) 若要终止调试会话,请按“终止”按钮(6) 此外,在调试透视图中,还可以通过按钮“步进”(7)、“步进”(8)和“步进返回”(9)以单个或多个步骤运行代码
选择winIDEA作为调试器: 双击“winIDEA调试器”创建配置(1) —选择配置(2) -按调试键(3)
五:串行监视器
在AURIX™内部的调试透视图中,串行监视器在默认情况下(1)是打开的 开发工作室,也可以从终端图标手动打开(3)
串口监视器必须配置如下参数(2-3),以使单板与PC通信: -串口编号 -速度(波特率) -数据大小 —奇偶校验 -停止位
六:附加资料
所有从英飞凌导入的示例都带有一个教程,解释了所需的HW/SW设置,代码以及如何运行和测试示例 教程可从AURIX™Development Studio中通过Ctrl +单击链接(1)访问 Cpu0_Main.c文件
从相同的Cpu0_Main.c文件中,可以下载示例中使用的特定设备的英飞凌低级别驱动程序文档(2)
提示:示例教程和iLLD文档都可以通过右键单击项目名称并按“打开文档”工具打开(3)
七:创建一个新的AURIX Development Studio Library Project
展开“Infineon”文件夹,选择“New AURIX Library Project”,然后按“Next”
给工程一个合法的名字
然后选择芯片后Finish即可:
八:快捷键
1、修改快捷键的命令 window->preference->General->Keys 修改自定义的快捷键,如下图所示
2、单行或者多行注释 单行注释:只需要将光标放到要注释的行,按快捷键Ctrl+/ 完成注释,再次按Ctrl+/取消注释 多行注释:用鼠标拖选要注释的行,按Ctrl+/, 在次按取消注释。多行注释还有个快捷键是Ctrl+shift+/,注释效果如下所示,该种注释方法再次按快捷键无法撤销,要种Ctrl+z。
3、撤销这一步操作 Ctrl+Z, 恢复这一步操作Ctrl+Y 4、跳转到变量的定义处:Ctrl+鼠标左键,点击变量 5、文本放大缩小:ZOOM+IN,缩小ZOOM+OUT,或者在Windows->Editor找到这两个选项 6、跳转到函数定义处:将鼠标放到函数名上,按F3 7、将某一行或者某几行内容上移或者下移,向上移动 Alt +↑ ,向下移动Alt+↓ 8、代码自动补全提示 Alt+/ 9、Ctril+Shift+O 自动引入所需要得包
九:用GPIO点亮一个LED灯
按键按下,led亮,放开则灭,相关代码如下:
#include "Ifx_Types.h" #include "IfxCpu.h" #include "IfxScuWdt.h" #include "GPIO_LED_Button.h"
#define LED &MODULE_P20,9 #define BUTTON &MODULE_P22,0 void init_GPIOs(void) { IfxPort_setPinMode(LED, IfxPort_Mode_outputPushPullGeneral); IfxPort_setPinMode(BUTTON, IfxPort_Mode_inputPullUp); } void control_LED(void) { if(IfxPort_getPinState(BUTTON) == 0) { IfxPort_setPinState(LED, IfxPort_State_low); } else { IfxPort_setPinState(LED, IfxPort_State_high); } } IFX_ALIGN(4) IfxCpu_syncEvent g_cpuSyncEvent = 0;
void core0_main(void) { IfxCpu_enableInterrupts(); IfxScuWdt_disableCpuWatchdog(IfxScuWdt_getCpuWatchdogPassword()); IfxScuWdt_disableSafetyWatchdog(IfxScuWdt_getSafetyWatchdogPassword()); IfxCpu_emitEvent(&g_cpuSyncEvent); IfxCpu_waitEvent(&g_cpuSyncEvent, 1); init_GPIOs(); while(1) { control_LED(); }
}
效果图如下:
谢谢观看!