[分享] 【 XMC4800 Relax EtherCAT Kit测评】+搭建全新工程感受强大的DAVE

tdatd   2019-1-14 15:27 楼主
之前的实验都是在英飞凌的demo上直接import进来的。初步体会到了dave的强大和现在IDE生成代码的先进流程。之前的那种用寄存器写单片机寄存器的时代好像真的不存在了,就像使用st 的cube直接可以生成stm32 的库文件,底层基本不用写。 我通过本次的实验也体会到了通过dave的强大功能,直接配置好硬件并自动生成代码。作为一个工程师,总觉得自己的从0掌握才算踏实,有时候遇到问题无法解决,经常会建议一个全新的工程测试一下,我想可以通过ide生成freRTOS的基本功能,使能2个task并分别驱动LED1 LED2. 启动dave,这个都是基于eclips界面,注意workspace的目录不能有中文,空格等。然后新建一个dave project,如果不是dave project,有很多集成的高级配置功能估计不好用。 new-prj.png 输入project name。做出的 arm-gcc application 选择dave ceproject new-prj2.png 选择对应的主cpu器件。 new-prj3.png 一个空的工程就建立好了。 1install.png 现在通过help,install dave app libray来添加继承的app和库: 2install.png 然后通过 dave菜单,点击add new app,可以添加对应的功能,里面有丰富的配置模块, 基本涵盖了常用的外设功能, 我注意还有一个motor libray,集成PMSM电机的控制库,估计应用单芯片xmc4800 直接开发ethercat伺服驱动器也是个很好的方案。 目前市面很多伺服驱动器方案都是单独一个dsp来做PMSM电机控制,再通过一个CPU来实现ethercat从站。这样成本就会高出很多,不知道英飞凌是否提供了这个评估方案,应该是很有竞争力的。还有就是这个单芯片xmc4800希望价格不要太贵, 要是单芯片价格超过2个stm32,也会让人想说爱你不容易。 微信图片_20190114150838.pngaddapp.png 添加 digital io 作为gpio驱动led addio.png 同样我也先添加了freeRTOS组件,想当年的cpu,做什么都要自己移植,现在ide管理真是太强大了,可以直接把底层的库,上层的操作系统,统统通过点几下鼠标完全配置好,这个效率的提升真的太大了。技术的升级带来的效率提高真是领先一个时代。 davegen.png 配置DIGITAL-IO为输出模式 LEDCFG.png 通过菜单 dave ,manual pin allocator来配置 开发板上的LED1 和LED2驱动 LED12.png free rtos我才用默认的配置 ticker为1000次每秒,其他的堆栈等都是默认配置。 然后点击dave菜单 生成 code GENCODE.png 先build 测试一下。 buildok.png 找到DIGITAL_IO_ToggleOutput函数,选中函数,右键或者 按F3跳转到定义处。 官方的代码也集成了基本的测试用法,直接copy到main里就行了。 EXAMPLE.png 贴上代码: int main(void) { DAVE_STATUS_t status; uint32_t delay_count;; status = DAVE_Init(); /* Initialization of DAVE APPs */ if(status != DAVE_STATUS_SUCCESS) { /* Placeholder for error handler code. The while loop below can be replaced with an user error handler. */ XMC_DEBUG("DAVE APPs initialization failed\n"); while(1U) { } } DIGITAL_IO_ToggleOutput(&LED2); while(1U) { #if 1 DIGITAL_IO_ToggleOutput(&DIGITAL_IO_1); //toggles : 1 -> 0 (if initial output level is logic 1) //Add application code here for(delay_count = 0;delay_count<0xfffff;delay_count++); DIGITAL_IO_ToggleOutput(&DIGITAL_IO_1); //toggles : 0 -> 1 //Add application code here for(delay_count = 0;delay_count<0xfffff;delay_count++); #endif } } 编译ok,准备下载到硬件,新建的工程需要对调试器配置一下,在工程名上右键,点击debug as,选择 debug configuration debug0.png 在弹出的菜单直接双击GDB SEGGER J-Link Debugging可以生成 工程的debug配置,默认配置无需更改。 debug1png.png 进入main debug2.png 还可以在ide的 右上角 这3个按钮切换 ide编辑,pin 分配,debug模式 3个窗口切换。 QIEHUAN.png 如果不需要debug,直接在工程名上右键,选择run as dave c/c++ application,即可下载到xmc4800芯片flash里。 RUNAS.png 可以看到led1灯在闪烁了。重启后,还是falsh led。 在这一步里添加了freeRTOS,但是还没有跑起来,上次弄freeRTOS好多年了.下一步熟悉下freeRTOS,做两个任务调度起来。 不得不说,现在的开发真的太先进了。新硬件,新平台的入门门槛越来越低。可以让开发者更多的集中在开发,而不是搭建平台,从最繁琐的寄存器配置中完全脱离出来。真棒。 本帖最后由 tdatd 于 2019-1-14 15:34 编辑
  • addio.png

回复评论 (1)

确实很强大,跨平台就好了。
默认摸鱼,再摸鱼。2022、9、28
点赞  2019-1-15 09:44
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复