I am porting ERIKA on a CORTEX-M4 core, the MK60F12 from Freescale. I followed all the steps described in the tutorial http://erika.tuxfamily.org/wiki/index.p ... formations and when I run my transformation I get this:
com.eu.evidence.rtdruid.epackage.RTDEPackageBuildException: Two elements has differents attributes: eStructuralFeatures
firstNode attribute list = (containment= true)(eType= //OILOS__MCU_1DATA)(name= MCU_DATA)(xsi:type= ecore:EReference)
firstNode attribute list = (containment= true)(eType= //OILOS__MCU_1DATA)(name= MCU_DATA)(upperBound= -1)(xsi:type= ecore:EReference)
Two elements has differents attributes: eStructuralFeatures
firstNode attribute list = (containment= true)(eType= //OILOS__MCU_1DATA)(name= MCU_DATA)(xsi:type= ecore:EReference)
firstNode attribute list = (containment= true)(eType= //OILOS__MCU_1DATA)(name= MCU_DATA)(upperBound= -1)(xsi:type= ecore:EReference)
I can't figure what what I have done wrong. Here's the plugin directory I have created.
the error is related to the MCU_DATA element in the oil file (mk60f12.oil in your plugin).
The idea is that the oil "structure" is the composition of many files like your and if the same object (i.e. MCU_DATA) is defined in more than one place, it must have the same attributes. In this case MCU_DATA is defined both as "a signle value element" and as "an array of elements".
Moreover I suggest to handle only those elements that you are extending:
the MCU_DATA contains something new, than it is ok, but the the CPU_DATA looks like something that is already handled by RT-Druid plugins. So if you write it "two times", the generated code will contain both your code and "RT-Druid code".
A last thing ... search and replace msp430: few files still contain it. Otherwise your plugin id may collide with the existing plugin for msp430.