Other Parts Discussed in Thread: SYSBIOS, AMIC110
Tool/software: TI-RTOS
I'm trying to add timers in the Ethernet/IP app v01.00.03.04 and I'm facing some difficulties.
For the older EIP app I found the documentation about the used timers: http://processors.wiki.ti.com/index.php/ICSS_EIP_Adapter_Developer_Guide
It seems Timer4 and 5 were used.
For APP v01.00.03.04 the only info I know is from:
NOTE 7
The AM335x and AMIC11x application uses DMTimer4 as the clock source for the SYSBIOS Ticks (Refer to cfg file for details). The DMTimer module should be enabled for the application to load properly with the change. This needs to be done in the GEL file. Make the following changes in GEL File to enable DMTimer4
Add the line inside hotmenu AM3359_ICE_Initialization()
WR_MEM_32(CM_PER_TIMER4_CLKCTRL, PRCM_MODULEMODE_ENABLE);
Add the defines in the GEL File
#define CM_PER_TIMER4_CLKCTRL (PRCM_BASE_ADDR + 0x88)
#define PRCM_MODULEMODE_ENABLE (2U)
So SYSBIOS uses Timer4.
I've found that the EIP app starts the Timer5 (configuring its CM_PER register and clock source) but I can't find where it is used.
But when trying to use timer5 (with Timer_create() function) it crashes (don't know why). Maybe someone uses it actually?
I've also found that several clocks are created in the app, and I believe those clocks end up in timers, but I don't know how to check that (I tried looking in ROV but I didn't found what timer was used for each created clock).
If I'm not wrong, this SoC has timers from 2 to 7 with IDs from 0 to 5 (Timer5 has ID 3).
With Timers 6 and 7, for example, I can create a timer object (with Timer_create() function, enabling its CM_PER before) and everything works fine.
I tried also to move SYSBIOS timer from Timer4 to Timer2 (changing Clock.timerID = 0; in the .cfg) and everything seems to work fine, there is some requirement then for being in Timer4?
Could you give me some advice? I would like to know what timers are used and if they can be (easily) moved or not.
Many thanks!
Best regards,
Jordi