Shorten KW45 Boot time

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Shorten KW45 Boot time

1,191 Views
David0406
Contributor II

I am developing on KW45 MCU. I found duration between the start of NVIC_SystemReset() and the entry of ResetISR() is about 140ms. The time is measured by alternating the level of KW45's GPIO pin.

Kindly ask for the way to analyze the boot time and the reason for the time it takes. Thanks.

 

0 Kudos
Reply
7 Replies

1,143 Views
luis_maravilla
NXP Employee
NXP Employee

Hello

Could you help us confirm if you are using an KW45B41Z-EVK or a custom KW45 Board?

In KW45 Reference Manual Figure 23 image shows a Top-level boot flow, this could help you interpretate the sequence as the reason for why it takes that mentioned time.

Also, in Table 57 and Table 58 Boot Configuration describes the boot speed to configure the power and clock available: using Normal boot with clock [32 MHz] or Fast Boot with clock [96 MHz]

 

Best Regards

Luis

0 Kudos
Reply

1,127 Views
David0406
Contributor II

Hi Luis,

Thanks for your reply and guidance.

I am using a custom KW45 Board and still figuring out why 141ms is needed to reset the custom board. 

I've tried the same following action on an KW45B41Z-EVK :

  1. Set the output level of PIN PTD1 LOW
  2. Call __NVIC_SystemReset()
  3. Set the output level of PIN PTD1 HIGH at the start of ResetISR()

It takes about only 17ms.

David0406_0-1765273498129.png

 

Best Regards

David

 

 

0 Kudos
Reply

1,089 Views
luis_maravilla
NXP Employee
NXP Employee

Hello,

Could you help us confirm if you are testing the same example on both boards? Could you test it with an example from the SDK and indicate us which example was and from which SDK please?

Since you are using a custom KW45 Board, Could you help us confirm if your design follows NXP’s recommended guidelines, I would recommend checking the post The best way to build a PCB first time right with KW45 (Automotive) or K32W1/MCXW71 (IoT/Industrial), this post includes the overall characteristics that a KW45 custom board must have, including the recommendations in KW45 Hardware Design Recommendations Public, as changes to these components or other recommended materials could possibly impact boot time.

Could you help us provide details about the clocks used in the Custom board?

Best Regards, Luis

0 Kudos
Reply

1,030 Views
David0406
Contributor II

Hi Luis,

Thanks a lot for your reply and further assistance.

I've run the same code on both boards, which does the following action :

Set the output level of a GPIO pin low right before calling __NVIC_SystemReset() and set the pin high at the start of ResetISR().

The result is still same :

EVK takes about 17ms and custom board 140ms.

We will stay at firmware layer temporarily and try to find out the reason for the difference on boot time because dual image boot is enabled on custom board beside the hardware difference. The information was not provided earlier due to concerns that it might complicate the issue.

Thank you for providing detailed guidelines to check the circuit design of the custom board, which gives us additional direction for identifying the root cause.

Best Regards,

David

 

0 Kudos
Reply

909 Views
luis_maravilla
NXP Employee
NXP Employee

Hello,

Thank you for sharing the information.

According to KW45 Reference Manual; using the Dual image boot produces to try boot from secondary image, this would impact in the time difference reflected in the custom board, this information is represented in Figure 25 Flow diagram.

For more information about the Dual Image Boot please refer to Chapter 15.2.3.1

Best Regards, Luis

0 Kudos
Reply

755 Views
David0406
Contributor II

Hi Luis,

Thank you for the informative reply.

We are still studying further and looking for a way to trace the boot process. 

 

May I kindly ask if you have any statistics on boot time for KW45 with dual image enabled?

 

Best Regards,
David 

0 Kudos
Reply

733 Views
luis_maravilla
NXP Employee
NXP Employee

Hello,

We don’t have statistics on boot time for KW45;

We have the instructions in the reference manual for using a case example with placed address in chapter 15.2.3.1 if you needed.

