Right procedure to boot application from QuadSPI External Flash

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

Right procedure to boot application from QuadSPI External Flash

351 Views
Vladimir_Zitoli
Contributor I

Dear all,

 

I am writing you as I am encountering problems in developing an application firmware which makes the microcontroller able to boot an application code from an external qspi flash memory. Particoularly, I am trying to replicate the following examples on my custom MK81 proto-board:

1. frdmk82f_led_demo_qspi

2. frdmk82f_led_demo_qspi_alias

3. frdmk82f_hello_world_qspi

4. frdmk82f_hello_world_qspi_alias

Moreover, I followed the procedure listed in the following document: MCU Bootloader QuadSPI User's Guide

Nevertheless, I was not able to reach my goal.

Telling the truth, it is very tricky to understand which is the right procedure to follow for my purpose: as a matter of fact, the readme files and the pdf document linked above suggest different procedures. Could you, please, share me the latest, official procedure (for MCUXpresso if possible) I have to follow to boot a simple application (e.g. led blinky) from the external qspi flash?

Hope it is clear, looking forward to hearing from you soon.

Kind regards,

 

Vladimir Zitoli

 

0 Kudos
Reply
5 Replies

321 Views
Habib_MS
NXP Employee
NXP Employee

Hi @Vladimir_Zitoli,

I recommend referring to the Kinetis Bootloader QuadSPI User's Guide, which utilizes the FRDM-KL82 Freedom Development Platform. 

You can access it directly from the following page:

Habib_MS_0-1755901630589.png

BR
Habib

 

0 Kudos
Reply

294 Views
Vladimir_Zitoli
Contributor I

Dear Habib,

Thank you for your reply.

Unfortunately, I’ve encountered some difficulties in following the procedure described in the document.

Firstly, I’m unsure which paragraph is most appropriate for my goal. The document outlines two different approaches—one using the address 0x68000000 and another using 0x04000000—along with additional tips such as:

Paragraph 7: Change QuadSPI clock in QuadSPI image
Appendix B: Re-enter Kinetis bootloader under direct boot mode
It’s unclear whether these steps are mandatory or optional for my use case.

Given this, I decided to proceed with Paragraph 8 (Address the application from QSPI Alias Area) and used the led_demo_qspi_alias_a000 example as a starting point. However, I noticed that the linker file included in the example differs from the one suggested in the document.

Additionally, when I attempted to add some custom code—specifically using the LPUART3 peripheral to send a "Hello World" message—I encountered the following error during compilation:

undefined reference to '_pvHeapStart' in frdmk82f_led_demo_qspi_alias_a000


Could you please clarify what might be causing this issue and advise on how I should proceed to complete the setup correctly?

Thank you in advance for your support.

Best regards,
Vladimir Zitoli

0 Kudos
Reply

245 Views
Habib_MS
NXP Employee
NXP Employee

Hello @Vladimir_Zitoli, Sorry for the late reply.
I understand that you are using the led_demo_qspi_alias_a000 example as your starting point, and based on that, you are adding custom code to use UART3.
The example already includes the necessary configurations to generate an image linked to the QSPI flash of the FRDM board. At this point, nothing in the linker file should need to be modified.
So, keeping in mind that you are currently using a custom board, to better support you, could you let me know which external FLASH you are currently using? Is it the same as the one on the FRDM?
BR
Habib

0 Kudos
Reply

235 Views
Vladimir_Zitoli
Contributor I

Dear Habib,

 

Thank you for your reply and assistance.

I am using the following qspi flash part number: MT25QL128ABA8E12. You'll find the datasheet attached. 

Looking forward to hearing from you soon.

Kind regards,

0 Kudos
Reply

206 Views
Habib_MS
NXP Employee
NXP Employee

Hello @Vladimir_Zitoli,

The reason why the image in the examples cannot be uploaded to your flash is because you are currently using a different flash memory. With this in mind, the issue may lie in how the flash is configured, specifically in the QCB, which varies depending on the device. I highly recommend reviewing Chapter 3.3.2 of the Kinetis Bootloader QuadSPI User's Guide, where you can find an example of a QCB configuration.

You can use the example led_demo_qspi_alias_a000 as a reference, making sure to modify the headers and the QCB accordingly, since this example already includes the necessary changes to the linker file and the bootloader.


BR
Habib

0 Kudos
Reply