Dave APP GLOBAL_CCU4_TEST on HW Signal Connection

来源:互联网 发布:linux磁盘空间扩容 编辑:程序博客网 时间:2024/05/20 06:50
/***************历史版本 ***********************************************版本信息               日期                      描述*4.0.0       16-9-2015      第一版********************************************************************/// Import statementsimport ifx.davex.app.manifest.*class  GLOBAL_CCU4_TEST extends GLOBAL_CCU4_TEST_GUI {     /* Note  : 下列APP属性是不可缺少的,非常重要! */     /* 开始 : APP属性定义 */    def version            = '4.0.0'    /* 定义APP的分类目录 */    def categoriesDescription = ["learn"]     /* 运行APP所需要DAVE的最低版本 */    def minDaveVersion           = '4.0.0'    /* 可以找到APP的关键字*/    def keywords      = ['My keyword']    /* APP可以支持的硬件型号。“*”代表任何 */    def softwareIDs       = [        "XMC4.[4-5].00.F144.*":"1.0.0",        "XMC4.4.00.(F100|F64).*":"1.0.0",        "XMC1.3.*.*.*":"1.0.0"]    /* 定义该APP是否只能单独存在*/    def singleton     = false    /* 是否要在dave。c中加入<APPName>_Init()进行初始化*/    def initProvider  = true    /* 定义该APP是否弃用*/    def deprecated    = false    /* 定义该APP是否能被其他APP共享使用*/    def sharable      = true    /* 描述*/    def description = "MY owm APP in order to learn how to use uri and HWsignalconnection"    /* 结束   : APP 属性定义 */    /* 开始:定义用户变量 */    /*require apps declare*/    MRequiredApp appres_clock    /*resourcegroup declare*/    MVirtualResourceGroup hwers_peripheral_ccu4_global    MVirtualResourceGroup hwers_peripheral_scu_gcu_ccu4_global_enable    /*virtual signal declare*/    MVirtualSignal vs_global_ccu4_clk    MVirtualSignal vs_global_ccu4_globalsignal     MVirtualSignal vs_global_ccu4_gsc_enable     MVirtualSignalRA vs_clock_fccu    /*solver declare*/    SolverVariable sv_global_ccu4_kernel=SolverVariable()    /* 结束:定义用户变量 */    /* 开始:构建 APP  */    public GLOBAL_CCU4_TEST(DaveEnv daveEnv) {        boolean family_4x=false        /*通过daveEnv对象来获取单片机型号*/        if (daveEnv.project.selectedDevice.deviceId.family=="XMC4")        {            family_4x = true        }        /*根据型号加载子app*/        if (family_4x==true)        {            appres_clock=MRequiredApp("CLOCK_XMC4","CLOCK APP for XMC4X",RSHARABLE,"4.0.1",true)        }        else        {            appres_clock=MRequiredApp("CLOCK_XMC1","CLOCK APP for XMC1X",RSHARABLE,"4.0.0",true)        }        //hardware resource consumption block        hwers_peripheral_ccu4_global = MVirtualResourceGroup("Global",["peripheral", "ccu4", sv_global_ccu4_kernel," global"])        hwers_peripheral_scu_gcu_ccu4_global_enable=MVirtualResourceGroup("CCU4 sync start",["peripheral", "scu","*", "gcu", "ccu4_global_enable", sv_global_ccu4_kernel])        //APP IO Signals        vs_global_ccu4_clk=MVirtualSignal(hwers_peripheral_ccu4_global,"clock_ccu","clk",true,false)        vs_global_ccu4_globalsignal=MVirtualSignal(hwers_peripheral_ccu4_global,"ccu4_global","global_signal",true,false)        vs_global_ccu4_gsc_enable=MVirtualSignal(hwers_peripheral_scu_gcu_ccu4_global_enable,"ccu4_global_start","gsc_enable",true,true)        //定义信号接收通道,连接信号        if(family_4x == true)        {            vs_clock_fccu=MVirtualSignalRA(appres_clock,"vs_fccu")            addConnectionConstraint(vs_clock_fccu,vs_global_ccu4_clk,true)        }        //从CLOCK_XMC APP GUI中实时返回值        if (family_4x == true)        {           gfloat_clkFreq.value = MF({appres_clock.getVal(["gfloat_ccufreq", "value"])}, Float)        }        else        {           gfloat_clkFreq.value = MF({appres_clock.getVal(["gfloat_pclkactfrq", "value"])}, Float)        }        }    // 生成代码    def generateFiles(){        generate("global_ccu4_testh.tmpl", "global_ccu4_test.h")    }}




在dave4中执行效果
这里写图片描述
这里写图片描述

0 0
原创粉丝点击