Best Regards, Luis

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2257113%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EShorten%20KW45%20Boot%20time%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2257113%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI%20am%20developing%20on%20KW45%20MCU.%20I%20found%20duration%20between%20the%20start%20of%20NVIC_SystemReset()%20and%20the%20entry%20of%20ResetISR()%20is%20about%20140ms.%20The%20time%20is%20measured%20by%20alternating%20the%20level%20of%20KW45's%20GPIO%20pin.%3CBR%20%2F%3E%3CBR%20%2F%3EKindly%20ask%20for%20the%20way%20to%20analyze%20the%20boot%20time%20and%20the%20reason%20for%20the%20time%20it%20takes.%20Thanks.%3C%2FP%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2257394%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Shorten%20KW45%20Boot%20time%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2257394%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%3C%2FP%3E%0A%3CP%3ECould%20you%20help%20us%20confirm%20if%20you%20are%20using%20an%20KW45B41Z-EVK%20or%20a%20custom%20KW45%20Board%3F%3C%2FP%3E%0A%3CP%3EIn%20%3CA%20id%3D%22menur2bv%22%20title%3D%22https%3A%2F%2Fwww.nxp.com%2Fwebapp%2Fdownload%3Fcolcode%3Dkw45rm%22%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fwebapp%2FDownload%3FcolCode%3DKW45RM%22%20target%3D%22_blank%22%20rel%3D%22noreferrer%20noopener%20nofollow%22%20aria-label%3D%22Link%20KW45%20Reference%20Manual%22%3EKW45%20Reference%20Manual%3C%2FA%3E%20Figure%2023%20image%20shows%20a%20Top-level%20boot%20flow%2C%20this%20could%20help%20you%20interpretate%20the%20sequence%20as%20the%20reason%20for%20why%20it%20takes%20that%20mentioned%20time.%3C%2FP%3E%0A%3CP%3EAlso%2C%20in%20Table%2057%20and%20Table%2058%20Boot%20Configuration%20describes%20the%20boot%20speed%20to%20configure%20the%20power%20and%20clock%20available%3A%20using%20Normal%20boot%20with%20clock%20%5B32%20MHz%5D%20or%20Fast%20Boot%20with%20clock%20%5B96%20MHz%5D%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EBest%20Regards%3C%2FP%3E%0A%3CP%3ELuis%3C%2FP%3E%0A%3CP%3E%3CLI-WRAPPER%3E%3C%2FLI-WRAPPER%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2257919%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Shorten%20KW45%20Boot%20time%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2257919%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CSPAN%3ELuis%2C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EThanks%20for%20your%20reply%20and%20guidance.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EI%20am%20using%26nbsp%3B%3CSPAN%3Ea%20custom%20KW45%20Board%20and%20still%20figuring%20out%20why%20141ms%20is%20needed%20to%20reset%20the%20custom%20board.%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EI've%20tried%20the%20same%20following%20action%20on%20an%20KW45B41Z-EVK%20%3A%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3COL%3E%3CLI%3E%3CSPAN%3ESet%20the%20output%20level%20of%20PIN%20PTD1%20LOW%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%3ECall%20__NVIC_SystemReset()%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%3ESet%20the%26nbsp%3Boutput%20level%20of%20PIN%20PTD1%20HIGH%20at%20the%20start%20of%20ResetISR()%3C%2FSPAN%3E%3C%2FLI%3E%3C%2FOL%3E%3CP%3E%3CSPAN%3EIt%20takes%20about%20only%2017ms.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22David0406_0-1765273498129.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22David0406_0-1765273498129.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22David0406_0-1765273498129.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22David0406_0-1765273498129.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22David0406_0-1765273498129.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22David0406_0-1765273498129.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22David0406_0-1765273498129.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F369116i7A89154D03E879DA%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22David0406_0-1765273498129.png%22%20alt%3D%22David0406_0-1765273498129.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EBest%20Regards%3C%2FP%3E%3CP%3EDavid%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2259416%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Shorten%20KW45%20Boot%20time%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2259416%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%2C%3C%2FP%3E%0A%3CP%3ECould%20you%20help%20us%20confirm%20if%20you%20are%20testing%20the%20same%20example%20on%20both%20boards%3F%20Could%20you%20test%20it%20with%20an%20example%20from%20the%20SDK%20and%20indicate%20us%20which%20example%20was%20and%20from%20which%20SDK%20please%3F%3C%2FP%3E%0A%3CP%3ESince%20you%20are%20using%20a%20custom%20KW45%20Board%2C%20Could%20you%20help%20us%20confirm%20if%20your%20design%20follows%20NXP%E2%80%99s%20recommended%20guidelines%2C%20I%20would%20recommend%20checking%20the%20post%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FWireless-MCU%2FThe-best-way-to-build-a-PCB-first-time-right-with-KW45%2Fm-p%2F1592481%2Femcs_t%2FS2h8ZW1haWx8Ym9hcmRfc3Vic2NyaXB0aW9ufE1ETjZNTzY1SjBEOVFVfDE1OTI0ODF8U1VCU0NSSVBUSU9OU3xoSw%23M14455%22%20target%3D%22_blank%22%3EThe%20best%20way%20to%20build%20a%20PCB%20first%20time%20right%20with%20KW45%20(Automotive)%20or%20K32W1%2FMCXW71%20(IoT%2FIndustrial)%3C%2FA%3E%2C%20this%20post%20includes%20the%20overall%20characteristics%20that%20a%20KW45%20custom%20board%20must%20have%2C%20including%20the%20recommendations%20in%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FWireless-MCU%2FThe-best-way-to-build-a-PCB-first-time-right-with-KW45%2Fm-p%2F1592481%2Fthread-id%2F14455%2Femcs_t%2FS2h8ZW1haWx8Ym9hcmRfc3Vic2NyaXB0aW9ufE1ETjZNTzY1SjBEOVFVfDE1OTI0ODF8U1VCU0NSSVBUSU9OU3xoSw%3Fattachment-id%3D165531%22%20target%3D%22_blank%22%3EKW45%20Hardware%20Design%20Recommendations%20Public%3C%2FA%3E%2C%20as%20changes%20to%20these%20components%20or%20other%20recommended%20materials%20could%20possibly%20impact%20boot%20time.%3C%2FP%3E%0A%3CP%3ECould%20you%20help%20us%20provide%20details%20about%20the%20clocks%20used%20in%20the%20Custom%20board%3F%3C%2FP%3E%0A%3CP%3EBest%20Regards%2C%20Luis%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2260925%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Shorten%20KW45%20Boot%20time%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2260925%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Luis%2C%3C%2FP%3E%3CP%3EThanks%20a%20lot%20for%20your%20reply%20and%20further%20assistance.%3C%2FP%3E%3CP%3EI've%20run%20the%20same%20code%20on%20both%20boards%2C%20which%20does%20the%20following%20action%20%3A%3C%2FP%3E%3CP%3E%3CEM%3ESet%20the%20output%20level%20of%20a%20GPIO%20pin%20low%20right%20before%20calling%26nbsp%3B__NVIC_SystemReset()%20and%20set%20the%20pin%20high%20at%20the%20start%20of%26nbsp%3BResetISR().%3C%2FEM%3E%3C%2FP%3E%3CP%3EThe%20result%20is%20still%20same%20%3A%3C%2FP%3E%3CP%3E%3CEM%3EEVK%20takes%20about%2017ms%20and%20custom%20board%20140ms.%3C%2FEM%3E%3C%2FP%3E%3CP%3EWe%20will%20stay%20at%20firmware%20layer%20temporarily%20and%20try%20to%20find%20out%20the%20reason%20for%20the%20difference%20on%20boot%20time%20because%20dual%20image%20boot%20is%20enabled%20on%20custom%20board%20beside%20the%20hardware%20difference.%20The%20information%20was%20not%20provided%20earlier%20due%20to%20concerns%20that%20it%20might%20complicate%20the%20issue.%3C%2FP%3E%3CP%3EThank%20you%20for%20providing%20detailed%20guidelines%20to%20check%20the%20circuit%20design%20of%20the%20custom%20board%2C%20which%20gives%20us%26nbsp%3Badditional%20direction%20for%20identifying%20the%20root%20cause.%3C%2FP%3E%3CP%3EBest%20Regards%2C%3C%2FP%3E%3CP%3EDavid%3C%2FP%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2263077%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Shorten%20KW45%20Boot%20time%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2263077%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%2C%3C%2FP%3E%0A%3CP%3EThank%20you%20for%20sharing%20the%20information.%3C%2FP%3E%0A%3CP%3EAccording%20to%20%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fwebapp%2FDownload%3FcolCode%3DKW45RM%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3EKW45%20Reference%20Manual%3C%2FA%3E%3B%20using%20the%20Dual%20image%20boot%20produces%20to%20try%20boot%20from%20secondary%20image%2C%20this%20would%20impact%20in%20the%20time%20difference%20reflected%20in%20the%20custom%20board%2C%20this%20information%20is%20represented%20in%20Figure%2025%20Flow%20diagram.%3C%2FP%3E%0A%3CP%3EFor%20more%20information%20about%20the%20Dual%20Image%20Boot%20please%20refer%20to%20Chapter%2015.2.3.1%3C%2FP%3E%0A%3CP%3EBest%20Regards%2C%20Luis%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2264587%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Shorten%20KW45%20Boot%20time%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2264587%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Luis%2C%3C%2FP%3E%3CP%3EThank%20you%20for%20the%20informative%20reply.%3C%2FP%3E%3CP%3EWe%20are%20still%20studying%20further%20and%20looking%20for%20a%20way%20to%20trace%20the%20boot%20process.%26nbsp%3B%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EMay%20I%20kindly%20ask%20if%20you%20have%20any%20statistics%20on%20boot%20time%20for%20KW45%20with%20dual%20image%20enabled%3F%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EBest%20Regards%2C%3CBR%20%2F%3EDavid%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2265211%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Shorten%20KW45%20Boot%20time%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2265211%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%2C%3C%2FP%3E%0A%3CP%3EWe%20don%E2%80%99t%20have%20statistics%20on%20boot%20time%20for%20KW45%3B%3C%2FP%3E%0A%3CP%3EWe%20have%20the%20instructions%20in%20the%20reference%20manual%20for%20using%20a%20case%20example%20with%20placed%20address%20in%20chapter%2015.2.3.1%20if%20you%20needed.%3C%2FP%3E%0A%3CP%3EBest%20Regards%2C%20Luis%3C%2FP%3E%3C%2FLINGO-BODY%3E