tdatd 发表于 2019-1-2 11:06

【 XMC4800 Relax EtherCAT Kit测评2】-搭建环境、点亮LED

本帖最后由 tdatd 于 2019-1-2 11:13 编辑

到评测申请界面    https://bbs.eeworld.com.cn/elecplay/content/100 下载资料链接,英飞凌官方链接:https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc48_relax_ecat_v1/我基本的都是按照Infineon-XMC4800_Relax_EtherCat_APP_Slave_SSC-GS-v01_03-EN.PDF这个手册来操作的。下载地址:https://www.infineon.com/dgdl/Infineon-XMC4800_Relax_EtherCat_APP_Slave_SSC-GS-v01_03-EN.pdf?fileId=5546d462533600a4015398ba3c590a84本次的目标是搭建开发环境,点个灯。在英飞凌官网 下载对应的demo程序:https://www.infineon.com/dgdl/Infineon-XMC4700_Blinky_withApps.zip-GS-v01_00-EN.zip?fileId=5546d46250cc1fdf015139028ae51ed3
根据用户手册, 安装dave4 安装twincat3Dave 是基于eclipse定制的界面,altera的nios开发,TI的dsp开发都是这一套,还是比较熟悉的,这次才发现dave导入工程的时候,可以直接导入zip压缩包挺方便,以前我没注意过这个功能。 好了,在左侧工程界面,右键 buildproject,编译ok。点小虫子图标,进入Debug,发现 debug有问题,没进入程序。摸索一会,发现我电脑的jlinkv49.版本太低了。于是下载了jlinkv6.3安装,卸载了jlinkv49,还是有问题。摸索一下,在dave 中打开 windows/preference
更换一个jlink的目录,ok,可以下载,debug,进入断点。好了,现在直接烧写了新的demo程序,复位后是刚下载的demo程序。到目前为止,安装环境,编译,调试,烧写已经完成。准备进入ECAT。

打开binky led,进入main看一下,很简单。int main(void){DAVE_STATUS_t status;uint32_t timer_interval = 1000 * TIMER_MILLISECONDS;bool button_edge = true; status = DAVE_Init();         /* Initialization of DAVE APPs*/XMC_DEBUG("hello world\n");if(status == DAVE_STATUS_FAILURE){    /* Placeholder for error handler code. The while loopbelow can be replaced with an user error handler. */    XMC_DEBUG("DAVE APPs initializationfailed\n");    while(1U)    {    }} 在dave_init右键,进入函数定义看一下: DAVE_STATUS_t DAVE_Init(void){DAVE_STATUS_t init_status;init_status = DAVE_STATUS_SUCCESS;if (init_status == DAVE_STATUS_SUCCESS){   /**Initialization of TIMER APP instance TIMER_0*/   init_status = (DAVE_STATUS_t)TIMER_Init(&TIMER_0);    } if (init_status == DAVE_STATUS_SUCCESS){   /**Initialization of DIGITAL_IO APP instanceLED1 */   init_status = (DAVE_STATUS_t)DIGITAL_IO_Init(&LED1);    } if (init_status == DAVE_STATUS_SUCCESS){   /**Initialization of DIGITAL_IO APP instanceBUTTON2 */   init_status = (DAVE_STATUS_t)DIGITAL_IO_Init(&BUTTON2);    } if (init_status == DAVE_STATUS_SUCCESS){   /**Initialization of DIGITAL_IO APP instanceBUTTON1 */   init_status = (DAVE_STATUS_t)DIGITAL_IO_Init(&BUTTON1);    } if (init_status == DAVE_STATUS_SUCCESS){   /**Initialization of INTERRUPT APP instanceINTERRUPT_0 */   init_status = (DAVE_STATUS_t)INTERRUPT_Init(&INTERRUPT_0);    }return init_status;} /**End of function DAVE_Init */

这几个button0 button1 led1,正好就是板子上的几个资源,看看这个结构定义,很清晰。      DIGITAL_IO_t LED1 ={.gpio_port = XMC_GPIO_PORT5,.gpio_pin = 9U,.gpio_config = &LED1_config,};      XMC_GPIO_CONFIG_t BUTTON2_config= {.mode = XMC_GPIO_MODE_INPUT_TRISTATE, };      DIGITAL_IO_t BUTTON2 ={.gpio_port = XMC_GPIO_PORT15,.gpio_pin = 12U,.gpio_config = &BUTTON2_config,};      XMC_GPIO_CONFIG_t BUTTON1_config= {.mode = XMC_GPIO_MODE_INPUT_TRISTATE, };      DIGITAL_IO_t BUTTON1 ={.gpio_port = XMC_GPIO_PORT15,.gpio_pin = 13U,.gpio_config = &BUTTON1_config,};对应板子的丝印很明确另外这里有一个app dependency功能,看起来很直观,且可以点击进行编辑硬件外设的配置等,很方便。
   

freebsder 发表于 2019-1-2 21:05

dave很强大

tdatd 发表于 2019-1-3 08:11

freebsder 发表于 2019-1-2 21:05
dave很强大

这个app dependency功能是这个工程打开就有的,在另一个功能没有显示这个窗口,我找了一下,不知道怎么显示这个窗口,你知道吗?

freebsder 发表于 2019-1-3 09:31

DAVE的项目才有app dependency。你上一个项目的IDE里面明显有DAVE文件夹,那是生成代码的地方。下一个项目应该是个普通项目,只不过用了这个IDE来管理和组织文件。

xwtihy 发表于 2020-2-16 21:48

<p>点不亮,会使其他程序也不能下载,不知道有什么鬼!</p>
页: [1]
查看完整版本: 【 XMC4800 Relax EtherCAT Kit测评2】-搭建环境、点亮LED