ARTX166 and Infineon XE167 not working

Is there anyone with experience with the ARTX166 RTOS and the
Infineon XE167. I have problems to get the RTOS working which is caused
by the interrupts of the used timers. The interrupt never com and all
RTOS functions with a delay hangs. Although the webpage of Keil
tells the RTOS is compatible , the RTOS is not for the XE167.
I had made a report of this bug to Keil but they never answer me when
a update of the RTOS comes. They have commit that there is problem
with the XE167 and the use of ARTX166 but still there is no solution.
Maybe there is ARTX user who have a work around for this and
can give me some information how to get the RTOS running.

Parents
  • I have no experience with XE167 or ARTX166, but I could guess that the problem is the difference in XC167 vs. XE167 timers and interrupt vectors.

    Let's suppose that you let ARTX use the default timer T0. There is no such timer in XE167 (at least I didn't find it after a quick look at the User Manual). Naturally this leads to no timer interrupt. You could try this workaround: Configure ARTX to use timer T0, which puts the ARTX timer tick interrupt vector at location xx0080H. In XE167 this location contains timer T2 interrupt vector. After starting up ARTX, initialize timer T2 to interrupt at the desired ARTX tick rate.

    Even if you manage to get the ARTX tick running this way, you may still run into trouble if ARTX for any reason needs to manipulate the timer after the initial setup.

Reply
  • I have no experience with XE167 or ARTX166, but I could guess that the problem is the difference in XC167 vs. XE167 timers and interrupt vectors.

    Let's suppose that you let ARTX use the default timer T0. There is no such timer in XE167 (at least I didn't find it after a quick look at the User Manual). Naturally this leads to no timer interrupt. You could try this workaround: Configure ARTX to use timer T0, which puts the ARTX timer tick interrupt vector at location xx0080H. In XE167 this location contains timer T2 interrupt vector. After starting up ARTX, initialize timer T2 to interrupt at the desired ARTX tick rate.

    Even if you manage to get the ARTX tick running this way, you may still run into trouble if ARTX for any reason needs to manipulate the timer after the initial setup.

Children
More questions in this forum