Startup Time measurement using STM Free running counter

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
LukeJokkim
Level 1
Level 1
First like received 5 sign-ins First question asked

We are using the Aurix TC397xx micro where we want to measure the startup time of the software. As most projects we have a user booloader that is initialised first(which does a mcu init with a lower clock frequency) and then the application is started up.  In the application, we have the autosar MCU init where the clock are initialised for application(higher clock freq). Now i want to measure the startup time of the ecu where the 1st reference point is right after the boot entry and the 2nd reference point would be in application post transmission of a CAN frame. I would like to know if there are any free running counters in the aurix, that is not affected/dependant by/on the user bootloader/application. It shouldn't be affected by the change in the system/peripheral Pll's. 

0 Likes
1 Solution
Prudhvi_E
Moderator
Moderator
Moderator
250 replies posted 100 solutions authored 25 likes received

Hello,

When system is in the startup the default STM frequency is as mentioned in the section "3.1.1.2 Clock system during start-up" in the TC3xx_Part1_UM. You can calculate the time until you re-configure the clock in the Bootloader. That'll give you in terms of STM ticks which needs to be converted to ms/us. That'd be T1.

Then from that point when the Bootloader re-initializes the STM until the Mcu Init in the Application would be T2. This T2 is again the time converted into ms/us from the Ticks calculated from STM ticks based on the re-configured frequency.  This method of course has some calculations involved and it is approximate though not accurate because the time during the re-configuring the registers is not accounted.

As already proposed in other message, you may also use the Port pin to toggle at different points and measure the timing using CRO.

You can choose the method based on your requirement and if it's okay to have some difference in timing when using method-1.

Regards,

Prudhvi. 

View solution in original post

0 Likes
2 Replies
DownyK
Level 5
Level 5
100 replies posted 10 solutions authored 250 sign-ins

Hi LukeJokkim 

I think you measure the startup time using the oscilloscope is better than using internal STM.

in my case, I set a DIO port for the check start point. 

as I know, the time of DIO control is very fast, it is not affecting startup time.

and you can measure from the DIO high point to the time CAN first Frame .

0 Likes
Prudhvi_E
Moderator
Moderator
Moderator
250 replies posted 100 solutions authored 25 likes received

Hello,

When system is in the startup the default STM frequency is as mentioned in the section "3.1.1.2 Clock system during start-up" in the TC3xx_Part1_UM. You can calculate the time until you re-configure the clock in the Bootloader. That'll give you in terms of STM ticks which needs to be converted to ms/us. That'd be T1.

Then from that point when the Bootloader re-initializes the STM until the Mcu Init in the Application would be T2. This T2 is again the time converted into ms/us from the Ticks calculated from STM ticks based on the re-configured frequency.  This method of course has some calculations involved and it is approximate though not accurate because the time during the re-configuring the registers is not accounted.

As already proposed in other message, you may also use the Port pin to toggle at different points and measure the timing using CRO.

You can choose the method based on your requirement and if it's okay to have some difference in timing when using method-1.

Regards,

Prudhvi. 

0 Likes