Do the execution sequence of firmware will differ if boot mode changes

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

cross mob
ViKu_2048416
Level 4
Level 4
50 sign-ins 25 replies posted 25 sign-ins

Hi,

I faced a strange behavior in the execution of the firmware sequence, I have used RAM mode booting to load the firmware while developing and testing. In the firmware, I have created a thread in which CX3 will communicate GPS through I2C. The I2C block of CX3 is initialized at ApplnInit API. 

In this case, if I load the firmware directly to the RAM then everything works fine. If I write the same firmware into SPI flash and then change the boot mode to SPI then I2C between CX3 and GPS fails initially. After debugging I found that the thread in which CX3 communicates with GPS through I2C was executed before ApplnInit - I2C init part. After I fixed that issue by adding some delay in the starting of the thread.

But I need clarification on how the execution sequence differs if boot mode changes between RAM and SPI. Please clarify this.

Beat Regards,

Vignesh Kumar R.

 

 

 

 

 

0 Likes
1 Solution
AliAsgar
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 750 replies posted

Hi Vignesh,

There is no difference in the execution sequence for different boot modes.

Best Regards,
AliAsgar

View solution in original post

0 Likes
4 Replies
AliAsgar
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 750 replies posted

Hello Vignesh,

1. Could you share with us the firmware being used? or Could you let us know how to reproduce the same issue at our end?

2. How many times has this SPI boot been tried and how many times has it failed?

Best Regards,
AliAsgar.

0 Likes
AliAsgar
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 750 replies posted

Hi Vignesh,

There is no difference in the execution sequence for different boot modes.

Best Regards,
AliAsgar

0 Likes

Hi Ali,

Thanks for your response, but I confirmed that booting from SPI always has different behavior when compared to RAM boot. I tried more than 10 times. 
Sharing the firmware is out of my control, from your side you can create 2 or more threads and put prints in every thread then check whether the execution sequence of threads is always same when booting from RAM and SPI.

Note: I have used SDK 1.3.3 version.

Regards,

Vignesh Kumar R.

 

 

0 Likes

Hi Vignesh,

1. Could you try using the SDK 1.3.4 version?

2. Could you let us know if the same issue occurs for I2C boot as well, by writing the firmware to EEPROM?

Best Regards,
AliAsgar

0 Likes