KL16 : Boot sequence for External pin Reset

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

KL16 : Boot sequence for External pin Reset

Jump to solution
903 Views
koichisakagami
Contributor II

Dear community,


We are developing the custom board with MKL16Z64VLH4 device.

[Question]

        When we forced the reset_b signal lelvel High -> Low ( assert the external pin reset),
        What kind of sequence does KL16 boot up by?
        Is it same POR boot sequence ?

POR boot sequence is as follows.
    (the source is Reference Manual KL16P80M48SF4RM )

1. A system reset is held on internal logic, the RESET pin is driven out low, and the
    MCGis enabled in its default clocking mode.


2. Required clocks are enabled (system clock, flash clock, and any bus clocks that do
    not have clock gate control reset to disabled).


3. The system reset on internal logic continues to be held, but the Flash Controller is
    released from reset and begins initialization operation while the Reset Control logic
    continues to drive the RESET pin out low.


4. Early in reset sequencing, the NVM option byte is read and stored to the FOPT
    register of the Flash Memory module (FTFA_FOPT).


5. When flash Initialization completes, the RESET pin is released. If RESET continues
   to be asserted  the system continues to be held in reset. Once the RESET pin is detected
   high, the core clock is enabled and the system is released from reset.


6. When the system exits reset, the processor sets up the stack, program counter (PC),
    and link register (LR). The processor reads the start SP (SP_main) from vector-table offset 0.

Best Regards,
        Koichi Sakagami

Labels (1)
0 Kudos
1 Solution
485 Views
Carlos_Musich
NXP Employee
NXP Employee

Hi Koichi,

The very first thing that the MCU does after reset is set the Program Counter to value 0. Here it will finf the vector table and will point to vector 0 (reset vector). To do this the Flash memory needs to be ready to work in the previous step.

Regards,

Carlos

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
4 Replies
485 Views
Stano
NXP Employee
NXP Employee

Hello Koichi,

as you can read at the end of this section - "Subsequent system resets follow this same reset flow."

Best Regards,

Stano.

0 Kudos
485 Views
koichisakagami
Contributor II

Dear Stano san,

Thank you for your reply.


I understand that  the external pin reset boot is same as POR boot sequence.
Then let me confirm my understanding.

We forced the reset_b signal lelvel High -> Low -> High . The low pulse width is about 200 ns ( more than min specifications value ).
Then a system reset is held on internal logic, the RESET pin is driven out low.

The reset_b signal remains Low level until the flash Initialization completes.

     Best Regards,
     Koichi Sakagami

0 Kudos
486 Views
Carlos_Musich
NXP Employee
NXP Employee

Hi Koichi,

The very first thing that the MCU does after reset is set the Program Counter to value 0. Here it will finf the vector table and will point to vector 0 (reset vector). To do this the Flash memory needs to be ready to work in the previous step.

Regards,

Carlos

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos
485 Views
koichisakagami
Contributor II

Dear Carlos san,

Thank you for your answer.

I got it.

Best Regards,

Koichi Sakagami

0 Kudos