Bueno ya he conseguido hacer andar el eTPU, la verdad es que me ha costado porque es bastante complejo, explico lo que he entendido de su funcionamiento:
-El etpu es un sistema independiente a la CPU, corre en paralelo con la CPU y se programa mediante el volcado de datos a su region RAM, es decir, es como si tuviesemos 2 mcus y una se encarga de todos los timers mientras que otra hace el resto pero estan conectadas por el mismo bus de datos.
-Tiene muchos canales (32 en mi caso) y estos canales son como un timer independiente, cada canal le puedes poner su propia funcion y hacer que se ejecute en el microcode del etpu, es como si dijeramos que tenemos una interrupcion para cada canal pero este codigo se ejecuta en el modulo del etpu.
-El etpu tambien contiene RAM para las variables, estas variables son accesibles por la CPU simplemente con un puntero a la memoria absoluta, sin embargo el etpu solo puede ver su propia ram, no puede salir fuera de la direccion de la etpu
-Tiene 2 sources, es decir 2 contadores, puedes seleccionar el que quieras para cada canal, tambien es posible elegir un contador externo el cual se incrementa con los edges elegidos en la señal (mas conocido como angle mode).
Ahora hablemos del eQADC (ADC), no he indagado mucho, simplemente he obtenido una lectura y ya esta, pero por lo que he leido funciona de la siguiente forma:
-Inicias el modulo
-Este modulo funciona mediante el envio de comandos, es como si fuese un modulo al cual se le envian comandos y este los procesa y te manda una respuesta (en caso de ser necesario).
-Para hacer una conversion lo que tenemos que hacer es enviarle el comando de conversion y el modulo te responde con la conversion actual, a pesar de que parezca simple el tema es que tiene muchos sistemas FIFO, por ejemplo tenemos 2 FIFO, por estos 2 enviamos comandos por ejemplo al fifo1 le enviamos que nos mande la conversion AN5 y AN8 y al fifo2 la conversion AN8 y AN10, el sistema procesa el fifo y te responde a otro buffer fifo con las conversiones.
Es un sistema muy curioso, sin contar que tiene muchisimo mas de lo que he contado aqui, pero es lo poco que me he enterado.
Tambien he conseguido hacer andar el programador multilink ya que anteriormente usaba el BDM que trae la placa integrado.